![]()
The book is based on the 2.0 kernel series, and comes with a release of Slackware, 3.1, based on that kernel (sources up to 2.0.27).
Two short, useful chapters introduce the book. The first defines Linux, the operating system; the second is a succint guide to compiling the kernel: what the different makefile targets do, and what header-file constants can be altered.
With the long chapter 3 begins the main part of the book. This chapter presents an overview of what is to come. It describes all the main features of the internal structure of the kernel.
A further five chapters each treat of one main area on the kernel in detail. These are: Memory Management, Inter-process communication, The Linux file system, Device drivers under Linux, Network implementation. The device drivers chapter has an interesting worked example: a driver for the humble PC Speaker Driver. See my article on this for more information. I found Chapter 8 did a particularly good job of explaining a difficult subject.
There is a good, albeit too short, account of how modules interact with the kernel, followed by another short chapter on Linux SMP support.
There are five appendices. Appendix A has a complete list of system calls. It is educational to compare this with Tannenbaum's list of Minix system calls in <cite>Operating Systems: Design and Implementation</cite>, which is identical to those of Unix Version 7 — we've come a long way. Appendix B holds a useful account of kernel-related commands. After this come details of the proc file systm, and then, in appendix D, a First rate description of what actually happens during boot-up, including an excellent treatement of LILO. Finally, there is a look at some useful kernel functions.
In conclusion, Linux Kernel Internals is a valuable resource, both for those whose interest in Linux extends beyond user tasks, and for fledgling kernel hackers. It is best read in conjunction with an introductory text on OS design — Tannenbaum's <cite>Operating Systems: Design and Implementation</cite> is a good one that I can recommend.
Check my Amazon marketplace — I might have a copy of this book for sale.
1 Linux - the operating system
2 Compiling the kernel
3 Introduction to the kernel
4 Memory Management
5 Inter-process communication
6 The Linux file system
7 Device drivers under Linux
8 Network implementation
9 Modules and debugging
10 Multi-processing
A System calls
B Kernel-related commands
C The proc file sytem
D The boot process
E Useful kernel functions
Paul Dunne 2000
Copyright © 1995-2007
Paul Dunne,
Sponsored links (requires javascript):