I was looking for some comprehensive books on the same and came across the following (in increasing order of complexity, I list)-
- http://www.amazon.com/Unix-Programming-Environment-Prentice-Hall-Software/dp/013937681X (introductory text)
- http://www.amazon.com/Design-Operating-System-Prentice-Hall-Software/dp/0132017997/ref=pd_sim_b_2
- also Understanding the Linux Kernel by Daniel P. Bovet and Marco Cesati is a super cool reference.
- [update] and thanks to SEJeff's suggestion, Robert Love's Linux Kernal Development is a must mention and a great deal I was about to miss!
All these go well with a bit of the classic Unix source archive or Linux kernal source or both to compare (which is what it makes more fun and makes you feel out of the classroom ;) and you'll be good without these too in case you lack time or energy..