
Ask HN: Best textbooks for learning operating systems - sgillen
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.
======
unmole
_Operating Systems: Three Easy Pieces_ [0] coupled with Xv6[1].

Once you understand the fundamental ideas, you can move on to a specific real
world implementation like _The Design and Implementation of the FreeBSD
Operating System_ by Marshall Kirk McKusick et. al or _Linux Kernel
Development_ by Robert Love.

[0]:
[http://pages.cs.wisc.edu/~remzi/OSTEP/](http://pages.cs.wisc.edu/~remzi/OSTEP/)

[1]:
[https://pdos.csail.mit.edu/6.828/2012/xv6.html](https://pdos.csail.mit.edu/6.828/2012/xv6.html)

------
alexgmcm
I have heard good things about the 'Dinosaur book', "Operating Systems
Concepts" by Silberschatz.[0]

[0]:
[https://www.amazon.com/dp/1119456339/](https://www.amazon.com/dp/1119456339/)

~~~
3minus1
It's good. I found it way more readable and engaging than other CS textbooks.

------
ThePhysicist
I can second the recommendation of Robert Love's books on Linux
([https://rlove.org/](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.

------
deepaksurti
If you want a quick, concise, pragmatic course to learn about OS, I would
recommend Paul Krzyzanowski's OS Course that he teaches at Rutgers University.
[1]. See course material at [2].

[1]
[https://www.cs.rutgers.edu/~pxk/416/index.html](https://www.cs.rutgers.edu/~pxk/416/index.html)
[2]
[https://www.cs.rutgers.edu/~pxk/416/syllabus.html](https://www.cs.rutgers.edu/~pxk/416/syllabus.html)

------
runjake
On the Windows OS side of the house, the Windows Internals book is a great
dive into the nether regions of the OS.

[https://docs.microsoft.com/en-
us/sysinternals/learn/windows-...](https://docs.microsoft.com/en-
us/sysinternals/learn/windows-internals)

------
raylangivens
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.

------
Antonio123123
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.

~~~
stuxnet79
> 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).

------
zapperdapper
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.

------
erkkonet
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.

------
cjbprime
Linux Device Drivers is nice, and free.

