6 ms·
What if the pure microkernel approach is flawed and hypervisors offer a sensible middle ground?
by panpanna 7y ago
What if the pure microkernel approach is flawed and hypervisors offer a sensible middle ground?
- jacquesm 7y agoMost of the people that rail against pure microkernels have zero experience actually building stuff with them. Those that do have that experience have hard proof that systems built in this way are more reliable and easier to build than others. Hypervisors have their own place in the hierarchy, they do not compete effectively with microkernels on their own turf.
- naasking 7y agoThe typical problem with microkernels is poor backwards compatibility, mainly due to POSIX. If you add POSIX compatibility, you don't gain any isolation, performance or security benefits of microkernels, and changing your thinking and your programs to gain those benefits requires significant work when they're written against the POSIX API. Building them that way from scratch is pretty much just as easy as writing programs in UNIX, modulo the lack of tooling that is mostly POSIX-based.
- gtirloni 7y agoIf you don't mind this tangent question... Is there a microkernel API that has more acceptance nowadays? In other words, where should anyone wanting to work on real world / enterprise systems based on microkernel look?
- meddlepal 7y agoIsn't Windows NT the poster child for a non-POSIX mainstream microkernel?
- naasking 7y agoNT kernel is not really a microkernel. It tool inspiration from microkernels but it's still a highly modular monolithic kernel.
- naasking 7y agoseL4: https://sel4.systems/ https://sel4.systems/ The kernel is even formally verified, and it's very widely deployed.
- panpanna 7y agoDefine wildly. The Okl4 kernel in iPhones is extremely limited in its functionality, you could probably run that code even without an Os. It could also be argued if in its current form it is really a microkernel. Furthermore, sel4 and okl4 are not the same product. (nothing bad on sel4, I have used it myself and I personally know the people behind the project. But it's not what you think it is)
- naasking 7y agoNot what I think it is? It's a capability secure microkernel, that's literally all I've ever claimed. I'm not sure what you think I've been saying.
- nicklarsennz 7y agoseL4 looks quite interesting. What use cases have you used it in?
- gnufx 7y agoI don't know if that's the idea, but Genode works over a few microkernels.
- chelmuth 7y ago(original Genode dev here) You nailed it: From day 2 or so we imagined to develop Genode as the future common API for the diverse range of microkernels and showcased the approach with all L4 kernels we could get our hands on. The vision is still to provide a replacement for POSIX in the microkernel world ;-) Regarding POSIX, we don't think that tools and applications developed for this interface do not fit the microkernel world but on the traditional systems level POSIX (and its tools) is not sufficient to make the best of out of the microkernel advantages. For example, we run libcurl, GPG, libarchive, and coreutils in an orchestrated scenario to implement a robust and secure deployment/installation subsystem in the Genode-based Sculpt OS https://genode.org/documentation/articles/sculpt-19-07 https://genode.org/documentation/articles/sculpt-19-07.
- panpanna 7y agoWould you consider the gnu hurd folks experienced enough?
- jacquesm 7y agoNo. I thought GNU Hurd was a great idea executed poorly. QnX is that same idea executed in an excellent and pragmatic way.