Advanced Search
Start Your Free Trial

Overview

Other Readers Also Read...
Linux Device Drivers, 3rd Edition

Linux Device Drivers, 3rd Edition
by Jonathan Corbet; Alessandro Rubini; Greg Kroah-Hartman

Understanding the Linux Kernel, 3rd Edition

Understanding the Linux Kernel, 3rd Edition
by Daniel P. Bovet; Marco Cesati

Top Sellers in this Category

Understanding the Linux Kernel, 3rd Edition

Understanding the Linux Kernel, 3rd Edition
by Daniel P. Bovet; Marco Cesati

Linux Device Drivers, 3rd Edition

Linux Device Drivers, 3rd Edition
by Jonathan Corbet; Alessandro Rubini; Greg Kroah-Hartman

To 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.

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 4.0 out of 5 rating Based on 13 Ratings

mixed, other books are better - 2005-05-04
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star 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-14
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star 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: 1 star rating2 star rating3 star rating4 star rating5 star 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.

Real-World OS Nuts and Bolts - 2005-12-13
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star 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-27
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star 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.

Browse Similar Topics

Top Level Categories:
Operating Systems

Sub-Categories:
Operating Systems > Linux
Linux > Kernel

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2009 Safari Books Online. All rights reserved.