
The design and implementation of the FreeBSD operating system
by Marshall Kirk McKusick, George V. Neville-Neil · first published 2004
59mentions
36recommended by
47HN commenters
2008–2026first – last mentioned
77% recommend23% neutral
Why HN recommends it
Thorough, applied deep dive into how a real Unix kernel is built, with code samples and coverage of subsystems like VFS. Suits readers who know OS basics and want to study Unix internals or start kernel work.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








…niceties of modern HLLs aren't free from a performance perspective. If you really want to know more, I would suggest reading one of McKusick books on operating system design (the most recent being The Design and Implementation of the FreeBSD Operating System 2/e, but even the older ones are still largely relevant). Maintaining this "useless POSIX compatibility trap" has a certain amount of utility; I for one like not having to re-write all of my programs…
on “Bash 5.0 released” ↗…Aitel et al * The Cuckoo's Egg - Clifford Stoll * Neuromancer - William Gibson * ARM System-on-chip Architecture - Stephen B. Furber * Operating Systems Design & Implementation - Tanenbaum * The Design and Implementation of the FreeBSD Operating System - McKusick, Neville-Neil These are just a few, and I'm sure there's plenty of others, even better ones. But to truly round yourself out you need to know more than programming a few languages - you need…
on “The Hacker's Path” ↗The BSDs are far more approachable, and I recommend starting there for anyone interested in kernel development. There are books, such as The Design and Implementation of the FreeBSD Operating System (by McKusick): http://www.amazon.com/Design-Implementation-FreeBSD-Operatin... There are papers, such as Jonathan Lemon's "Kqueue: A generic and scalable event notification facility" presented at Usenix…
on “Learn How to Contribute to the Linux Kernel: Take the Eudyptula Challenge” ↗If you haven't read the book "Design and implementation of the FreeBSD operating system" (https://www.amazon.com/Design-Implementation-FreeBSD-Operati...) you should. It's possibly the best "applied" OS book. It also contains some interesting code samples in the book which is surprisingly…
on “FreeBSD Myths” ↗"The Design and Implementation of the FreeBSD Operating System" not only does a great job at covering how the UFS filesystem is implemented, but also does a great job at explaining how and Unix systems are implemented. I highly recommend this book to anyone with…
on “Ask HN: Recommended guides for learning filesystems?” ↗…me sad. I don’t think it’s just about purism. For some it might be. But to me, ever since I learned some of the details about how for example the FreeBSD VFS is implemented, from reading the book The Design and Implementation of the FreeBSD Operating System by M. K. McKusick, it makes sense. Prior to that my own mental model of how file systems work on for example FreeBSD was very fuzzy. But reading about the technical details, like what kinds of structs…
on “Mtime Comparison Considered Harmful (2018)” ↗Hmmm, here's a list of books I really like: Memory as a Programming Concept in C and C++ by Frenck The Design and Implementation of the FreeBSD Operating System by McKusick/Neville-Neil Learning GNU Emacs by Cameron, et al. Practical Common Lisp by Seibel The C Programming Language by K&R The C++ Programming Language Stroustrup The Design and Analysis of…
on “Ask YC: What would you put on a hacker's bookshelf?” ↗…made freely available at: http://www.nobius.org/~dbg/practical-file-system-design.pdf I found it to be well written and interesting when I was a university student first going deep on the subject. The Design and Implementation of the FreeBSD Operating System (2nd Edition) by McKusick is also well written and covers some of the same ground.
on “Inferno, Part 3: Let's Make a Filesystem” ↗If you are into operating systems: The Design and Implementation of the FreeBSD Operating System https://www.amazon.co.uk/Design-Implementation-FreeBSD-Opera...
on “Ask HN: What's the best computer science book you've read recently?” ↗I recommend (by most expensive, to free): Marshall Kirk McKusick's FreeBSD Intensive Code Walkthrough: https://www.mckusick.com/courses/advdescrip.html Also, The Design and Implementation of the FreeBSD Operating System (2nd Edition): https://www.amazon.com/Design-Implementation-FreeBSD-Operati... Thirdly: grab a copy of FreeBSD (or OpenBSD) and (a) set it up in VirtualBox and SSH it into locally (b) use an old ThinkPad.…
on “Brushing up on operating systems and C programming” ↗…a few talks on BSD and UNIX history (and the beginnings of TCP/IP), which are on YouTube: https://www.youtube.com/watch?v=bVSXXeiFLgk If you prefer text, you can find it in Chapter 1 of his book "The Design and Implementation of the FreeBSD Operating System": https://www.amazon.com/Design-Implementation-FreeBSD-Operati... (the chapter seems to be available in the book preview) Eric S. Raymond also wrote a nice chapter on UNIX history in "The Art of Unix…
on “Ask HN: What are some great posts or articles about history of computing?” ↗…nice OS textbooks from a Unix standpoint that I've used over the years whenever I need to study some aspect of Unix in depth: - The Design of the UNIX Operating System by Maurice Bach (1986) - The Design and Implementation of the FreeBSD Operating System, 2nd Edition by McKusick, Neville-Neil, and Watson (2014) - UNIX Internals: The New Frontiers by Uresh Vahalia (1996) (note that this book covers the implementations of Unix variants that were contemporary…
on “Ask HN: Is Minix dead? No commits since 2018” ↗Neat! Marshall Kirk McKusick is giving a talk. He’s the author of some books including one of my favorite books, The Design and Implementation of the FreeBSD Operating System, 2nd Edition (2014). I bought that book when it came out and I love it but I still haven’t finished reading the whole thing. Didn’t realize it was that many years ago since it came out.
on “EuroBSDCon 2021” ↗…1: Understanding the Machine (Randall Hyde) - At the end of the day you're writing code that will execute on a machine. Understanding how the machine works will help you understand your code. 3. The Design and Implementation of the FreeBSD Operating System (Marshall Kirk McKusick, George V. Neville-Neil) - If you've ever wondered how copy-on-write pages work (some of the magic behind the fork(2) model), or how your processes get scheduled, this is a good…
on “* is Unix” ↗…like it and think it's worth the time investment, maybe try installing it on your laptop. I run it on a Thinkpad X1. The handbook is a great resource: https://www.freebsd.org/doc/handbook/ The book, Design and Implementation of the FreeBSD Operating System is quite good if you like technical reading.
on “Ubuntu 16.04: “Out of memory” errors after upgrade to 4.4.0-59” ↗