These books are the building blocks of becoming a true OS developer .....

Basics:

  1. The C Programming Language
  2. Structure and Interpretation of Computer Programs - H Abelson, G J Sussman,
  3. The Unix Programming Environment
  4. Introduction to Algorithms
  5. The C++ Programming Language

Unix/Linux:

  1. Advanced Programming in Unix Environment -By W Richard Stevens
  2. Unix Network Programming Vol 1 (and Vol 2) -By W Richard Stevens
  3. Design and Implementation of FreeBSD Operating system -By M K McKusick
  4. Unix Internals - The new frontiers - Uresh Vahalia
  5. Design of the Unix Operating System -By Maurice J. Bach
  6. Linux Device Driver - 3rd Ed
  7. Linux kernel developement - Robert Love
  8. IA64 Linux
  9. Linux TCP/IP stack
  10. Solaris Internals - McDougall & Mauro
  11. Unix System for Modern Architecture - Curt Schimmel

Windows:

  1. Windows NT File System Internals - Rajeev Nagar
  2. Programming The Microsoft Windows Driver Model - Second Ed -

Other books that you should have :

  1. Computer Networks - By Andrew S Tanenbaum
  2. Modern Operating Systems- By Andrew S Tanenbaum
  3. Database System Concepts by - A Silberschatz,Henry F. Korth, S. Sudarshan
  4. Java Concurrency in Practice - Brian Goetz
  5. Concurrent Programming in Java : Design Principles and Patterns
  6. The Algorithm design manual - Steven S. Skiena
  7. Concrete Mathematics - By Donald E Knuth and others
  8. The Art of Computer Programming - By Donald E Knuth

Some links :

  1. http://jungla.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html