Bach, Maurice J.; Prentice-Hall; ISBN 0-13-201799-7; 470pp.; $60 (USA).
The book that got Linus started.
Tanenbaum, Andrew S.; Prentice-Hall; 1987.
Alan Cox (one of the core kernel people) likes this book. Tanenbaum designed Minix, which is the system Linus bootstrapped Linux up from.
Rémy Card, Èric Dumas, Franck Mével; John Wiley and Sons; 1998; ISBN 0-471-98141-9. $100 (AUS).
(Translated from the French language edition of "Programmation Linux 2.0"; same authors; 1997; Éditions Eyrolles; Paris, France.)
A very interesting and informative description of the operation of the kernel that fills in the gap between the POSIX interface and "The Design of the Unix Operating System" and the Linux source code. A good understanding of the design and operation of a Unix OS is a pre-requisite, but this book is an excellent help to going beyond that general understanding into actual work.
The primary author is one of the core developers for the ext2 filesystem, and the Linux Kernel book shows a firm grasp of the matter and clear explanations and structure. It's surprisingly readable for something working at such a low level. The book does seem to have suffered a little in the translation to English -- there are a few typos and grammatical mistakes, but it's quite readable. (The code example files are charmingly still named in French.)
Network protocol implementations are not covered.
The book's current to Linux 2.0.35 and foreshadows 2.1 and 2.2.
Johnson, Michael K.
Accessible on the Web at the Linux Documentation Project page, or directly at http://www.redhat.com:8080/HyperNews/get/khg.html.
Beck, Michael & Bohme, Harold & Mirko, Dziadzka & Kunitz, Ulrich &
Magnus, Robert & Verworner, Dick; Addison Wesley; 1998;
ISBN:0-201-33143-8; 480.
See
http://heg-school.awl.com/cseng/authors/beck.m/linux/linux.html.
A guide to Linux kernel programming; covers 2.0.
McKusick, Marshall Kirk, Bostic, Keith, Karels, Michael J., and
Quarterman, John S.; Addison-Wesley; 1996; ISBN 0-201-54979-4;
608pp.
See
http://heg-school.awl.com/cseng/authors/mckusick/4.4bsd/4.4bsd.html.
The successor to a classic book on the implementation of the 4.3 BSD kernel, which influenced Linux's design (especially near sockets and networking). This book covers the 4.4BSD base of BSD/OS, FreeBSD, and NetBSD.
Dr. Dobb's Journal; Jan 1991-July 1992.