3 ms·
"The poor reliability, poor adaptability, and poor performance of operating systems would be acceptable if applications could just ignore the operating system a
by joveian 11y ago
"The poor reliability, poor adaptability, and poor performance of operating systems would be acceptable if applications could just ignore the operating system and implement their own abstractions."
My first thought was that it seems like we have this these days with VMs, although that can still be fairly complicated to set up due to the way that VMs reliably partition hardware resources. Skimming a bit further I see this is in some ways the opposite of what they have in mind, which is to even be able to save registers in a different "process".
I tend to think that operating systems don't provide enough isolation rather than too much. I don't care too much about how they go about implementing that. I can see the appeal of a more flexible OS implementation, but I don't agree about what the OS should ultimately provide.
I wouldn't mind seeing default-available VMs that are treated more like applications in terms of resource availability and scheduling. It seems like this would at least partly address many of the concerns within a monolithic kernel design.
Can anyone recommend other good papers on exokernels? I feel like I'm not really getting it yet.
- vezzy-fnord 11y agoThe canonical paper is "The Exokernel Operating System Architecture", which came out two years later by the same author: http://u.cs.biu.ac.il/~wiseman/2os/microkernels/exokernel.pdf http://u.cs.biu.ac.il/~wiseman/2os/microkernels/exokernel.pd...
- rwmj 11y agoXen is loosely based on a Cambridge research exokernel called Nemesis[1] (a very long time ago I toured the Cambridge lab and watched a cool demo of Nemesis doing some image recognition). However the evolution of Xen didn't really lead to everyone using exokernels - even if you're running your VMs on AWS, and therefore using Xen, you're not using an exokernel in the sense of this paper. MirageOS is another project following in the same tradition, but again things have moved on and it's a unikernel which has aspects like an exokernel (choose your own abstractions), but also aspects that are radically different (no userspace and everything linked into a single image). [1] https://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xensosp.pdf https://www.cl.cam.ac.uk/research/srg/netos/papers/2003-xens...