I really wonder what the overlap between Minix and Mirage are btw. Could Minix be used like Mirage as a minimal application-specific OS?
I really wonder what the overlap between Minix and Mirage are btw. Could Minix be used like Mirage as a minimal application-specific OS?
Mirage OS (also Haskell's HaLVm) are layers on-top of Xen. It would seem to me that the microkernel and exokernel designs wouldn't really be used the way Mirage is on-top of Xen except that Mirage / HaLVm could replace much of the userland on the microkernel or be its own os library on an exokernel.
The overlap I think you're seeing is that Xen acts a bit like a "microkernel" and Mirage is the userland implementing the lower-level interfaces provided by the kernel. Minix in this sense is a more complete picture but I don't see why Mirage or HaLVm couldn't be "userland libraries" for microkernels and exokernels.
I think it's a great idea actually. Build a small kernel with very few responsibilities so it's easier to prove safety, then construct the whole of userland on-top of a known type-safe language (Haskell or OCaml) and you get a potent platform!
That already exists and was just open sourced! See seL4:
http://en.wikipedia.org/wiki/L4_microkernel_family#High_assu...
While I like constructing a userland using a safe language over a small safe microkernel, I am annoyed by the hype this is getting because it's not new. Thinks like QNX, Symbian, GNU Hurd are based on this very concept. The only difference nowadays is the renewed interest in safer languages, which I suppose is only enabled thanks to Moore's Law giving us the headroom. It's also like everyone forgot the flamewars (Torvalds-Tanenbaum anyone?) about how microkernels were inherently slower. I'm sure that demon is going to reemerge soon enough, and we'll be back mucking around in C/C++ for performance. Just like 20 years ago. Those who don't learn from history...
Having not written a kernel, I can't judge those claims. It would be interesting to know if Minix has any "harder" algorithms than Linux because of this.
I think L4 already existed around that time, and got 10x or 100x improvement in IPC times, showing that microkernels could be fast enough.
But honestly, I'd rather learn to use the force. Better get that midichlorian shot.