Understanding the Linux Kernel, 3rd Edition
![[UTLK cover]](https://web.archive.org/web/20240202221454im_/https://static.lwn.net/images/ns/kernel/utlk-cover.gif)
As one would expect, this version of UTLK covers the 2.6 kernel. Your editor would like to point out to kernel-oriented publishers, however, that simply saying "2.6" is not particularly informative. A wide variety of kernels have come out under the 2.6 name. Readers will want to know which 2.6 kernel is covered by a given book, and they would rather not have to dig for that information. As it turns out, the reader who gets far enough into the introduction will discover that UTLK 3 was written for the 2.6.11 kernel.
This version of the book, like its predecessor, is big on details, and is
very firmly tied to the i386 architecture. So, after a brief (and, in your
editor's opinion, not entirely necessary) introduction to how Unix-like
systems work, the book delves directly into i386 segmentation registers,
global descriptor tables, and related details. Many of the key control
paths in the kernel are described, step by step; often, the book includes
flow charts, like the example on the left (which describes the page fault
handling algorithm). The level of detail sometimes makes it hard to get a
sense for the big picture, but it does help somebody trying to
figure out how a particular function works.
Indeed, that is perhaps the key feature which differentiates this book. It is very much a "how it works" book, designed to help people understand the code. It is not, however, a "how to hack it" book like Linux Device Drivers or Linux Kernel Development. It presents kernel functions and data structures, steps the reader through them, but does not, for example, emphasize the rules for using them. UTLK is a study guide, not a programming manual.
But it is an effective and useful study guide. It covers a wide range of topics, including memory management, process management, scheduling, signals, the virtual filesystem, timing, the I/O layers, and more. Even with its weight, this book cannot cover everything, however; omitted topics include networking, security (security modules, key management, etc.), specific device drivers, sound, video, the kernel build system, and all of the other architectures supported by Linux. (For what it's worth, O'Reilly is said to have an "understanding the Linux network stack" book in the works now).
Certainly, there are things your editor would have done differently. There
are some minor technical glitches; for example, the book claims that
acquiring a semaphore always involves putting the acquiring process to
sleep first, which is very much not the case. The discussion of sleeping
starts with sleep_on(), and only later mentions that
sleep_on() is not a recommended interface. The discussion of some
interesting topics (direct I/O, for example) is overly short. But, as a
whole, the book is excellent, and the kernel function index at the end
helps to make it a useful reference. There is a space on your editor's "L1
bookshelf" (the one reachable without moving the chair) for UTLK 3.
Index entries for this article | |
---|---|
Kernel | Books |
(Log in to post comments)
Understanding the Linux Kernel, 3rd Edition
Posted Dec 1, 2005 6:19 UTC (Thu) by conehead (guest, #7552) [Link]
I was wondering what other Linux-related books people have on their L1bookshelf. The last time I had my hands in kernel guts was around
2.1.126, I'd like to start tinkering again and it would be useful to
have something that could get me up to speed with the current kernel.
Understanding the Linux Kernel, 3rd Edition
Posted Dec 1, 2005 12:59 UTC (Thu) by smitty_one_each (subscriber, #28989) [Link]
Robert Love's stuff is also good.
Understanding the Linux Kernel, 3rd Edition
Posted Dec 1, 2005 6:36 UTC (Thu) by nurhussein (guest, #16226) [Link]
My copy is in transit from Amazon.com. Oh the agony of waiting for international shipping ... during holiday season :(
Understanding the Linux Kernel, 3rd Edition
Posted Dec 1, 2005 22:13 UTC (Thu) by fwenzel (guest, #33783) [Link]
I had the university library order it for me and am also still waiting. What a pain! ;)
Understanding the Linux Kernel, 3rd Edition
Posted Dec 10, 2005 13:46 UTC (Sat) by nurhussein (guest, #16226) [Link]
It arrived yesterday! Oh sweet joy :)