Ask HN: Best textbooks for learning operating systems

47 points by sgillen ↗ HN
For someone comfortable with programming in C (say, enough to pass tech interviews with the language) what are some good textbooks or other resources to learn more about operating systems.

12 comments

[ 3.2 ms ] story [ 35.7 ms ] thread
As far as textbooks go "The Design and Implementation of the FreeBSD Operating System" by McKusick is a good resource on the UNIX side of things.
Try ops-class.org from Geoffrey Challen that uses OS/161 for programming assignments, all of the material is free. I'm doing that one now. Highly recommend Operating Systems in Three Easy pieces as well.
I can second the recommendation of Robert Love's books on Linux (https://rlove.org/) as well as "How Linux Works" by Brian Ward. I personally enjoyed "Linux Kernel Development" by Robert Love more than the former as it teaches you more about Kernel internals (IMHO). The drawback is that it's a bit outdated already (it's based on the 2.6 kernel) but on the other hand most things are still relevant as far as I know. Andrew Tanenbaum et. al.'s "Modern Operating Systems" is a good reference to learn about operating systems otherwise, independent of Linux.
Linux Device Drivers is nice, and free.
Operating Systems Design & Implementation

The book is about MINIX operating system, a operating system without hacks, to showcase the concepts.

Linux is a fork from MINIX.

> Linux is a fork from MINIX.

This is false. Linux kernel even in the early stages didn't share any code with MINIX. MINIX had a restrictive license and this was partly why Linus decided to roll his own OS kernel.

Further, the two OSs differ fundamentally from an architecture standpoint (microkernel vs monolithic kernel).

I love the XINU book. Just beautiful writing. Used it recently while building my own memory allocator. Will give you a lot of insight.

The Thomas Anderson books are a multi-volume guide to OSs.