These books are the building blocks of becoming a true OS developer .....
Basics:
- The C Programming Language
- Structure and Interpretation of Computer Programs - H Abelson, G J Sussman,
- The Unix Programming Environment
- Introduction to Algorithms
- The C++ Programming Language
Unix/Linux:
- Advanced Programming in Unix Environment -By W Richard Stevens
- Unix Network Programming Vol 1 (and Vol 2) -By W Richard Stevens
- Design and Implementation of FreeBSD Operating system -By M K McKusick
- Unix Internals - The new frontiers - Uresh Vahalia
- Design of the Unix Operating System -By Maurice J. Bach
- Linux Device Driver - 3rd Ed
- Linux kernel developement - Robert Love
- IA64 Linux
- Linux TCP/IP stack
- Solaris Internals - McDougall & Mauro
- Unix System for Modern Architecture - Curt Schimmel
Windows:
- Windows NT File System Internals - Rajeev Nagar
- Programming The Microsoft Windows Driver Model - Second Ed -
Other books that you should have :
- Computer Networks - By Andrew S Tanenbaum
- Modern Operating Systems- By Andrew S Tanenbaum
- Database System Concepts by - A Silberschatz,Henry F. Korth, S. Sudarshan
- Java Concurrency in Practice - Brian Goetz
- Concurrent Programming in Java : Design Principles and Patterns
- The Algorithm design manual - Steven S. Skiena
- Concrete Mathematics - By Donald E Knuth and others
- The Art of Computer Programming - By Donald E Knuth
Some links :
- http://jungla.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html