Live data from Hacker News

How to Write an Operating System

acm.uiuc.edu

51–59 of 59 posts

Re: How to Write an Operating System

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

Systems software research was irrelevant ten years ago when Rob wrote that. Thanks in part to his efforts, there's a great deal of relevant systems software research now: Golang, MapReduce, Hadoop, Tahoe-LAFS, Caja, Chrome (the browser), LuaJIT, seL4, Capsicum, the CLR, HotSpot, V8, Nitro, Tracemonkey, GFS, Sawzall, Pig, Redis, Puppet, Chef, Tor, HTML5, ...

Most of this, but not all, comes from the traditional academic and industrial-lab research context.

Re: How to Write an Operating System

#52

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

Don't forget http://www.loper-os.org/

by far my favourite.

Re: How to Write an Operating System

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

If this post were from, say 5 years ago I would have figured it was spot on. But today? Look at all the new OSes coming out now in the mobile/appliance space. Not to mention that Windows Vista/7 was enough of a shift that the learning cost of moving operating systems has gone down relatively (because you'll have to do it regardless).

Re: How to Write an Operating System

#54
post #15

Earlier quoted context omitted.

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.

These days, a $50 PC (or a free PC) will probably serve you better, because it's more likely to have a serial port.

You should probably try to find one that can either PXE boot or boot from a USB stick, since those are pretty much the easiest ways to quickly test your software.

Re: How to Write an Operating System

#55
post #51
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?

Systems software research was irrelevant ten years ago when Rob wrote that. Thanks in part to his efforts, there's a great deal of relevant systems software research now: Golang, MapReduce, Hadoop, Tahoe-LAFS, Caja, Chrome (the browser), LuaJIT, seL4, Capsicum, the CLR, HotSpot, V8, Nitro, Tracemonkey, GFS, Sawzall, Pig, Redis, Puppet, Chef, Tor, HTML5, ... Most of this, but not all, comes from the traditional academ…

How is Chrome "systems software"? It's just a damn web browser.

Re: How to Write an Operating System

#56
Surprised not to see "Design and Implementation of the FreeBSD Operation System" mentioned yet (http://www.amazon.com/Design-Implementation-FreeBSD-Operatin...).

McKusick's 'Kernel Internals' class is based on this, and is well worth your time (though it's a bit pricey to purchase the videos on your own: https://www.mckusick.com/courses/advorderform.html)

Re: How to Write an Operating System

#57
post #43

Earlier quoted context omitted.

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

I am not in school. I have mouths to feed.

On the other hand, weekends aren't work days anymore (not for me, at least).

Re: How to Write an Operating System

#58
post #55
post #51

Earlier quoted context omitted.

Systems software research was irrelevant ten years ago when Rob wrote that. Thanks in part to his efforts, there's a great deal of relevant systems software research now: Golang, MapReduce, Hadoop, Tahoe-LAFS, Caja, Chrome (the browser), LuaJIT, seL4, Capsicum, the CLR, HotSpot, V8, Nitro, Tracemonkey, GFS, Sawzall, Pig, Redis, Puppet, Chef, Tor, HTML5, ... Most of this, but not all, comes from the traditional academ…

How is Chrome "systems software"? It's just a damn web browser.

In http://doc.cat-v.org/bell_labs/utah2000/ (the point of reference for this discussion), "systems" is defined as "Operating systems, networking, languages; the things that connect programs together." Examples of what he's talking about from other parts of those slides include:

> By contrast, a new language or OS can make the machine feel different, give excitement, novelty. But today that's done by a cool Web site or a higher CPU clock rate or some cute little device that should be a computer but isn't.

> Work on how systems behave and work, not just how they compare. Concentrate on interfaces and architecture, not just engineering.

> Only one GUI has ever been seriously tried, and its best ideas date from the 1970s. (In some ways, it's been getting worse; today the screen is covered with confusing little pictures.) Surely there are other possibilities. (Linux's interface isn't even as good as Windows!)

> There has been much talk about component architectures but only one true success: Unix pipes. It should be possible to build interactive and distributed applications from piece parts.

Chrome is an environment for running AJAX web applications and enabling them to talk to each other; among other services, it provides a graphical user interface toolkit (DHTML), a SQL database (SQLite), security mechanism and policy (via tab-per-process, the same-origin policy, incognito mode, and restrictions in the JS engine), a JIT compiler for a language, and process management (both at the user level, with its process viewer, and at the language level with Web Workers). It has a component architecture built in; several of them, actually: iframes, plugins, JSONP. It is possible in Chrome to build an interactive application from "piece parts"; this is currently called a "mashup".

So Chrome is right in the center of the issues Pike's talk was talking about. Much of this, of course, is made of ideas that don't come originally from Chrome; but Chrome is on the cutting edge of making new stuff possible.

Re: How to Write an Operating System

#59
post #14

Earlier quoted context omitted.

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.

As well as being Unix backwards, it's also a recursive acronym; Xinu is not Unix.
Post reply on HN