I am quite involved with virtualization. The interesting thing is, that some people are now running their software on the virtualized bare metal--i.e. using the hypervisor but without an operating system.
This is essentially treating the hypervisor as an exokernel operating system. And it seems to become more common.
Perhaps we are really coming to exokernels in a very roundabout way.
Yep, this is really cool. I don't remember what it was called, but didn't Sun do something like this, where the JVM basically interfaced directly with Xen?
I see exokernels as the future, but I'm slightly biased, as I'm involved with one...
But not at all as a general computing environment. It makes sense once you have your application finished that you could move it to a kernel that has just what you need. However, it makes no sense when you start development to try to guess what calls you might end up using.
You can use it as a general computing environment.
> However, it makes no sense when you start development to try to guess what calls you might end up using.
I agree. That's why you will be using libraries to duplicate what your OS did for you. The Exokernel guys call this a library OS. Libraries are already quite good at providing abstractions.
The difference to a conventional architecture is, that the kernel only provides secure multiplexing between application on the same machine. But the abstractions from the hardware are provided by some libraries. It's easier to experiment with libraries than with operating systems.
The MIT-Exokernel-Operating-System page (http://pdos.csail.mit.edu/exo.html) explains this in more detail. If you look at the first picture, and replace `Exokernel' with `hypervisor', you get modern virtualisation.
I'm semi-intrigued, but I'd like to see a sign of life beyond a page from '98. Not trying to be cruel, just saying that'd I'd like to see what's going on now.
But you can go the Smalltalk-style route. You write your app and then use a tool to pare down the environment (kernel included) to just what you use and nothing else.
The HotSpot style C1X optimizing compiler for Maxine is under heavy and constant development right now, I wouldn't be too surprised to see it ready for that sort of thing fairly soon as these things go.
This is essentially treating the hypervisor as an exokernel operating system. And it seems to become more common.
Perhaps we are really coming to exokernels in a very roundabout way.