Not unlike other epics, this article finds the author contemplating Linux mastery from somewhere other than the beginning. A rebel without a master, I search for teaching, training and knowledge.
I believe that one cannot attain Linux guru status without understanding its kernel and other innards. Lucky for me, then, Linux Internals offers an eight-fold path toward Linux enlightenment in the form of eight chapters that cover the kernel, system calls, signals, interrupts, processes, virtual memory, scheduler and file systems.
But beware eager apprentices; the Linux Internals path should be tread only after one possesses a working knowledge of operating system theory and the C programming language. For newbies this book is not. Difficult to categorize, Linux Internals is more of a reference work than anything. The dense content and delivery fall just shy of textbook classification. Yet, unlike reference tomes, I was able to read it cover to cover like fiction. Each topic is covered in depth, some more than others, with references to other operating systems, mostly Solaris, made for comparison.
The author included the kernel headers and other source code referenced in his book at the end of every chapter, and not on the CD-ROM. I like this idea. It really lends itself to flipping back and forth in the text to understand code and stimulates mental usage of the API, without having to get up and turn on a computer.
The most interesting topics covered, in my opinion, and incidentally related to some of the most recent kernel developments, were the kernel http daemon (khttpd) and journaling file system options available under Linux. Both subjects are explained well, with the differences between static and journaling file systems, as well as the need for journaling file systems under Linux, made perfectly clear.
On the downside, the writing style is a little rough, clumsy and repetitive. The text is also plagued with something that I've noticed in a lot of computer books lately--typographical errors. However, I thought the main weakness of this book was the lack of diagrams to support the its explanations. Several simple diagrams clearly depicting file system, virtual memory and other kernel abstractions would have really been helpful.
The material covered in Linux Internals is required reading for any aspiring Linux kernel hacker, high performance junkie and guru wannabe. I can recommend this text to Linux guru candidates because Moshe Bar has crafted an informative book that strikes a keen balance between an operating system text and a programming manual. With the inclusion of several different Linux kernel versions leading up to and including 2.3.99 -pre5 on CD-ROM, as well as a few journaling file system and volume manager goodies, the book also encourages one to tinker. Will you attain enlightenment upon reading Linux Internals? No. But it's one helluva "finger pointing at the moon". The quest continues...
Glen Otero has a PhD in Immunology and microbiology and runs a consulting company called Linux Prophet in San Diego, CA. Surfing, in the ocean that is, is his favorite pastime.