Jump to ratings and reviews
Rate this book

Linux Kernel Development

Rate this book
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

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

731 pages, Kindle Edition

First published September 8, 2003

300 people are currently reading
1860 people want to read

About the author

Robert Love

3 books94 followers
Senior Director of Engineering at Google Cloud building planet-scale networking.

Previously Toast, Google Search, Android, Linux kernel, book author.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
440 (50%)
4 stars
304 (35%)
3 stars
91 (10%)
2 stars
22 (2%)
1 star
6 (<1%)
Displaying 1 - 30 of 49 reviews
Profile Image for Enikő.
31 reviews38 followers
December 15, 2014
I have been always fascinated with operating systems. After majoring computer science and still not knowing the inside of them, I felt like a joke. So after reading the Code and this, and various other books too, I am coming closer to understanding the inner workings of the hard parts of software architectures.

I have read this book, and currently reading it second time. There is really a lot of interesting things going under the cover. I was in love with CFS and other terms which was always alien to me, like system calls, timers, threads. Not that I am completely unaware of these terms. But there was always a gap that was missing from my understanding.

I suggest this book for getting a very good understanding of OS, it is not overly detailed. So it completely okay for beginners too.
Profile Image for Dave.
9 reviews238 followers
July 29, 2007
I've been somewhat of a novice kernel hacker for many years now and the few pieces of the kernel that I can say that I understand very well have been small, hard-won victories for me. There are a number of Linux kernel books out there, and most novice hackers will find, as I have, that it's very difficult to just go in "cold" and learn about a specific kernel subsystem from these books. Books like "Linux Kernel Internals", "Understanding the Linux Kernel" and "Understanding the Linux Virtual Memory Manager", are all very good references, but may be a bit overwhelming for the neophyte.

The problem is that there's just so damn much going on in the kernel. Diving too deeply too soon is likely to give the novice a sense that he/she is working without enough context to actually understand the material.

"Linux Kernel Development" acts as a nice primer for someone who wants to get an idea of how everything comes together before taking the deep dive. The book is fairly light on source code, so you're not terribly likely to come out a kernel hacker if you read this cover to cover, but in conjunction with a reference like "Understanding the Linux Kernel" and, of course, the source code, the kernel becomes much more approachable.

And, of course, while there's no substitute for source code, if you're like me, you need to know *why* something is implemented in a certain way before you're able to make heads or tails of it.

If I get lost in the source, I often find myself coming back to this book to get a sense of the "big picture". Robert Love does an excellent job in getting readers over that initial hurdle.
Profile Image for Chris Tierney.
1 review3 followers
March 18, 2017
We read this as a book club on our dev team. It was well written and approachable for an advanced developer. Great survey of Linux Internals and reads like a book. There are even a few jokes in here! I tried reading similar books, and this one just kind of stuck.
Profile Image for Arvydas Sidorenko.
76 reviews
March 9, 2016
Developing an operating system is hard and so is the material in this book. It is rather technical and doesn't really explain the concept very well. If you have prior experience in BSD or equivalent kernel development, then it will be a peace of cake. The author tends to throw some kernel specific features "A" at you explaining how it is implemented in Linux and expecting that you have the common sense to figure that every kernel has to have feature "A".
Profile Image for Kam Yung Soh.
928 reviews50 followers
December 31, 2013
Good intro to Linux Kernel newbies who want to know how the kernel works and how to modify it.

Best used while cross-referencing with current Kernel documentation so you know what in the book is obsolete/deprecated and what APIs have been changed or introduced.
Profile Image for Mosab.
17 reviews31 followers
November 13, 2021
This is my second time to read this book this year. A lot of dots have been connected!
Profile Image for Sanket Patel.
13 reviews2 followers
August 17, 2021
Not the best resource to understand memory management. I found so much lacking to understand the whole picture. But for the other parts, like processes, scheduling, very well covered.
Profile Image for Saran Sivashanmugam.
34 reviews5 followers
August 13, 2020
I have tried reading other well know Linux Kernel literature, but Robert Love's is the most readable of all. Robert has written with a good balance of Linux Kernel fundamentals and the code walk through of Kernel where appropriate. With his long experience with Kernel development, he provides lot of context on why certain decisions were made (For example, Why scheduler's Complete Fair Queuing (CFQ) is the best scheduler in O/S world).

This book created a new level of respect for Linus Torvalds. I can't image the 1000's of decisions he has to make as the core maintainer and for every processor architecture.

If you're working in Linux for sometime and wants to know how exactly the Kernel functions internally, I'd highly recommend this book.

As with most Linux classics, this edition is getting outdated with latest additions to the kernel such as cgroups, the new BPF etc. But don't let that stop you from pick up this classic.
11 reviews
August 17, 2018
This is by far the best Linux Kernel books when it comes to understanding as well as implementation. He breaks down the complexity of the kernel into simple components that any computer science major can understand. He discusses each concept from an operating systems class and breaks them down to how they are implemented in the kernel. From processes, synchronization techniques, to sysfs, drivers, and even various data structures that are already implemented in the kernel; and more importantly how to use these structures.

I haven't *technically* finished the entire book, but I have read more than 60% of it and it has already proven itself to be invaluable at work and as a linux user/enthusiast. Highly recommend.
221 reviews14 followers
September 28, 2013
This is the second time I'm reading this book and this book is *#$*!ing awesome. Although this book is a first edition (I believe a 3rd edition is available nowadays) this book still applies (partly because Linux is still in a 2.6.x compatible version, it would probably have been a different story if this edition was published in the 2.4.x era) to today's reality AND it's just a pleasure to read this book. It only happens in very rare occasions that an author is capable to describe a technical subject at the right level (without wasting too much time at the basics) but is also capable of bringing this material in a very engaging way.
Profile Image for Teodor Moroz.
71 reviews2 followers
December 24, 2019
I would expect from the book like this to explain Linux concepts and philosophy, instead, it just explains some functions and structures from Linux source code. Sometimes there is more conceptual parts, but not as often as I expect them to be.
Profile Image for Matt Robertson.
163 reviews3 followers
November 12, 2020
Excellent insight into the design of the Linux kernel, abounding with practical information for anyone needing to add features or use existing ones. Example code and structures are well-chosen and clearly annotated, and the accompanying text is written in a very readable, often entertaining style.
Profile Image for Kushagra Misra.
1 review1 follower
October 5, 2018
Nice book give u a clear picture of Linux kernal... Must read for all engineers
Profile Image for Ryan Frantz.
81 reviews6 followers
October 29, 2018
A bit dated by now but this book still provides lots of useful context about Linux kernel internals.
110 reviews8 followers
October 2, 2019
I think this would've made a good companion to Tannenbaum as textbooks for my undergrad operating systems course. Very focused on the details of implementation of central parts of linux 2.6, whereas Tannenbaum is more theoretical and not focused on implementation details. However, that specificity has caused this work to not age so well, as the 2.6 kernel is now quite outdated, and in certain cases his recommended ways of doing things are now outdated too (his enthusiasm for uevents has, I believe, not been borne out by time). I had a few other minor complaints:

* The background knowledge assumed (or not assumed) by the author was in some places rather unusual; I feel like if a potential kernel dev has never seen a linked list or binary tree before, there's already a problem.
* In certain chapters (I'm thinking of the VFS here as the most serious case), long sections were spent talking about all the fields of various structs and all the functions of various operations on struct types, but there wasn't quite enough pulling it all together to give me a good picture of (say) the lifecycle of a file and all the structs associated with it. If he'd gone one layer of abstraction up, from documenting the API to linking all the parts together, that would've been really useful. As it stands, I probably need to go re-read that chapter, and then the source, to get that holistic understanding of file management.
* I'm really curious what the Debugging chapter would look like now, what with kASAN and kmemleak and all these other good tools coming out.

All that said, I have found this useful for my work and expect to continue to do so.
Profile Image for Rohit Shinde.
115 reviews12 followers
October 14, 2020
Robert Love has written an excellent book covering the major systems of the Linux Kernel. It starts off with describing the main systems and how they are inter-related with each other. These include the virtual filesystem, the memory manager, the drivers, the process schedulers and more. All of them include the relevant snippets from the Linux Kernel.

Although the book was written around 10 years ago, it is still extremely relevant today. I had the kernel source open in another window and I was browsing through the relevant parts of the code while reading what the author had written. It gave me more insight into what the author was trying to say.

If you want a good introduction to Linux and a basic tour of the systems embedded in the source code, this is the book for it.

P.S: This will be extremely useful for those pesky Linux questions in interviews as well.
Profile Image for pandapoo.
24 reviews
May 27, 2020
Well written and very informative book. I did not understand it entirely as I am not by any means a kernel hacker, although it gave me the opportunity to understand most of the Linux kernel characteristics. Sure this book is old enough and is written for kernel 2.6, although I am pretty sure it will give you an insight on several kernel structures.
3 reviews
February 9, 2023
Outstanding

The author does a wonderful job of explaining everything you need to know. He builds based on the previous chapters to help you understand more complex ideas in future chapters. It's well written and reads like a friend took time to explain it in a way that I understand.
5 reviews
August 15, 2024
not too deep and dwells on impl details like 'understanding the linux kernel'
easy to soak in
but not suitable for those who are not familiar with OS concepts

the author is a bit condescending
there are places he does not explain it when he could have, instead he makes it ambiguous and then teaches you a lesson with oral language later.
1 review
February 26, 2020
After you read any OS book, this one may be one of the best books to know more about operating systems. Most OS books only talk about ideas and concepts, this one gives us more details but not the whole detail. Great book!
Profile Image for N0dgrand87.
8 reviews
February 2, 2020
Must read for all middleware or system level developers. Preemption, context switch, process scheduling all here and well explained. I wish I read this book 10 years earlier)
Profile Image for هدى.
198 reviews59 followers
June 15, 2021
I have gained a lot of knowledge from this book, sure I will return back to read it again.
I love it.
Profile Image for Boris Uskov.
2 reviews
June 20, 2023
I've read it several times. Great manual for every system programmer (not only for Linux)
Profile Image for Mohamed Shams.
24 reviews9 followers
January 3, 2024
Quality of chapters vary widely, and some of the content is out of date. Provides enough context to be a high-level companion while hacking the kernel.
2 reviews2 followers
August 2, 2025
Excellent book, hard to reccomend as it is quite dated
Profile Image for Ma.
36 reviews6 followers
March 29, 2022
this book was pleasant to read due to its clear and concise style.

3rd edition was published 12 y ago, so it desperately needs an update. however this fact does not make it less attractive.
Profile Image for Marshall.
170 reviews20 followers
August 23, 2015
This book is a great reference manual for Linux APIs. The chapters are laid out so that readers can ease into the complex subject of Operating System. The book serves as an important source for my Operating System class, and it helps me understand how different pieces fit together.

Linux Kernel code base is big, lack of clear structure to beginners. The book explains in details how each pieces fit together, the functions of each API calls. It is a great book to have by desk for people who do low-level system work.
Profile Image for Manavendra Manav.
7 reviews1 follower
September 22, 2014
Very good book for beginners to understand the Linux kernel API's and mechanisms. It has a good complete chapter devoted to Bottom Halves mechanisms like SoftIRQ, Tasklets, Work queues, etc. A must read for Linux enthusiasts. However, it lacks exercises and some text is old (2.6.xx) as compared to the rapidly changing Linux kernel versions (3.16.xx). Looking forward to buy the 4th edition.
Profile Image for Terry Wang.
2 reviews5 followers
March 22, 2013
Excellent book even if you are NOT a kernel developer, it really helped me to understand how the Linux kernel works and solved a lot of my misunderstandings (dentries, path, buffer/page cache etc.).

Process Management, scheduling, System calls, MM, VFS, Block I/O layer, Process Address Space, Page Cache and Page Writeback, Modules, Debugging, these chapters are brilliant.
Displaying 1 - 30 of 49 reviews

Can't find what you're looking for?

Get help and learn more about the design.