|
![](/i/fill.gif) |
>> I suspect that an OS is subject to some *serious* network effects. It's
>> an interesting toy project to write an OS in language XYZ, but once
>> you've done it, what are you going to use it for?
>
> I think a much more important thing than "what [language] is it written
> /in/" is the question "what is it written /for/".
Now you're talking.
> In case of a Haskell
> OS I don't know what that would be, but in case of a Java OS it seems
> plain as hell: Run JVM bytecode. Applications are plenty for that.
Has anybody written anything more substantial than Tic-Tac-Toe applets
in Java yet?
(In the case of the Haskell OS, the design goal seems to have been
"let's demonstrate how using Haskell leads to far fewer bugs and hence
much greater reliability". Once they proved that this was so, they got
bored and did something else. Personally, the idea of a more reliable OS
is something that sounds pretty appealing to me!)
> For instance, the virtual memory management of an OS dedicated to
> running JVM bytecode could easily provide built-in support for garbage
> collection.
Well now, let's examine that for a moment.
Every OS I know is based around a series of assumptions. In particular,
that a "program" is just a monolithic block of machine code, and that
the only "services" that it needs from the OS is resource allocation,
protection, and control over the hardware.
Given how many kinds of programming languages these days use garbage
collection strategies, an OS with that wired into the kernel sounds like
quite a promising idea...
...until you realise that changing the design of the GC is likely to
break all your applications. Unless they're written in a sufficiently
high-level language that they can't "see" this level of detail.
So yes, the Java VM, or something like it, seems like a rather promising
idea...
That makes you start to think what /other/ kinds of services you might
want the OS to provide. For example, this whole "a command is a file
name, and its arguments are strings passed uninterpretted to the
program" thing. Surely we can do better.
Post a reply to this message
|
![](/i/fill.gif) |