|
 |
On 20/12/2010 05:53 PM, Darren New wrote:
> that traditional OSes hold back the more sophisticated (as in, far from
> machine language) languages.
Perhaps. I guess it kind of depends on what you're trying to do. If you
have an application that just does its computations in its own little
world, then it's fine. If, on the other hand, the application wants to
do arbitrary stuff with the whole machine, then... yeah.
Wasn't there an OS written in Smalltalk at some point? (Or was that only
for special hardware?) Certainly you can see that if the Smalltalk
runtime was running on the bare metal, it would have all sorts of
interesting consequences. (For example, since *everything* can be
changed, you could invent some new bizare concept of files.)
Speaking of which...
http://halvm.com/
That's Haskell running on bare metal. (Well, OK, no it isn't, it's
running under a Xen hypervisor. But that's /almost/ the same thing.)
Apparently the guys at Galios actually use this thing, so that (say)
your web server runs in one VM, all by itself, and your DB runs in
another VM, and so on. But it would be interesting to see what happens
if you tried to write an actual "operating system" in Haskell, rather
than just an application.
> http://www.artima.com/lejava/articles/azul_pauseless_gc.html
That contains a lot of "look at us, aren't we clever!" and not very much
technical detail. It seems the only novel detail is that they're using
the memory protection hardware to trap and remap accesses to moved
objects. That's a neat detail, and one which (they assert) would be too
inefficient with a normal OS. But that seems to be just about it.
Haskell has a rather interesting invariant: since *most* objects are
immutable, old objects can never point to new objects. It seems like
this should make some kind of interesting GC algorithm possible.
Personally, I thought the article on GC avoiding paging was more
interesting.
> Traditional file system interfaces probably do too.
Now, do you mean "file systems", or do you mean "interfaces to file
systems"?
> It's interesting that this sort of stuff is starting to get to the point
> where people will be willing to break with compatibility at some level.
> Phones, game consoles, set-top boxes, and eventually probably
> "enterprise" or "cloud" type servers will all be willing to consider a
> different operating system that puts limits on compatibility with
> previous languages and libraries.
Well, we'll see what happens.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
 |