Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your email address or mobile phone number.

Linux Kernel Development 1st Edition

4.6 out of 5 stars 16 customer reviews
ISBN-13: 978-0672325120
ISBN-10: 0672325128
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used
Condition: Used: Acceptable
Comment: Unbeatable customer service, and we usually ship the same or next day. Over one million satisfied customers!
Access codes and supplements are not guaranteed with used items.
18 Used from $0.01
FREE Shipping on orders over $25.
More Buying Choices
7 New from $17.29 18 Used from $0.01

There is a newer edition of this item:

Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

2016 Book Awards
Browse award-winning titles. See all 2016 winners
click to open popover

Editorial Reviews

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. While the book discusses topics that are theoretical, it does so with the goal of assisting programmers so they better understand the topics and become more efficient and productive in their coding.

The book discusses the major subsystems and features of the Linux kernel, including design and implementation, their purpose and goals, and their interfaces. Important computer science and operating system design details are also addressed. The book covers the Linux kernel from both angles -- theoretical and applied -- which should appeal to both types of readers.

The author, a core kernel developer, shares valuable knowledge and experience on the very latest Linux kernel.

Specific topics covered will include: all the important algorithms, relevant subsystems, process management, scheduling, time management and timers, system call interface, memory addressing, memory management, paging strategies, caching layers, VFS, kernel synchronization, and signals.

An authoritative, practical guide that helps programmers better understand the Linux kernel, and to write and develop kernel code.

* Authored by core Linux kernel developers.
* In-depth coverage of all the major subsystems and features of the new Linux 2.6 kernel.
* Targeted audience includes programmers interested in gaining relevant and timely information so they may further their kernel development skills.

About the Author

Robert Love has used Linux since the early days and is active in the open source community. Currently, Robert is employed as a software engineer at MontaVista Software, where he hacks on the Linux kernel.

Robert's kernel projects include the process scheduler, the preemptive kernel, the VM, and multiprocessing enhancements. His other open source projects include schedutils and procps, both of which he maintains. Robert has given numerous talks on the kernel and he is a contributing editor for Linux Journal. Robert currently lives in Gainesville, Florida and enjoys photography and good food.


Product Details

  • Paperback: 332 pages
  • Publisher: Sams; 1st edition (September 8, 2003)
  • Language: English
  • ISBN-10: 0672325128
  • ISBN-13: 978-0672325120
  • Product Dimensions: 7 x 0.8 x 9 inches
  • Shipping Weight: 1.2 pounds
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (16 customer reviews)
  • Amazon Best Sellers Rank: #1,253,838 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Paperback Verified Purchase
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).
5 Comments 99 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
I was a Linux kernel newbie writing a device driver and started reading "Linux Device Drivers" by Rubini. On hindsight, this was a bad idea. Rubini's book goes deep into driver code quickly with good details but it only sparingly touches the higher level kernel overview or essential concepts. These missing pieces are covered very well in Love's book and I should have understood them before reading Rubini's book; important basic concepts covered in good detail include:

- user thread vs kernel thread.
- kernel-space process context vs kernel-space interrupt context.
- tasklet as a non-concurrent form of softirq and is not related in any way to tasks.
- bottom-half methods comprising softirq, tasklet and work queue; and that BH and task queue are obsolete and deprecated.
- semaphore sleeping vs spinlock spinning (busy-wait).
- spinlock adversely affecting scheduling latency while semaphore does not.

Love's book shows ambly that he is an expert in Linux kernel matters and speaks with authority. At the same time he has the ability of a good teacher to explain obscure and critical kernel concepts clearly. I heartily recommend this as the first book one should read about the Linux kernel, well before books such as Bovet's "Understanding the Linux Kernel" or Rubini's device driver book.

This 2nd edition introduces more materials and explanation to cover the updated 2.6 kernel. As far as I can see, it is a worthy new edition to own.
Comment 36 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
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. :)
Comment 22 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
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.
Comment 17 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
I like the book because it is well organized, clear, no nonsense, explains the subject top-down, up-to-date including kernel 2.6, contains very little code and despite the subject still readable as a regular book. It is like a book about operating systems in general but about Linux only. I'd recommend reading this book before "Understanding the Linux Kernel".
However, I find the word "Development" in the title a little misleading because the book contains very little about the actual howto and could have been backed up by for example an appendix with an example from real life with a step-by-step walk-thru by the hand.
Comment 17 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews