Understanding the Linux Kernel
| |||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||
| Sort customer reviews by: | |||||||||||||||||||||||||||||
|
Show All Reviews on Page
Hide All Reviews on Page
| |||||||||||||||||||||||||||||
| Understanding the Linux Kernel | |||||||||||||||||||||||||||||
|
In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks.
The third edition of "Understanding the Linux Kernel" takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does. This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics: Memory management, including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem layer and the Second and Third Extended Filesystems Process creation and scheduling Signals, interrupts, and the essential interfaces to device drivers Timing Synchronization within the kernel Interprocess Communication (IPC) Program execution "Understanding the Linux Kernel" will acquaint you with all the inner workings of Linux, but it's 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. This book will help you make the most of your Linux system. |
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 23 of 23 | |||||||||||||||||||||||||||||
| Review Date |
Review Rating(5 High) |
Review Helpful to: |
Customer Review | Reviewer Info |
Permanent Link |
||||||||||||||||||||||||
| Reader Reviews Below Sorted by Newest First | |||||||||||||||||||||||||||||
| 10-07-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
These are the comments needed to understand Linux code, very helpful and thorough. The authors are knowledgeable, and explain the material well.
(Review Data Last Updated: 2008-10-08 05:31:44 EST)
|
|||||||||||||||||||||||||||||
| 09-23-08 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I had originally intended to read this book to knock out two birds with one stone. I wanted to learn Operating System theory and specifically how it was implemented in Linux. I quickly learned, however, that I would of been much better suited if I already had a good OS theory background. But I pressed on and finally couldn't take it anymore and had to put it down and pick up Linux Kernel Development by Robert Love. I began reading Linux Kernel Development concurrently with this book and it is definitely what I would recommend for those new to OS internals.
After using both of those books I started to get a good foothold on the kernel. And Understanding the Linux Kernel quickly becomes like a good novel you can't put down. I did like how it was x86-centric because abstract is nice and all but sometimes it helps to see how things actually are done. However some might not like that. I did not like how it threw a bunch of detail at you without completely unifying everything.. But thats why I read Linux Kernel Development concurrently. All and all this book is definitely worth it for those who want to know about the Linux kernel and now as I use my GNU/Linux operating system I can't help and point out to myself whats going on under the hood. (Review Data Last Updated: 2008-10-07 05:35:45 EST)
|
|||||||||||||||||||||||||||||
| 06-08-08 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I purchased this book as a complimentary book for the regular OS text books, so far the coverage is very good and helpful.
(Review Data Last Updated: 2008-09-23 05:33:33 EST)
|
|||||||||||||||||||||||||||||
| 05-27-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Awesome book...things are very well explained and the subject-matter is covered well. Surely recommend this book to someone!!
(Review Data Last Updated: 2008-06-09 04:52:58 EST)
|
|||||||||||||||||||||||||||||
| 03-20-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
ULK provides well structured and clear introduction to the 2.6 linux kernel. I would recommend this book to anyone who wants to get started on kernel code. ULK also provides an insight into the modularity present within the kernel (eg. doubly linked list macros). Thus, it should help amateur programmers to develop strong coding skills in addition to understanding OS kernel design.
(Review Data Last Updated: 2008-05-28 04:58:40 EST)
|
|||||||||||||||||||||||||||||
| 02-16-08 | 3 | 2\2 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Prepare to have you brain melted. This book is FACINATING but not for everyone. It's EXCEEDINGLY nerdy and doesn't attempt to simplify complex nitty gritty details, and it shouldn't. This book is an excelent place to start if you want to dig deeper into the kernel itself. It would be an excelent choice to read before a book on drivers (Linux Device Drivers (Nutshell Handbook)) or low level networking Understanding Linux Network Internals) which are both also very good books.
I would give it 4 stars but it's not quite as well written as some of the other books on Free software published by O'Reilly. (Review Data Last Updated: 2008-03-21 10:22:38 EST)
|
|||||||||||||||||||||||||||||
| 01-07-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is a great book to help you understand the linux kernel. It reads easily and helps you to not get lost inside of the details.
(Review Data Last Updated: 2008-02-16 11:01:12 EST)
|
|||||||||||||||||||||||||||||
| 08-23-07 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
If you only read one kernel book, read this one. Also serves as a good general operating system design and implementation primer.
(Review Data Last Updated: 2008-01-07 11:11:45 EST)
|
|||||||||||||||||||||||||||||
| 08-09-07 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I'm reading this book for fun, and I've been learning so much that I didn't know from Linux, wish our Operating System courses in Venezuela was taught following this book.
(Review Data Last Updated: 2007-08-23 23:53:21 EST)
|
|||||||||||||||||||||||||||||
| 07-17-07 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
To be honest, I am a complete newbie to Linux (more so, the kernel), having only recently shifted to Ubuntu (which, appropriately enough, is often called a "newbie's distribution"). Fortunately, I've had my share of background in C programming both in university and as an employee.
I've only recently delved into the "deeper" side of C - the kind that involves mapping memory and handling register sets to control hardware components. So far as I have read, this book is probably not suitable for the inexperienced, but with a little re-reading, anyone who has the least bit background in computer architecture, operating systems, and, of course, programming can catch up. "Understanding the Linux Kernel" presents Linux in an abstracted manner, using diagrams whenever possible to illustrate how certain mechanisms - such as, let's say, memory allocation - are executed in the Linux kernel. The presentation, reviewed in line with the Linux kernel code itself, allows the average skilled programmer to obtain at least a basic understanding of Linux and the concept of operating systems in general. In the long run, this material will definitely add to (or completely revolutionize) your repertoire of programming techniques. Required knowledge to be comfortable with the content are the C syntax, data structures, and an understanding of the binary and hexadecimal number systems. (Review Data Last Updated: 2007-08-09 11:43:01 EST)
|
|||||||||||||||||||||||||||||
| 08-21-06 | 5 | 0\21 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The book was clean and brand new as mentioned. Thanks.
I will buy again from you. (Review Data Last Updated: 2006-12-05 16:00:08 EST)
|
|||||||||||||||||||||||||||||
| 08-03-06 | 5 | 18\18 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Understanding the Linux Kernel is an excellent guide for those who have some experience using Linux, and would like to know what's going on under the hood. It's a comprehensive guide that not only describes how Linux boots and initializes itself, and how programs call functions inside the kernel, but actually goes down to the murky depths of interrupts, process switching, inter-process communication, and even memory management down to the level of the 80x86 processor instructions, registers and features (actually if you add it all up, memory management takes up most of the book -- a good thing!). Furthermore there are chapters about essentials such as file systems and device drivers.
The book specifically and explicitly focuses only on the 80x86 PC architecture so if you're interested in Linux on different platforms or if you're looking for a generic Linux kernel book, this one's not for you. Also, if you're just starting out with Linux (whether it be as user, programmer or administrator), there's a lot of information in here that you don't really need to know. An important part of the kernel that's missing from the book is how networking is implemented. This is understandable, because it would probably require another 900+ pages (that's how thick this one is) to cover in as much detail as what the book DOES cover. All in all, as an intermediate Linux administrator/user and a novice Linux programmer, I thought this was an excellent addition to my collection, even though I skipped some of the truely low-level parts where the authors go into Pentium registers and stuff like that. The fact that "80x86" is consistently printed as "80 × 86" (notice the multiplication character replacing the letter "x") was not enough of a nuisance to take away any of the 5 stars that I'm giving this one. (Review Data Last Updated: 2007-07-17 22:39:17 EST)
|
|||||||||||||||||||||||||||||
| 08-02-06 | 5 | 15\15 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Understanding the Linux Kernel is an excellent guide for those who have some experience using Linux, and would like to know what's going on under the hood. It's a comprehensive guide that not only describes how Linux boots and initializes itself, and how programs call functions inside the kernel, but actually goes down to the murky depths of interrupts, process switching, inter-process communication, and even memory management down to the level of the 80x86 processor instructions, registers and features (actually if you add it all up, memory management takes up most of the book -- a good thing!). Furthermore there are chapters about essentials such as file systems and device drivers.
The book specifically and explicitly focuses only on the 80x86 PC architecture so if you're interested in Linux on different platforms or if you're looking for a generic Linux kernel book, this one's not for you. Also, if you're just starting out with Linux (whether it be as user, programmer or administrator), there's a lot of information in here that you don't really need to know. An important part of the kernel that's missing from the book is how networking is implemented. This is understandable, because it would probably require another 900+ pages (that's how thick this one is) to cover in as much detail as what the book DOES cover. All in all, as an intermediate Linux administrator/user and a novice Linux programmer, I thought this was an excellent addition to my collection, even though I skipped some of the truely low-level parts where the authors go into Pentium registers and stuff like that. The fact that "80x86" is consistently printed as "80 × 86" (notice the multiplication character replacing the letter "x") was not enough of a nuisance to take away any of the 5 stars that I'm giving this one. (Review Data Last Updated: 2007-04-11 11:24:04 EST)
|
|||||||||||||||||||||||||||||
| 06-09-06 | 5 | 6\8 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Are you curious about how Linux works and why it is so efficient? If you are, then this book is for you! Authors Daniel Plerre Bovet and Marco Cesati, have done an outstanding job of writing a practical book that will help you find your way through the many thousands of lines of code.
Bovet and Cesati, begin by presenting a general picture of what is inside a Unix kernal and how Linux competes against other well-known Unix systems. Then, the authors explain how 80x86 processors include special circuits to address data in memory and how Linux exploits them. They continue by explaining how each process runs either in an unprivileged User Mode or in a privileged Kernal Mode. Then, the authors introduce interrupts and exceptions. Then, they discuss how synchronization mechanisms are needed so that all these requests can be serviced in a interleaved way by the kernal. Next, the authors discuss timing measurements. Then, they explain how Linux executes, in turn, every active process in the system so that all of them can progress toward their completions. They continue by describing the sophisticated techniques required to handle the most precious resource in the system. Next, the authors show you how the kernal copes with the requests for memory issued by greedy application programs. Then, they explain how a process running in User Mode makes requests to the kernal. They continue by describing how a process may send synchronization signals to other processes. Then, the authors introduce a general layer that supports many different filesystems. Next, they offer insights into special files and on the corresponding hardware device drivers. They also show you how to reduce disk accesses through the use of RAM. Then, they show you how user applications access normal files. Next, the authors explain the techniques used by Linux to ensure that enough memory is always available. Then, they illustrate the most frequently used Linux filesystem, namely Ext2 and its recent evolution, Ext3. They continue by introducing communication mechanisms other than signals available to User Mode processes. Finally, the authors explain how user applications are started. This most excellent book helps you distinguish between crucial data structures and secondary ones. More importantly, this book helps you become a true Linux hacker. (Review Data Last Updated: 2007-07-05 16:33:21 EST)
|
|||||||||||||||||||||||||||||
| 06-08-06 | 5 | 2\4 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Are you curious about how Linux works and why it is so efficient? If you are, then this book is for you! Authors Daniel Plerre Bovet and Marco Cesati, have done an outstanding job of writing a practical book that will help you find your way through the many thousands of lines of code.
Bovet and Cesati, begin by presenting a general picture of what is inside a Unix kernal and how Linux competes against other well-known Unix systems. Then, the authors explain how 80x86 processors include special circuits to address data in memory and how Linux exploits them. They continue by explaining how each process runs either in an unprivileged User Mode or in a privileged Kernal Mode. Then, the authors introduce interrupts and exceptions. Then, they discuss how synchronization mechanisms are needed so that all these requests can be serviced in a interleaved way by the kernal. Next, the authors discuss timing measurements. Then, they explain how Linux executes, in turn, every active process in the system so that all of them can progress toward their completions. They continue by describing the sophisticated techniques required to handle the most precious resource in the system. Next, the authors show you how the kernal copes with the requests for memory issued by greedy application programs. Then, they explain how a process running in User Mode makes requests to the kernal. They continue by describing how a process may send synchronization signals to other processes. Then, the authors introduce a general layer that supports many different filesystems. Next, they offer insights into special files and on the corresponding hardware device drivers. They also show you how to reduce disk accesses through the use of RAM. Then, they show you how user applications access normal files. Next, the authors explain the techniques used by Linux to ensure that enough memory is always available. Then, they illustrate the most frequently used Linux filesystem, namely Ext2 and its recent evolution, Ext3. They continue by introducing communication mechanisms other than signals available to User Mode processes. Finally, the authors explain how user applications are started. This most excellent book helps you distinguish between crucial data structures and secondary ones. More importantly, this book helps you become a true Linux hacker. (Review Data Last Updated: 2006-11-06 12:09:25 EST)
|
|||||||||||||||||||||||||||||
| 03-17-06 | 4 | 3\19 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Very good book. I would like to see more coverage of SMP
support. (Review Data Last Updated: 2007-07-05 16:33:21 EST)
|
|||||||||||||||||||||||||||||
| 03-02-06 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book makes a great companion for "UNIX Essentials and UNIX Core" DVD course! It is nicely written, pleasure to read and easy to follow. It is one of these books that were carefully edited and the examples work correctly. As I mentioned I have coupled it with the DVD and these two make very efficient couple!
I also appreciate the style of the writing, open not mentoring, very nice. (Review Data Last Updated: 2006-03-03 16:18:56 EST)
|
|||||||||||||||||||||||||||||
| 02-12-06 | 5 | 9\10 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
One thing that's really missing is a nice chapter on Kernel debugging -- using some existing kernel debuggers and how they all compare, interpreting those OOPS messages -- everything that goes with kernel hacking!
This book covers VMM so comprehensively that it's really meant for those who _actually_ want to work on kernel, so a 'Kernel Hacking' chapter was a must. Otherwise this book is just perfect - I give it 5 stars :) (Review Data Last Updated: 2007-07-05 16:33:21 EST)
|
|||||||||||||||||||||||||||||
| 02-10-06 | 5 | 25\26 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The book "Undestanding the Linux Kernel",
explains clearly the inner workings of the current 2.6 Linux kernel. The presentation is at a considerable level of detail, the authors fully describe the important data structures, and the significant chunks of code. The book is indispensable to any serious Linux kernel developer. However, it can be used also at the context of an "Operating Systems Design" academic course and the students can learn a lot from the technologically advanced Linux 2.6 kernel implementation and can modify/recompile and install their own version! The level of the book is advanced and I recommend concurrently with it, the reader to study also the book: "Linux kernel development" by Robert Love that presents the algorithms also very clearly, but with a more academic view, without zooming to all the implementation concerns. I own both books and by studing them, I can have the significant experience of customizing the source code of the superior Linux 2.6 kernel. (Review Data Last Updated: 2007-07-05 16:33:21 EST)
|
|||||||||||||||||||||||||||||
| 01-17-06 | 5 | 7\11 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
A true classic. A must buy if you want to understand the working of the linux kernel in an "easy to understand" manner...
(Review Data Last Updated: 2007-07-05 16:33:21 EST)
|
|||||||||||||||||||||||||||||
| 12-17-05 | 5 | 9\9 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Charlie Black complained (on December 2nd) that inotify was not in the index of this kernel book. Sorry, books take time to publish. inotify was not in the kernel till version 2.6.13, which was just 3 months before the book was published and available.
Linux kernel development is a moving target and it takes more than a few months to publish any book, let alone one of this magnitude. I am just purchasing this book. I have found version 1 and 2 invaluable. The kernel is huge and the other versions have done an excelent job of covering as much as possible in one book. If you are interested in inotify, then you can do a web search and find the introductory article written by Robert Love in LJ. (Review Data Last Updated: 2006-07-07 12:20:49 EST)
|
|||||||||||||||||||||||||||||
| 12-03-05 | 2 | 0\28 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I was browsing the index for the new edition and lots of topics fail to appear. One I was especially interested is inotify. Kinda odd that it doesn't make the index.
PHPTR has also put out some kernel books and they were disappointing. (Review Data Last Updated: 2006-07-07 12:20:49 EST)
|
|||||||||||||||||||||||||||||
| 11-30-05 | 5 | 10\11 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The third edition of this valuable resource incorporates descriptions of the latest changes in the 2.6 Linux kernel series. There is simply nothing else out there resembling this work in either depth or breadth, and as such every developer active in Linux kernel work (or trying to understand how it all fits together) needs to have this book.
While there are a few other books out there that describe the Linux kernel on a conceptual level (a very few of which have quality), there is really nothing (recently) that examines the actual code at this level of detail (each edition keeps getting fatter.) As academics the authors are interested in presenting a complete snapshot of the Linux kernel, and unravelling how it works. This is unlike in method (but complementary to) the engineer's approach of its excellent companion book from O'Reilly, Linux Device Drivers, by Corbet, Rubini and Kroah-Hartmann. They also focus more on the x86 architecture in order to be definite. Because of its focus on being an entire picture, understanding this book doesn't require extensive pre-knowledge of the Linux kernel, only a good general grasp of principles. I have used the earlier editions as companion textbooks for classes on the Linux kernel, and intend on using this edition in the same fashion. Don't miss out on this unique book. (Review Data Last Updated: 2006-07-07 12:20:49 EST)
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 23 of 23 | |||||||||||||||||||||||||||||
| All Books | Arts | Biography | Click Here For An A-Z Index Of All 213 Best-Seller Subjects | Business | Children's | Comics | ||||||
| Computers | Cooking | Engineering | Entertainment | Health | History | Home | Horror | Humor | Law | Fiction | Medicine | Mystery |
| Nonfiction | Outdoors | Parenting | Professional | Reference | Religion | Romance | Science | Sci-Fi | Sports | Teens | Travel | |