HackerTube.live
Books / Systems

THE READING ROOM / BOOK GUIDE

Linux Kernel Development

Robert Love

A guide to how the Linux kernel is put together, written for programmers who want to read the source with some sense of direction.

About the book

Robert Love's Linux Kernel Development takes the kernel apart the way a systems programmer needs it taken apart: processes and scheduling, memory management, the virtual filesystem, interrupts, synchronization, and the interfaces between kernel and user space. The book explains the design decisions behind the code, with enough detail to follow the reasoning and enough restraint to stay readable.

Love writes as a contributor to the kernel, and the text reflects that vantage point. Topics arrive with enough context to connect them to the source tree, and the prose stays close to the mechanics: how a scheduler chooses a task, how pages get allocated, why locking matters and where it goes wrong. The result suits readers who already program in C and want the kernel's internal logic explained in plain terms.

The book occupies a useful middle ground. It is more concrete than a design essay and less exhaustive than the kernel's own documentation. Readers come away with a mental model of the major subsystems and a better sense of where to look when they need details.

How to read it

Read with a source tree open beside you, ideally one from the 2.6 era that matches the text. The explanations reward cross-checking against actual code, and the gap between the book's examples and a current kernel becomes instructive once you expect it.

The chapters on synchronization and memory management carry the most weight and deserve slow reading. Skim the parts that cover interfaces you already know. Love assumes comfort with C, pointers, and basic operating-system concepts, so readers without that background will find the pace steep.

Who it suits

This book suits programmers moving from user-space work into kernel or driver development, students who want a guided tour of a real operating system, and engineers who need to reason about scheduling, memory, or locking behavior in production. It also helps readers who can follow code but want the design rationale spelled out before they dive into the source themselves.

Reading considerations

The kernel has changed substantially since the book was written. Scheduler internals, locking primitives, and memory-management details have all moved on, so treat specific structures and function names as historical rather than current. Check which edition you have and compare its coverage against the kernel version you actually work with; the concepts age better than the code.

Follow the HN conversation

44 different recommenders are recorded in the upstream dataset. These are AI-classified source counts, not an independent rating.

Search HN comments about this book ↗

Explore videos on the same subject ↗

Book notes prepared with DeepSeek, using catalogue records and Open Library subject information. They are reading guidance, not a personal review or a verified chapter-by-chapter account. Book details can vary by edition. HN data methodology · Book metadata and covers.