Live data from Hacker News

How to Write an Operating System

acm.uiuc.edu

41–50 of 59 posts

Re: How to Write an Operating System

#41
post #9
post #4

See, this is why I dream of making FU money. So I can spend all my time doing stuff like that.

Makes me wonder, can I make that money doing stuff like this? I know systems research is irrelevant and all that (Rob Pike)... AFAIK the last successful operating systems startup was VMware (is that true?). Does the world have place for more OS startups these days?

What about XenSource? I believe they were later than VMware, and they made a tidy sum when Citrix bought them.

Re: How to Write an Operating System

#42
post #20
post #11

Earlier quoted context omitted.

I think there is. Every OS that exists is a mess. Make an OS whose inner workings I can undestand (and therefore are very well documented) while allowing to make commonly used software, and I will worship you.

There's no need for a new operating system if your criteria is just "inner workings I can understand". OpenBSD is very thoughtfully implemented, its documentation is top notch, it's open source, and yet it is a general purpose operating system that runs real world applications. It isn't a "mess"; in terms of its design, I think OpenBSD is about as clean as a real-life operating system can possibly be, so much so that…

It's true I don't know BSD, I always thought I ought to investigate it and Minix. But well, there's only so much hours in a day :)

Re: How to Write an Operating System

#44

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-Operatin…

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

Re: How to Write an Operating System

#45

Earlier quoted context omitted.

Hey, thanks for the shout-out. Not only are we working on XOmB, (pronounced 'zombie') but we extracted all of the stuff "from power on 'till kmain" and called it XOmB Bare Bones, so that other people who want to write kernels in D don't have to worry about that ugliness: http://wiki.xomb.org/index.php?title=XOmB_Bare_Bones

That is great to hear. I've heard a few stories on how painful that stuff was to track down and write. Bring up always sucks. This sounds like an excellent way for people to dig into writing kernels without forcing people to write all the bootup code before they can do anything. How do you do device handoff? Are people restricted to an exokernel model or can they handoff to a macrokernel kexec style? (VMware used to…

In classic exokernel fashion... you have a choice! Someone can write a libos to handle that stuff however they'd like, or you can just go do the work yourself.

Re: How to Write an Operating System

#46

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-Operatin…

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 - understan…

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

Re: How to Write an Operating System

#47
post #21

Earlier quoted context omitted.

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

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

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

Re: How to Write an Operating System

#48

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-Operatin…

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

Re: How to Write an Operating System

#49
post #9
post #4

See, this is why I dream of making FU money. So I can spend all my time doing stuff like that.

Makes me wonder, can I make that money doing stuff like this? I know systems research is irrelevant and all that (Rob Pike)... AFAIK the last successful operating systems startup was VMware (is that true?). Does the world have place for more OS startups these days?

Minix is hiring driver developers and kernel hackers.

Re: How to Write an Operating System

#50
post #4

See, this is why I dream of making FU money. So I can spend all my time doing stuff like that.

This was written by undergrads at ACM's UIUC. I went to school there. You don't need FU money.

When you are an undergrad or recent graduate, you can do this.

When you are older, have a job, you need FU money generally. Or no life.

Post reply on HN