- You'll save an extra 5% on Books purchased from Amazon.ca, now through July 29th. No code necessary, discount applied at checkout. Here's how (restrictions apply)
Linux Kernel Development (3rd Edition) Paperback – Jun 22 2010
|New from||Used from|
Special Offers and Product Promotions
Frequently Bought Together
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Back Cover
Linux Kernel Development details the design and implementation of the Linux kernel, presenting the content in a manner that is beneficial to those writing and developing kernel code, as well as to programmers seeking to better understand the operating system and become more efficient and productive in their coding.
The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs.
The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers.
The third edition of Linux Kernel Development includes new and updated material throughout the book:
- An all-new chapter on kernel data structures
- Details on interrupt handlers and bottom halves
- Extended coverage of virtual memory and memory allocation
- Tips on debugging the Linux kernel
- In-depth coverage of kernel synchronization and locking
- Useful insight into submitting kernel patches and working with the Linux kernel community
About the Author
Robert Love is an open source programmer, speaker, and author who has been using and contributing to Linux for more than 15 years. He is currently senior software engineer at Google, where he was a member of the team that developed the Android mobile platform’s kernel. Prior to Google, he was Chief Architect, Linux Desktop, at Novell. Before Novell, he was a kernel engineer at MontaVista Software and Ximian.
Love’s kernel projects include the preemptive kernel, the process scheduler, the kernel events layer, inotify,VM enhancements, and several device drivers.
He has given numerous talks on and has written multiple articles about the Linux kernel and is a contributing editor for Linux Journal. His other books include Linux System Programming and Linux in a Nutshell.
What Other Items Do Customers Buy After Viewing This Item?
Most Helpful Customer Reviews on Amazon.com (beta)
In the first few chapters, the author provides instructions for obtaining the Kernel source code and compiling it. In the rest of the chapters, the author gives details of each of the parts of the Linux kernel. In the chapter on Kernel Data Structures (Chapter 6), the author gives a detailed explanation of the most important data structures that are used in Linux (linked lists, queues, maps and red-black trees). The chapter on Debugging (Chapter 18) is full of useful tips for debugging the Linux Kernel. What I like most about the book is that the author is very practical with his approach and concludes his book by saying that "the only way to start (learning the Linux Kernel) is by reading and writing code".
It is written in a free-flowing fashion, explains concepts first with lots of examples, instances, etc. Only then does it start describing the relevant kernel data structure, the actual implementation, etc. Also, it leaves some of the really complicated stuff out and just mentions it, which is great when you are newbie and dont want to get inundated with a ton of information.
This is the best book on linux kernel programming as of now! Buy it.
I've read my share of OS and internals books but this one by far takes the cake. Even beats out classic Tanenbaum. Although that is a generic OS book and this is (obviously) about Linux the clarity of how every detail is explained transcends just Linux and gives you a good feel of how computers work at the OS level and below. For example, by reading the great section on interrupts and work deferral (which is a concept that also applies to Windows), all the previous reading I've done on how Windows handles interrupts suddenly snaps into place. I would recommend this book to anyone who is interested not just in the Linux kernel but OS internals in general. The way the author explains everything is so crystal clear in a way that is hard to find in tech books.
It's particularly good on the issues of multi-core/multithreaded processors (which are just a special case of SMP, after all). There's basically nothing about the unique aspects of embedded Linux, though (other than a brief description of JFFS2 and a couple of other flash filesystems), so if that's what you're doing, the book is a good intro but you're going to need another book afterward.
The book is a bit schizophrenic in its expectations of its readers: time, pages, and grams of weight :) are wasted on quickly reiterating some basic OS theory (mutexes, standard deadlock, preemption) that should be very old hat to anybody who is going to be actually doing kernel work.
I would have appreciated more on kernel debugging philosophy and tricks, but what is there is good.
A fair number of .h files are included in their entirety. IMHO they should have been editted down to just the fields relevant to the discussion in the text; we have The Source when we need the entire .h.
It's probably more x86-centric than it really needs to be, but that's certainly a venial sin at most, since the vast majority of non-embedded Linux boxen do run x86.
Gripes notwithstanding, this book is a real service to the community. Thanks, Mr. Love.
Look for similar items by category
- Books > Computers & Technology > Operating Systems > Linux > Programming
- Books > Computers & Technology > Programming > Languages & Tools > C
- Books > Textbooks > Computer Science & Information Systems > Operating Systems
- Books > Textbooks > Computer Science & Information Systems > Programming Languages