Live data from Hacker News

How to Write an Operating System

acm.uiuc.edu

11–20 of 59 posts

Re: How to Write an Operating System

#11
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?

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.

Re: How to Write an Operating System

#12

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…

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!

Re: How to Write an Operating System

#13
I used XINU to study OS course: http://en.wikipedia.org/wiki/Xinu

Xinu is a small, elegant, multitasking Operating System supporting the following features:

    * Concurrent Processing
    * Message Passing
    * Ports
    * Semaphores
    * Memory Management
    * Buffer Pools
    * Uniform Device I/O
    * Shell
    * Tcl
    * TCP/IP
Xinu was originally designed as a vehicle for teaching Operating System design concepts and is used by many educational institutions for this purpose. Later versions supported TCP/IP, these versions are often used in Data Communications courses.

Re: How to Write an Operating System

#14

I used XINU to study OS course: http://en.wikipedia.org/wiki/Xinu Xinu is a small, elegant, multitasking Operating System supporting the following features: * Concurrent Processing * Message Passing * Ports * Semaphores * Memory Management * Buffer Pools * Uniform Device I/O * Shell * Tcl * TCP/IP Xinu was originally designed as a vehicle for teaching Operating System design concepts and is used by many educational i…

Interesting project, but it's name sounds too much like Xenu: http://en.wikipedia.org/wiki/Xenu .

Re: How to Write an Operating System

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

That's why I love the software industry. We have such a low financial barrier to if you want to play around with even the deepest systems programming techniques, or the highest-level functional programming languages. All you need is a $400 PC.

Re: How to Write an Operating System

#16
Some hobby OSes:

http://f2.fasm4u.net/hyos.html

http://softwarewizard.dk/mojo

http://mikeos.berlios.de

http://www.ctpp.co.uk/chaos

http://www.returninfinity.com/baremetal.html

http://mythago.net/enthflux.html

A kernel development tutorial:

http://www.jamesmolloy.co.uk/tutorial_html/index.html

Re: How to Write an Operating System

#17
Some good tutorials can be found at http://www.osdever.net/tutorials/index - these are generally more hands-on than academic textbooks. Also, feel free to have a look at http://flick.cvs.sourceforge.net/flick/src/, my attempt at writing an OS (long time ago, now); the code is clear enough to give you a rough idea on how to get started.

Re: How to Write an Operating System

#18
post #14

I used XINU to study OS course: http://en.wikipedia.org/wiki/Xinu Xinu is a small, elegant, multitasking Operating System supporting the following features: * Concurrent Processing * Message Passing * Ports * Semaphores * Memory Management * Buffer Pools * Uniform Device I/O * Shell * Tcl * TCP/IP Xinu was originally designed as a vehicle for teaching Operating System design concepts and is used by many educational i…

Interesting project, but it's name sounds too much like Xenu: http://en.wikipedia.org/wiki/Xenu .

Actually, it's Unix backwards, but surely you knew that.

Re: How to Write an Operating System

#19
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?

There's definitely room for improvement over currently used server and desktop operating systems; the security models used by desktop Linux, OS X, Windows, and BSD don't meet the needs of users in a world of malicious software. iOS and Android were able to improve on the situation a good deal by adopting higher-level security models that protect applications (and their data) from one another, but the desktop lags behind.

As far as I know there's no technological reason the same couldn't be done with the server or desktop, it would just be an enormous shift in momentum to get there from where we are now. But if we're willing to stomach shifts in momentum, we could even go further and consider other, more radically different approaches to security than what's commonly used now, such as Microsoft's Singularity.

I don't know enough to say whether an operating system startup could be successful, but I think if it were, it would be less about basic operating systems research than about getting what research we already have into the hands of the masses on the desktop or the server. Presumably by targeting sectors where customers care enough about security to make the difficult switch to a fundamentally incompatible system.

Re: How to Write an Operating System

#20
post #11
post #9

Earlier quoted context omitted.

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?

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 my college operating systems professor even chose it over Minix for teaching the course.

I still think there's room for improving operating system security models, but I don't think it's possible to improve over OpenBSD in this particular dimension.

Post reply on HN