
Understanding The Linux Kernel
by Daniel P. Bovet · first published 2000
42mentions
24recommended by
36HN commenters
2007–2026first – last mentioned
67% recommend31% neutral3% critical
Why HN recommends it
Thorough, detailed walkthrough of how the kernel implements OS concepts, starting with memory management and x86 architecture and covering boot and data structures; suits readers who want depth before reading source.
Summarised by Claude from recommending comments
Explains the operating system's hidden processes, covering memory management, the Virtual File System, process creation and scheduling, signals, essential interfaces, timing, and synchronization in the kernel.
Affiliate links. As an Amazon Associate I earn from qualifying purchases.







…come up with excuses to browse through the Linux kernel code: http://lxr.linux.no/linux It's clean, discoverable and it does interesting things. Although it might help to first go through a book like Understanding the Linux Kernel: http://oreilly.com/catalog/9780596005658/
on “Learning the craft (of programming)” ↗…Perspective[1]. For OS theory, our OS/advanced OS textbooks are fine, but for actual implementation my coworkers recommended The Design of the UNIX Operating System[2], Linux System Programming[3], and Understanding the Linux Kernel[4]. [1] http://www.amazon.com/Computer-Systems-Programmers-Randal-Br... [2] http://www.amazon.com/Design-Operating-System-Prentice-Softw... [3] http://oreilly.com/catalog/9780596009588/ [4] http://oreilly.com/catalog/9780596005658/
on “Roll Your Own UNIX Clone” ↗Very nice summary. I encountered many of these while reading through Understanding The Linux Kernel [0] and The Linux Programming Interface [1]. Both are great books which are primarily about the "how" of the kernel, but cover a lot of the "why" of the design and algorithms as well. 0: http://www.amazon.com/dp/0596005652…
on “Basic Data Structures and Algorithms in the Linux Kernel” ↗Surely You're Joking, Mr Feynman (or anything else by Feynman is very relevant) Understanding the Linux Kernel is surprisingly thorough not just in its coverage of the Linux kernel, but also architecture and OS design in general The Design and Implementation of FBSD book now covers 5.3, which is much less dated…
on “ASK HN: Hacker Bibles” ↗…system 6.5, for nine bucks at a thrift store. I used to dream of the day when I would have enough money for an SE. Whatever box you presently have, install Linux or BSD into a VM. For Linux, read "Understanding the Linux Kernel" by Bovet and Cesati, as well as "Linux Device Drivers" by Corbet, Rubini and Kroah-Hartman. They're both published by O'Reilly. If you're going to do embedded, while not strictly necessary, it is helpful…
on “What kind of companies hire C developers” ↗"Understanding the Linux Kernel", by Bovet and Cesati, has a pretty nice section at the beginning that discusses bootup. Of course, the discussion of the Linux kernel boot sequence is extremely nice and detailed, but there is also a…
on “Ask HN: What happens when. PC boots up and loads Linux?” ↗I'm currently working on a block device driver, which means I'm digging around in kernels. I've found the O'Reilly books on the Linux kernel ("Understanding the Linux Kernel, 3rd ed" and "Linux Device Drivers, 3rd ed") as well as "Mac OS X Internals" by Amit Singh extremely helpful. The latter doesn't only cover the darwin/xnu kernel but also a lot of the OS X user space.…
on “Ask HN: Do you understand your operating system?” ↗…how the architecture of the computer works (by and large) including at the logic level: http://www.amazon.co.uk/Computer-Systems-Programmers-Randal-... If you want to go lower (and higher).. look at Understanding the Linux kernel for a good understanding of how an OS is put together, with specific examples i.e. Linux. Code, by Petzold, deals with logic and computers from the ground up. It starts with relays and builds them up…
on “Where to begin when learning C? Start by making lots of errors” ↗Understanding the Linux Kernel, 3rd Edition, https://www.amazon.com/Understanding-Linux-Kernel-Third-Dani... It's very hard and dense to read, but I don't think there's a better book out there about a networking stack implementation.…
on “Ask HN: What is a good book to learn about the network stack?” ↗Linux Core Kernel Commentary: Guide to Insider's Knowledge on the Core Kernel of the Linux Code https://www.amazon.com/Linux-Core-Kernel-Commentary-Knowledg... Understanding the Linux Kernel, Third Edition 3rd Edition https://www.amazon.com/Understanding-Linux-Kernel-Third-Dani...
on “Ask HN: I'd like to start reading the Linux source code. Where should I start?” ↗You could use the "Understanding the Linux kernel" book by Bovet and Cesari.
on “Is there a Linux equivalent to “The Design and Implementation of FreeBSD”?” ↗I've invested quite a bit of time into learning about Linux kernel programming over the last few months, and the O'Reilly books Understanding the Linux Kernel and Linux Device Drivers helped immensely. They were useful for getting higher-level feel for the system, as well as going into enough detail so I now usually know where to look or start. They're also…
on “Ask HN: Resources/Books for kernel/driver programming on Windows and OSX” ↗The O'Reilly book Understanding The Linux Kernel is fantastic. Starts you off in the deep end with memory management/addressing and fans out from there. Notably excludes networking, as the book is long enough without it.
on “Ask HN: Recommended resources to learn the Linux kernel and OS theory?” ↗I picked up a paper 2nd edition of "Understanding the Linux Kernel" from the free shelf at my local library. It spends about half of the book discussing the 32-bit x86 architecture... The other half is data structures. Very nice index of every system call discussed.…
on “x86–64 4Kb Page translation design: is this why pages are 4096 bytes aligned?” ↗…complexity of the Linux kernel, I don't think any amount of source code comments would help you much, unless you already have a strong understanding of the underlying subsystem you want to hack on. "Understanding the Linux kernel", and "Linux device drivers" are pretty good, pragmatic books IMHO to give you a solid understanding of most useful subsystem. As for this kernel building script, I guess it could be handy, but unless…
on “Easylkb: Easy Linux Kernel Builder” ↗