Next Previous Contents

8. Books on Unix Kernel Implementation

8.1 Ancestors of Linux

The Design of the Unix Operating System

Bach, Maurice J.; Prentice-Hall; ISBN 0-13-201799-7; 470pp.; $60 (USA).

The book that got Linus started.

Operating Systems, Design and Implementation;

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.

8.2 Linux

The Linux Kernel book

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.

Linux Kernel Hackers' Guide

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.

LINUX Kernel Internals (Second Edition)

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.

8.3 Relatives of Linux

The Design and Implementation of the 4.4BSD Unix Operating System

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.

Porting Unix to the 386; Jolitz, William F., and Jolitz, Lynne G.

Dr. Dobb's Journal; Jan 1991-July 1992.


Next Previous Contents