18 of 18 people found the following review helpful:
5.0 out of 5 stars
The best book to learn Linux kernel programming, February 7, 2006
This review is from: Linux Kernel Development (2nd Edition) (Paperback)
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".
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
13 of 13 people found the following review helpful:
5.0 out of 5 stars
Great description of the Linux Kernel, August 19, 2005
This review is from: Linux Kernel Development (2nd Edition) (Paperback)
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).
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
12 of 12 people found the following review helpful:
5.0 out of 5 stars
One of the Best Linux Book, June 29, 2005
This review is from: Linux Kernel Development (2nd Edition) (Paperback)
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.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No