4 ms·
Lots of interest in Microkernels since everyone got tired of kernel vulnerabilities. So who won the Tanenbaum–Torvalds debate? It is too soon to say (Zhou Enlai
by MichaelMoser123 10y ago
Lots of interest in Microkernels since everyone got tired of kernel vulnerabilities. So who won the Tanenbaum–Torvalds debate? It is too soon to say (Zhou Enlai said that of the French revolution - almost 200 years after the fact)
https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_debate https://en.wikipedia.org/wiki/Tanenbaum%E2%80%93Torvalds_deb...
The article says that the focus is on 'PCs, tablets, and high-end phones'. Wouldn't a more secure OS be relevant to server environment? Is the performance cost of a microkernel considered to be too high for a server OS? Is it too difficult to do?
- pjmlp 10y agoGiven the amount of shipped embedded systems and the hybrid designs from OS X and Windows, I would say Tanenbaum won. The majority of embedded OSes have a microkernel design. Also Windows and OS X have a kind of hybrid design, even if not a proper mikrokernel. On Windows case,there are now a sandboxed kernel and drivers. https://channel9.msdn.com/events/Ignite/2016/BRK4010 https://channel9.msdn.com/events/Ignite/2016/BRK4010 https://channel9.msdn.com/Blogs/windowsserver/Device-Guard-in-Windows-Server-2016 https://channel9.msdn.com/Blogs/windowsserver/Device-Guard-i...
- bonzini 10y agoEven with new features like Device Guard, Windows is all but a microkernel; parts of the GUI high-level primitives (like fonts) are in WIN32K.SYS. Even OS X moved a lot of drivers to kernel space, it's not a pure microkernel design like the Hurd. If anything, the closest thing to a microkernel that is in wide use is Xen, or Hyper-V.
- pinealservo 10y agoIf you mean wide use on a desktop, sure. QNX is definitely microkernel-based, though, and it's used widely in automotive head units and now Blackberry devices. Way nicer to write device drivers for than Linux!
- pjmlp 10y agoWhich is why I said hybrid, I didn't say it is a mikrokernel. In any case it is better than Linux will ever be. Regarding Xen and Hyper-V, there is a systems paper that states hypervisors are the revenge of mikrokernels.
- MichaelMoser123 10y agoWith Xen you have Linux running as dom0, not exactly a microkernel; what am I missing?
- pjmlp 10y agoHaving Linux as dom0 is just a matter of convenience for the Xen project not to write everything themselves, they could eventually get rid of it. The point of the paper is that an hypervisor behaves just like a mikrokernel, with guest systems running exactly the same way as applications would do on a mikrokernel OS.
- bonzini 10y agoI am not sure what's left of the original microkernel design in the NT kernel. You could say Linux is hybrid too because of FUSE and VFIO. But yes, I was thinking exactly of that paper when I mentioned hypervisors. It only applies to type 1 hypervisors though: not KVM, Beehyve, or OpenBSD vmm. Even VMware ESX is more of a hybrid kernel.
- pjmlp 10y agoWindows 10 thanks to UWP, Pico procresses taken from the Drawbrigde project and the MinWin rearchitecture is probably more closer to that model than the NT 4.0 descendants were. Regarding hyperviors, actually I think only type 1 hypervisors make sense. The type 2 were just a workound due to lack of hardware support.
- deleted 10y ago[deleted]
- nickpsecurity 10y agoIt was the only thing that worked without lots of physical redundancy in high reliability. It's only thing that worked against good pentesters in high security. It's widely deployed in embedded. The monolithic OS's started copying some of its traits for their benefits but kept things in kernel mode for performance. Why? They're running on CPU's optimized for monolithic instead of microkernel designs. So, I'd say evidence leans in favor of microkernels being better. The cutting-edge isn't that, though. It's hardware/software combinations that give more reliability and security with better usability & performance than microkernels. Lots of work in languages, compilers, and CPU extensions. CHERI and CHERIBSD is probably top example with Spin OS, JX OS or Redox OS on something like Watchdog-Lite CPU being representative of language-oriented work.