You got already many excellent answers!
My suggestion :
Like others posts, you should first read The Design and Implementation of the FreeBSD Operating System (2004) by Dr McKusick, to get an overview and a good understanding of the various kernel subsystems.
After that, Advanced Programming in the UNIX Environment (2nd ed., 2005) by R. Stevens is an excellent and classic read. This second edition cover four Unix "implementations" :
+ FreeBSD 5.2.1
+ Linux 2.4.22 kernel
+ Solaris 9
+ Darwin 7.4.0 (FreeBSD/Mach hybrid underlying Apple's Mac OS X 10.3)
I really appreciate this reading since it gave me a solid understanding of the particularities of the "BSD" UNIX implementation.
Various books have compared the BSD kernel with Solaris kernel and other implementations (e.g., UNIX internals : The New Frontiers, Vahalia, 1995).
Good reading!!