- Paperback: 496 pages
- Publisher: Addison-Wesley Professional; 3 edition (September 1, 2002)
- Language: English
- ISBN-10: 0201719754
- ISBN-13: 978-0201719758
- Product Dimensions: 7.5 x 1 x 9.2 inches
- Shipping Weight: 2 pounds (View shipping rates and policies)
- Average Customer Review: 3.5 out of 5 stars See all reviews (30 customer reviews)
- Amazon Best Sellers Rank: #2,228,416 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Linux Kernel Programming (3rd Edition) 3rd Edition
Use the Amazon App to scan ISBNs and compare prices.
Customers who bought this item also bought
What other items do customers buy after viewing this item?
"If you intend to write kernel code or a kernel module, or just want to know how the kernel of a Linux system works, this book is an excellent source of information. ... I highly recommend this book for anyone who is serious about writing code or who wants to know what is in the Linux kernel." Phil Hughes, Linux Journal --This text refers to an out of print or unavailable edition of this title.
Text: English (translation)
Original Language: German
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
Most of the code snippets are simplified for readability, which I found useful because the hacks can be distracting (scary, too) for a beginner. Detailed and up-to-date information can best be obtained from source code itself.
The book assumes some familiarity with Unix concepts, as it mentions such buzzwords as POSIX, BSD, and SVR4 in the context of the discussions, but one could safely ignore them, and just concentrate on the Linux part.
The book briefly covers adding new system calls, compilinag and debugging the kernel, and even shows how to write a simple device driver - these are hard to find in one place.
Overall, I found this book to be very useful for my self-paced study (the best so far), and I only wish they had a newer edition.
I suppose its time a new updated edition is published.
However the commentry on a older kernel does not reduce the value of this book. It is a good book to understand the OS concepts as applied to Linux kernel.This book can be a good companion to Silberschatz/Galvin's "Operating Systems Concept" in a college course.
Another value of this book is purely historical, in case someone desires to compare older and newer kernels with a high-level view.
I give some credit for not resorting to simply printing the kernel sources in bound format as other books have done, but apart from that, there's not much good to say here.
First off, the authors' command of the English language, as presented in final form by the book's editorial staff, leaves much to be desired. The prose is very conversational and awkward, and although generally understandable (words are strung together in grammatical correctness), the text doesn't clearly present ideas.
Second, the book suffers from a lack of clear focus on a specific reader. At times, very detailed descriptions of things like slow/fast IRQ handling are discussed, but then at other times the authors spend a great deal of time talking about the specific quirks of the 8253 timer chip in the ISA PC architecture. I would have preferred if the majority of this book were discussing the ideas involved in the Linux kernel design, but it wanders in and out of describing things that most readers who would buy the book based on its title already know.
Finally, in general the book is vague just when you'd want it to be specific, in describing the way things really fit together in the Linux kernel. They've attempted to simplify the explanations of complicated, optimized subroutines, and that's great, bt in dissecting everything into little pieces, I'm left with a very small picture of how the whole system actually fits together.
As if all this weren't enough, the book is really only 300pp of useful information. About 100 of the other 180 are spent on Appendix A, a useless (but book-filling) reference to the specifics of all the system calls implemented in Linux. It's bound to be out of date and the information is of a very cookie-cutter nature anyway, and it's better left out. The remaining 80pp go to equally worthless Apendices and the Index.
By way of comparison, I recently finished reading "Inside Windows 2000, 3rd ed.", a book with a very similar goal and subject domain. The difference is night and day. The authors of that book obviously went to great pains to make extrememly complicated subsystems (which, incidentally are much better than Linux, in most all cases) comprehensible. I shudder to think about how bad the FIRST edition of Linux Kernel Internals must have been.
If you're absolutely desperate for something --anything-- that describes the Linux Kernel, I suppose this is a reasonable place to start, but otherwise, I wouldn't waste your money here.
The author's goal seems to be to introduce you to a good portion of the kernel source code. Understanding the kernel source tree, the build process and the code itself is much easier once you have read the first few chapters of the book.
The book avoids teaching you or even using examples in assembly language. This may annoy you if you know assembly language, or thrill you if you don't. For example, the extremely time-critical interupt service routines, which are written in hand-optimized assembler, are explained with some C-like pseudo code.
Although the book is quite short, it is well written, and it explains the Linux kernel implementation in sufficient detail. Although it was intentional, some readers may wish that the book included more explanation of the concepts before the implementation is introduced.
A suggested companion text would be Andrew Tannenbaum's "Operating Systems: Design and Implementation".