Hacker News new | past | comments | ask | show | jobs | submit login

Either I'm missing something or this tutorial is seriously lacking.

I'd much recommend Tannenbeum's classic text that covers implementing Minix: http://www.amazon.com/Operating-Systems-Implementation-Prent...

But since this text is rather old, it doesn't have some of the later developments in OS. So for that additional material, I'd recommend his latest book to have at your side: http://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenb...

Windows Internals is also a good book for learning about operating systems, even if you're not specifically interested in Windows. Mac OS X is more detailed since the source code itself can be published, but it's not as easy to read (gets pretty dry at times). I also enjoyed reading Robert Love's "Linux Kernel Development".

One of the things that really helped me learn more was reading both of those books - understanding two very different kernels (NT vs. Linux) really helps you grok the problems an OS has to solve, and to separate "This is a NT thing" vs. "This is a hardware thing that every OS has". Kind of like learning a foreign language makes you think more about grammar in your native language (at least for me).

I wrote Love a personal thank you letter after I read LKD :-)

Actually, I'd recommend the latest version of OSDI, which is fairly recent, and contains the complete source for MINIX3 (in text form, and on CD): http://www.amazon.com/Operating-Systems-Design-Implementatio...

Thank you. I'd learned from the original text. I never knew he had released a couple more editions of this.

In fact, I may have to go buy this now!

So Tanenbaum has two OS textbooks in print? How different are they? Why read one rather than the other?

OSDI is "the MINIX book". It shows, about as much detail as possible, how a microkernel-based OS is written, down to the actual (complete) source code.

Modern Operating Systems, on the other hand, is a bit higher level (but still fairly nitty-gritty) and examines two monolithic kernels (Linux/Unix and Windows) as case studies.

He has THREE. Don't forget the Amoeba book "Distributed Operating Systems" (not sure if it's in print though.)

The tutorial certainly lacks any emphasis on security. It ought to be mentioned right up front. Does the choice of development environment matter? Say so!!! Trying to add security after the fact is painful and tends to be only marginally successful.

OS security is something that really aught to be discussed separately from OS texts. I mean, not all OSes are multiprogramming or need security. Earlier version of his Operating Systems book taught MS DOS, along with others, for example.

Security exposition is something best left to a separate text, and Matt Bishop's fat book does a good job (not the thin watered down one.)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact