Reading Rob Pike‘s Systems Software Research is Irrelevant.
Rob mentions that a large amount of work goes into supporting standards. These include application level standards (e.g. HTML / HTTP), system level (e.g. POSIX) and hardware level (buses, instruction architectures).
Solving the third one is easy – just run everything under a hypervisor. That makes the hypervisor a “standard” you must write to, but hopefully, it’s a much simpler standard.
Solving the first two is more difficult. I am especially interested in “magical POSIX compatibility” for a LISP operating system…
The Quran
It is said that when the Muslims burned the library in Alexandria, someone asked the person in charged if the knowledge in the books was not useful. “What agrees with the Quran”, he said, “is in the Quran — and what disagrees with the Quran should be burned.”
That sums up how I feel about the paper.
There are parts we have talked about (the irrelevance of “applied” CS) and so I was not interested, and then there were the idiocies. Perhaps because he invented UNIX, he keeps reiterating on how Linux has no novel ideas in it. SMP, Modules, Journaling File Systems (as well as MOSIX) show that using Linux as a baseline can improve areas of active research. While many have problems with Hans, ReiserFS is certainly not your mother’s UNIX file system.
His criticism of the Lanugage community is completely off-base. A lot of work is being done on components, and I happen to think it is futile anyway. Much of his lamentations about how much time is spent supporting standards is exactly what the language community is about (Twisted with Nevow means you care a lot less about supporting TCP/IP, HTTP and HTML). He redefines “systems” research as exactly what he did, uses irrelevant facts (Windows is more popular than Linux, Linux interface is not “as good as” Windows, etc.) while completely forgetting relevant facts (OS X actually has various GUI innovations and Linux window managers have been written which are very experimental and unlike the classic metaphor — e.g., non-overlapping windows).
Sorry, not impressed.
Comment by moshez — September 21, 2004 @ 5:49 AM |
Re: The Quran
> The Quran
> It is said that when the Muslims burned the library in Alexandria,
> someone asked the person in charged if the knowledge in the books was
> not useful. “What agrees with the Quran”, he said, “is in the Quran —
> and what disagrees with the Quran should be burned.”
>
> That sums up how I feel about the paper.
I agree with everything you said here and below, but treat them much more forgivingly. This is not a paper! it’s a talk, and should be treated as such – the author’s opinion. Regadless of the idiocies you mentioned, he does mention some very good points. Specifically, implementing a new *useful* OS from scratch is hard, because of the reasons he enumerates.
> because he invented UNIX, he keeps reiterating on how Linux has no
> novel ideas in it. SMP, Modules, Journaling File Systems (as well as
> MOSIX) show that using Linux as a baseline can improve areas of active
> research. While many have problems with Hans, ReiserFS is certainly not
> your mother’s UNIX file system.
I agree, but … you can’t call Linux a new or novel OS. It’s an excellent remiplementation of UNIX, not something new. As a basis for research it’s great, but in its core, it is neither a research OS nor an OS based on novel research concepts.
> His criticism of the Lanugage community is completely off-base. A lot
> of work is being done on components, and I happen to think it is futile
> anyway. Much of his lamentations about how much time is spent
> supporting standards is exactly what the language community is about
> (Twisted with Nevow means you care a lot less about supporting TCP/IP,
> HTTP and HTML).
Can I get full POSIX support in twisted, please? 🙂
> He redefines “systems” research as exactly what he did,
He’s full of hubris, but I guess he earned the right 🙂
> uses irrelevant facts (Windows is more popular than Linux, Linux
> interface is not “as good as” Windows, etc.) while completely
> forgetting relevant facts (OS X actually has various GUI innovations
> and Linux window managers have been written which are very experimental
> and unlike the classic metaphor — e.g., non-overlapping windows).
Agreed here.
> Sorry, not impressed.
Your prerogative. Let me throw the question back at you, though – have you read a systems research paper lately that did imperss you?
Comment by mulix — September 21, 2004 @ 5:59 AM |
Re: The Quran
Well, depends on what you define as “systems research”, and also, since it is not my field, I read very few papers on it.
Certainly, the MOSIX talk (not a paper, though) impressed me.
Reading the web site of ReiserFS and seeing the ideas there interested me (impressed would probably be too strong).
Again, my problem is that defining “systems research” as “writing new OSs from scratch” is problematic — it was fine for Dennis’s time, but nowadays using Linux as a baseline from which to launch experiments is much saner, which is why everyone is doing it — and that is exactly what he complains about! I think this hubris is the usual hubris of “kids these days”…
By the way, there are people writing novel operating systems based on novel concepts (Ununium and Eros are two examples I could think of without even searching the web), and many people, including me, consider them idiots for not building on Linux 🙂
[I avoided mentioning HURD out of the assumption there will be more heat than light in that debate.]
Comment by moshez — September 21, 2004 @ 6:21 AM
Re: The Quran
> Certainly, the MOSIX talk (not a paper, though) impressed me.
Likewise.
> Reading the web site of ReiserFS and seeing the ideas there interested
> me (impressed would probably be too strong).
When it comes to reiserfs, I have a hard time seperating the technical stuff from Hans Reiser’s less-than-stellar presentation of them (cf. recent reiser4 flamefest on lkml).
> Again, my problem is that defining “systems research” as “writing new
> OSs from scratch” is problematic — it was fine for Dennis’s time, but
> nowadays using Linux as a baseline from which to launch experiments is
> much saner, which is why everyone is doing it — and that is exactly
> what he complains about! I think this hubris is the usual hubris of
> “kids these days”…
But don’t you agree that by using Linux (or any other “established” OS) as a baseline to explore from, you are by definition limited in your exploration? New FS or scheduler, fine. New VM? hard, but doable. New kernel architectures? almost impossible. What you end up with is no longer Linux, but still very much influenced by it.
> By the way, there are people writing novel operating systems based on
> novel concepts (Ununium and Eros are two examples I could think of
> without even searching the web), and many people, including me,
> consider them idiots for not building on Linux 🙂
But are those concepts seeing the light of day? industrial adoption in any way shape or form? will they ever?
(playing devil’s advocate here…)
> [I avoided mentioning HURD out of the assumption there will be more
> heat than light in that debate.]
I thought it was just good taste :P~~
Comment by mulix — September 21, 2004 @ 8:25 AM
Re: The Quran
Well, of course you’re limited. But in math, one is also limited when one starts with ZFC as the axiom set — and yet almost all mathematicians do. When an area matures enough, one realizes the ways to limit one’s self to make explorations more productive. Of course, revolutions are not possible this way — but a significant part of research is not revolutions. Revolutions come when a crisis is reached — just like UNIX appeared out of a crisis. There will, probably, be a crisis in systems research. There isn’t one yet. This is why the new revolutionary concepts are not seeing the light of day — the time for revolution is not here. Cf. Thomas Kuhn, _The_Structure_of_Scientific_Revolutions_.
Comment by moshez — September 21, 2004 @ 10:39 AM
hypervisor or microkernel ?
If you think about it, HV isn’t much more than … a microkernel 🙂
Ok, maybe slightly lower level than most implementation of that dreadful concept so far, but still….
Now, is it worth the overhead ? Especially if HVs tend to be written by HW folks … you know (or maybe you don’t) how crappy are device drivers written by HW folks …
Comment by _benh_ — September 21, 2004 @ 6:05 AM |
Re: hypervisor or microkernel ?
> hypervisor or microkernel ?
Is there a difference? 🙂
> If you think about it, HV isn’t much more than … a microkernel 🙂
>
> Ok, maybe slightly lower level than most implementation of that
> dreadful concept so far, but still….
>
> Now, is it worth the overhead ? Especially if HVs tend to be written by
> HW folks … you know (or maybe you don’t) how crappy are device
> drivers written by HW folks …
It’s definitely worth the overhead for some applications. It’s also definitely not worth it for other applications. I’m playing with a hypervisor that is pretty nice these days (the IBM research one, if you know it). As for drivers written by HW folks *shudder*
Comment by mulix — September 21, 2004 @ 6:14 AM |
Re: hypervisor or microkernel ?
openhyp ? I’ve seen Rusty playing with it a bit, looks interesting but needs more work …
Comment by _benh_ — September 21, 2004 @ 6:21 AM
Re: hypervisor or microkernel ?
yeap, that one.
Comment by mulix — September 21, 2004 @ 8:25 AM