Amazon.com Customer Reviews
Primer for transitioners to Linux - Review written on October 30, 2006
Rating: 5 out of 5
3 customers found this review helpful.
Excellent book for Linux rampups(esp with years on other OS'es).
A flowing style that explains effortlessly about scheduler, slabs, dentry.
In Chap 12, it would be nice to have filesys comparison in table format(e.g. Reiser, ext3, jfs wrt performance, journalling), although this strictly is not kernel.
Chap 18(Debugging) could also be more polluted with real life tools info, e.g Kprobes, LTT, lcrash or LKCD or the coolest toy on sourceforge)
Overall, money very well spent on this book.
The best book to learn Linux kernel programming - Review written on February 07, 2006
Rating: 5 out of 5
15 customers found this review helpful.
About one year ago I was browsing the univerity book store, not really knowing what I was looking for. Being all fed up with math thesis stuff I was certain that I wanted somthing practical and funny to read. By chance I saw a book called "Linux Kernel Development". At first I did not give it much attention because normaly writing kernel code does not make me relax at all. When I was leaving the book store, curiosity took over and I decided to find out who the author was - expecting to see some no name punk I was really surprised that it was Robert Love, known of much programming fame in the kernel community. Naturaly I bought the book, read it in 2 days and I loved it. Here for the first time was a book that precendet the art of kernel programming in an easy, understandebel and about all funny way. This was 2004, last week I discovered that a second edtion was out. I quickly bought it on Amazon and while I loved the first edition I must admit that this one is even better.
Robert takes you gently but thoroughly through most of the facets of kernel programming, including system call registration, coding guidelines, synchronization and the VM layer. This is a great book which while being short and precise still manages to get you hacking on the kernel without suffering two much headache. The only thing I feel is missing is a chapter or two devoted to debugging the kernel - but in that regard one could also pickup "Linux(R) Debugging and Performance Tuning " by Steve Best which is a complete book on the fine art of bug/bottleneck hunting. Anyway this is one of the best written tech book I have ever had the joy of reading and it fully deserves to be put next to computer science classics such as "Introduction to Algorithms" and "The C Programming Language".
Superb introduction to the Linux Kernel 2.6 - Review written on January 29, 2006
Rating: 5 out of 5
6 customers found this review helpful.
This book will take you from being a 'C' application developer to being ready to modify your first Linux kernel code. It covers the major systems of the kernel and provides enough detail to point you in the right direction should you need to actually make changes. This is the book to start with in your journey to modifying the kernel.
It's important to realize what this book is *NOT*. It will not get you started writing kernel device drivers. It will not cover every data structure in the kernel. Rather, it hits on the major points with great technical accurace and readability.
It's also important ou meet a few prequisites before buying this book, otherwise you will not get the most from it. You should have:
* A good working knowledge of the 'C' programming language
* A good basic background of operating system concepts
* A good working knowledge of basic data structures
For example, if you aren't adept with 'C' pointers, you will struggle to read the code examples. For example, if you don't already know the difference between a physical address and a logical address, you will have a higher hill to climb to get through the chapter on process memory. For example, if you don't know what a queue, stack, and linked-list are, you will struggle through some of the algorithm descriptions.
This book is first rate and the material is described with accuracy and readability. The right audience will find the material here indispensible.
Good and easily readable, but... - Review written on September 17, 2005
Rating: 3 out of 5
16 customers found this review helpful, 6 did not.
The book is easily readable. It gives a higher-level overview of the architecture of the linux kernel. Most important subsystems are covered, but in-depth descriptions are sorely missing. It is easily readable and generally useful as a guide through more stable parts of the kernel.
One star less because some subsystems are not mentioned at all, like networking, SCSI, ATA, USB or FireWire. For these parts the would-be kernel hacker is doomed to having they way around just the kernel source - no help from this book.
Another star less because of technically incorrect material written in the portability chapter. The problem is that the author is talking about the "C language" and his statements are simply incorrect in that context (although they may be valid for the gcc compiler restricted to the architectures supported by linux).
One example is saying that the unsigned long type is the natural size of the machine word (i.e. 32 bits on 32-bit machines and 64 bits on 64-bit ones). This is simply not correct in the context of the C language as such where unsigned long has to be at least 32 bits, but it doesn't say that on 64-bit machines must be 64 bits.
There are many int-to-pointer and vice-versa conversions in the kernel for which the above comment is very relevant.
Another example is saying that the char type has always 8 bits in C. This is also not true - it has CHAR_BIT bits, defined by the implementation. CHAR_BIT can be arbitrary as far as the C standard is concerned.
Great description of the Linux Kernel - Review written on August 19, 2005
Rating: 5 out of 5
11 customers found this review helpful.
Everybody should introduce their background before reviewing, since that helps a lot when other people read your opinion. In my case I'm an EE, and never took a course in OS or have a lot of experience in OS design or the like. My work has been in low level design of embedded systems, including HW and SW. We'll be porting the Linux Kernel to our own HW architecture, and bought this book as a reference to understand what to touch.
Now on to the book: I think it's great. I haven't got to the point where we touched actual code though. I've read the book and got a great idea of how Linux handles all the tasks an OS should. It also helped me understand a lot about OS design in general, without being a beginner's book (you know, those that have just the basic stuff that you can't do anything with).
I believe the idea behind the book is to teach you the philosophy behind the OS, with samples of the algorithms and C cde, and then point you in the right direction (where in the source to go for each thing). After that, you need to dig into the source code yourself.
I'd really recommend this book for someone with my background or even for experienced SW types or students who need to get started with the Linux Kernel and want to understand how it is designed. The great thing is that it covers the latest release (2.6) and also talks about how things were done in previous releases.
If you'll be implementing a Linux System this book should be complemented with some driver design reference for Linux, since this book only covers the Kernel (and entry points for the drivers, but not driver design).
One of the Best Linux Book - Review written on June 29, 2005
Rating: 5 out of 5
11 customers found this review helpful.
I just got my order (the 2nd edition) yesterday. This is my second book about Linux Kernel, the other one is "Understanding The Linux Kernel" by Daniel P. Bovet, Marco Cesati. I was having hard time to understand reading the Bovet's book, but when I read this book it was really fun. I even couldn't stop reading it when the time past midnight (wow, it is like reading a thrilling novel book :-).
I love the way the author tries to explain in a "human plaintext" language (w/ some humors), and gradually he introduces some jargons w/ clear explanations. The book is intended for intermediate to advanced programmers who now C and have some experience in building their kernel from source code. Although, it still guides readers how to compile, to patch and so on (chapter 2).
Another good thing is that, unlike many other Linux Kernel books, the author emphasizes concepts of the Linux Internals. So he tries to minimize a copy-paste of the source code on the book (you can just open the source code and see it, no need to have a book for that). This is what I have been looking for. Besides, when there is a new patch/version, the book will be still relevant long into the future.
Here is the list of the chapters:
1. Intro to the Linux Kernel
2. Getting Started w/ the Kernel
3. Process Management
4. Process Scheduling
5. System Calls
6. Interrupts and Interrupt Handlers
7. Bottom Halves and Deferring Work
8. Kernel Synchronization Intro
9. Kernel Synchronization Methods
10. Timers and Time Management
11. Memory Management
12. The Virtual Filesystem
13. The Block I/O Layer
14. The Process Address Space
15. The Page Cache and Page Writeback
16. Modules
17. kobjects and sysfs
18. Debugging
19. Portability
20. Patches, Hacking and the Community
Appendix (Linked Lists, Kernel Random Number Generator, Algorithmic Complexity)
My suggestion is first read this book thoroughly, then may continue with "UNderstanding The Kernel" and also "Linux Device Drivers", 3rd Edition by Jonathan Corbet. If you want to know more about TCP/IP stack in the kernel, "The Linux TCP/IP stack" by Herbert may be good too (I bought this book too, but I have not read it yet, but from what I saw on the table of content seems it is interesting). The last but not the least, another book about wi-fi "Linux unwired" may also compliment your personal library of Linux.
Excellent Linux kernel development book for newbie and prof. - Review written on September 28, 2004
Rating: 5 out of 5
76 customers found this review helpful, 1 did not.
I have been doing Linux kernel/system level development on and off since 1999. This is the book that I think should be owned by any Linux newbie who wants starting their kernel hacking. Even if people do not directly do Linux kernel development, it is a good book complementary to any serious operating systems course in college - it helps gain a better idea of how and why.
The book is quite easy to follow and read and does not try to overwhelm readers with tons of information (consequently it does not address many details in Linux kernel). I consider this is a major strength of the book which parts away from other books (comparing to "Understanding the Linux Kernel", which has quite some details on each subsystem, but if you take the book as your guide to kernel programming, you feel you are overwhelmed by the information and often clueless on where to start to write some simple stuffs. This does not mean I think the latter is a bad one - it is a very good one indeed). Considering the fact that Linux kernel evolves so fast, it may make sense to focus on the core parts and once you understand them, it may become easy for you to track and understand changes later. Even as a professional programmer doing kernel development, occasionally referencing a well-written book like this is very helpful.
I am a bit reluctant to rate it 5 stars though due to many typos observed, which I guess is the result of rush to publishing (and the poor job of proofreading). Fortuanately, most can be understood by reading the contexts around them. But a few are really misleading or totally wrong. For example, on page 169, there is a sample code to show how page allocation/free is done in kernel. It uses __get_free_pages() to allocate pages, but uses free_pages() to free these pages. As the author has just said a page ago, __free_pages() should be used to free (struct page*) pages, otherwise corruption will ensure (free_pages is used to free pages with logic address as parameter).
Excellent Read - Review written on July 08, 2004
Rating: 4 out of 5
13 customers found this review helpful.
There is only 1 reason that I didn't give this book a 5 star rating. I found the memory management a bit below par. But that's probably because the initial chapters up the bar so high that the last few fail to live up to those high standards.
The chapter on Scheduling is phenomenal - easily the best! Maybe even that is an understatement. An added "advantage" is that this book is on kernel 2.6.
If you're entering the realm of kernel hacking, my recommendation is, read this first, Linux device Drivers by Rubini next, and then Understanding the Linux Kernel by Bovet and Cesati.
What next? The source - that's where you'll get all the answers. :)
Good technical book - Review written on February 04, 2004
Rating: 4 out of 5
2 customers found this review helpful, 4 did not.
This is a good book to know kernel internals, good explanations with irqsoft(syscall) versus workqeues ant tasklets, context proces versus fork and thread ....
Good joob
Great technical book - Review written on January 31, 2004
Rating: 5 out of 5
5 customers found this review helpful.
This is a very easy introduction to hacking on the linux kernel,
there is not much discussion about design choices, but it explains
how the kernel work, how to program on it and what things one need to look out for.
The book is readable for both newbies and uber kernel hackers and
through out the book Robert has a great sense of humor that most
other technical books does not have. Highly recomended read.
496 Pages. I think not. - Review written on November 08, 2003
Rating: 3 out of 5
4 customers found this review helpful, 29 did not.
I just got the book today. I feel deceived in that the details about this book stated around 500 pages. Given the price, I figured this was a reasonable price/page ratio. Now that I have the book in hand, I realize it's only 330 pages, including index and stuff.
I guess this is more of a beef with Amazon than the book.
A Great Book on the kernel... with a sense of humor. - Review written on October 07, 2003
Rating: 5 out of 5
15 customers found this review helpful, 1 did not.
There are more technical books than Linux Kernel Development, with more code samples and technical jargon, but when it comes to up to date knowledge, and a clear, concise writing style, this volume is one of the best.
Robert Love has written a book that is readable for both kernel newbies and those wishing to get a better grasp for what is at the heart of 2.6. However, what I find most appealing about this book is it has a sense of humor that most other technical books seem to have left at home. This is a book you will read cover to cover, instead of using it as a meer reference.
I recommend this book to anyone who wants to learn, or brush up on, the linux kernel.