| OverviewThe new edition of Understanding the Linux
Kernel takes you on a guided tour through the
most significant data structures, many algorithms, and
programming tricks used in the kernel. The book has been
updated to cover version 2.4 of the kernel, which is quite
different from version 2.2: the virtual memory system is
entirely new, support for multiprocessor systems is
improved, and whole new classes of hardware devices have
been added. You'll learn what conditions bring out Linux's
best performance, and how it meets the challenge of
providing good system response during process scheduling,
file access, and memory management in a wide variety of
environments. Editorial ReviewsBook DescriptionTo thoroughly understand what makes Linux tick and why it's so efficient, you need to delve deep into the heart of the operating system--into the Linux kernel itself. The kernel is Linux--in the case of the Linux operating system, it's the only bit of software to which the term "Linux" applies. The kernel handles all the requests or completed I/O operations and determines which programs will share its processing time, and in what order. Responsible for the sophisticated memory management of the whole system, the Linux kernel is the force behind the legendary Linux efficiency. The new edition of Understanding the Linux Kernel takes you on a guided tour through the most significant data structures, many algorithms, and programming tricks used in the kernel. Probing beyond the superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Relevant segments of code are dissected and discussed line by line. The book covers more than just the functioning of the code, it explains the theoretical underpinnings for why Linux does things the way it does. The new edition of the book has been updated to cover version 2.4 of the kernel, which is quite different from version 2.2: the virtual memory system is entirely new, support for multiprocessor systems is improved, and whole new classes of hardware devices have been added. The authors explore each new feature in detail. Other topics in the book include: - Memory management including file buffering, process swapping, and Direct memory Access (DMA)
- The Virtual Filesystem and the Second Extended Filesystem
- Process creation and scheduling
- Signals, interrupts, and the essential interfaces to device drivers
- Timing
- Synchronization in the kernel
- Interprocess Communication (IPC)
- Program execution
Understanding the Linux Kernel, Second Edition will acquaint you with all the inner workings of Linux, but is more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. If knowledge is power, then this book will help you make the most of your Linux system. |
Other Readers Also Read | Top Sellers in This Category | Browse Similar Topics | | | Top Level Categories:Sub-Categories: | | | |
Reader Reviews From Amazon (Ranked by 'Helpfulness') Average Customer Rating: based on 13 reviews. Real-World OS Nuts and Bolts, 2005-12-13 Reviewer rating: This book doesn't just talk about Linux; it talks about how a modern OS sitting on a modern architecture functions, in real detail. I have seen many OS texts, and this one is unique in that it does not attempt to teach theory, or academic examples. Want to understand scheduling, interrupts, file system abstractions, address spaces? Read this. Even if you don't use or care about Linux particularly. It will demystify these critical topics, which you can then apply to whatever platform or code you're working with, especially if you work with kernel or related components.
I am a professional software developer who works in drivers and OS subsystems. Although I have some exposure to various Unix flavors, I don't use any of them regularly-- I have most exposure to the NT architecture. This book has been invaluable in shoring up my fundamentals. The Windows book that most closely resembles this is Windows Internals from MS Press, which is a great book but doesn't (and cannot) delve too far into actual internal structures.
Note, though, that this book does not aim to teach you all this good generalist stuff-- it only does that by accident. It will gloss over the intro material in some cases to get into the code, which works for the explicit charter of the text (Linux kernel specifics), but might require the reader cross-referencing with an OS text. | The only Linux kernel book you need, 2005-11-28 Reviewer rating: There are two type of programmers, those who start with papers and those who start with code. If you are like me, who start with code, this is the only book you need to learn about linux kernel and to use it as a quick reference. | mixed, other books are better, 2005-05-05 Reviewer rating: I've been reading kernel books for nearly 20 years -- this is not recommended.
Some of the chapters and explanations I liked, others I felt were dry and lacking. The code examples seem to run through a non-deterministic preprocessor -- the code is supposed to describe 2.4.18, but the code snippets don't quite match the actual code (while generally working the same way, the algorithms/loop structure are often rewritten and the macros are sometimes expanded). I find it very useful when books comment on actual code examples, this is "kinda massaged code" -- I found it very frustrating when I actually looked at the kernel tree when they had snippets in the book.
I often found it necessary to look at the actual code to give more context (but the code rarely matched verbatim -- very strange). And when they did rewrite algorithms, I found the kernel 2.4.18 source to be MORE lucid.
The explanations without code were adequate, and I found some to be illuminating. Perhaps since the book has two authors, different authors wrote different chapters? (I liked some chapters and didn't like others).
If you want a general understanding of how kernels work, Andy Tanenbaum's "Operating Systems: Design and Implementation" where he elaborates on Minix is very useful -- with a complete Minix system (Minix is more of a teaching tool, which it does well, Linus looked at lMinix and wanted a more useful system, hence Linux).
I found Robert Love's "Linux Kernel Development" very good (I read the 1st edition, still need to read the second edtion). And Linux Device Drivers (Corbet and Rubini) is very good and has excellent examples (but the examples may need some work to build on a current kernel -- had this problem with the 2nd edition). | Exceptional treatment of the Linux Kernel, 2005-03-15 Reviewer rating: If you read and understand most of what is in this book, then you will be an expert on the internals of the Linux kernel. This book goes into great detail on all aspects of the kernel. I would recommend this book, as well as "Linux Kernel Development", to be used as supplements to a college course taught on operating systems where Linux is used as a reference OS implementation.
The book does a good job of making complicated concepts accessible, but the reader may need to noodle over some concepts a bit more than others in order to fully grasp them. This, however, doesn't take away from the pedigogical nature of the book. | Excellent Book on OS Design, 2005-01-17 Reviewer rating:
If you are interested in OS design, or intend to work with the Linux
Kernel, Understanding the Linux Kernel is a very useful look into how
and why certian decisions were made in the Linux kernel. This book
doesn't seem to leave anything out. Example code is used very well to
show exactly what the authors are talking about. This would be an
excellent book for a course on OS design.
The second edition doesn't cover the 2.6 kernel,
which wasn't out at the time the book was published, but it still
provides a great resource for kernel information.
|
Some information above was provided using data from Amazon.com. View at Amazon > |
| |
|
|