Bibliography
Most of the information in this book has been extracted from the
kernel sources, which are the best documentation about the Linux
kernel.
Kernel sources can be retrieved from hundreds of
FTP sites around the world, so we won't list them
here.
Version dependencies are best checked by looking at the patches, which
are available from the same places where you get the whole source. The
program called repatch might help you in
checking how a single file has been modified throughout the different
kernel patches; it is available in the source files provided on the
O'Reilly FTP site.
On sunsite.unc.edu and all its mirrors you can
also find several device drivers, which can surely help in writing
your own.
Linux Kernel Books
Linux Internals
Moshe Bar
0072125985
2000
McGraw-Hill
This terse book by Byte columnist Moshe Bar
covers much of how the Linux kernel works, and includes a number of
2.4 features.
Understanding the Linux Kernel
Daniel P. Bovet
Marco Cesati
0-596-00002-2
2000
O'Reilly & Associates
This book covers the design and implementation of the Linux kernel in
great detail. It is more oriented toward providing an understanding
of the algorithms used than documenting the kernel API.
Linux Core Kernel Commentary
Scott Maxwell
1-57610-469-9
1999
Coriolis
The Linux Core Kernel Commentary is mostly a
large listing of the core kernel code, with 150 pages of commentary at
the end. It can be useful for trying to figure out what is happening
in a particular part of the kernel.
Kernel Projects for Linux
Gary J. Nutt
0201612437
2000
Addison-Wesley
Kernel Projects for Linux was written to be used
in college-level classrooms; as such, it is not a full introduction to
the Linux kernel in its own right. For those looking to play with the
kernel, though, this book can be a good aid.
Unix Design and Internals
The Design of the Unix Operating System
Maurice Bach
1987
Prentice Hall
This book, though quite old, covers all the issues related to Unix
implementations. It was the main source of inspiration for Linus in the
first Linux versions.
Advanced Programming in the UNIX Environment
Richard Stevens
0-201-56317-7
1992
Addison-Wesley
Every detail of Unix system calls is described herein, which is a good
companion when implementing advanced features in the device methods.
Unix Network Programming
Richard Stevens
0-13-949876-1
1990
P T R Prentice-Hall
Perhaps the definitive book on the Unix network programming API.
Back to: Table of Contents