5 ms·
Windows and Darwin (MacOS) were originally designed to be hybrid kernels, but compromised by allowing more and more stuff into kernel space until they were the
by muricula 5y ago
Windows and Darwin (MacOS) were originally designed to be hybrid kernels, but compromised by allowing more and more stuff into kernel space until they were the monolithic kernels we know today. Changing code built up over 20-30 years while maintaining compatibility, security, and performance guarantees is not something which could be accomplished in a couple of months.
- eyberg 5y agoThe Hurd is actually older than Linux now at a ripe age of 32, although I think it was Mendel Rosenblaum that said "hypervisors/machine monitors were microkernels done right". https://www.usenix.org/legacy/events/hotos05/final_papers/full_papers/hand/hand.pdf https://www.usenix.org/legacy/events/hotos05/final_papers/fu...
- SubjectToChange 5y agoModern hypervisors are more or less modeled on microkernels, not the other way around. Microkernels are just naturally a good fit for hypervisors, hence why nearly all commercial microkernels have an embedded hypervisor solution.
- lazyier 5y agoEarly versions of Windows NT WAS a 100% honest microkernel OS. Microsoft abandoned that approach when they realized they had zero chance of being competitive with Unix with a microkernel architecture. Darwin was never intended to be anything except what it is, which is a monolithic kernel. The XNU kernel was based on FreeBSD kernel and Mach kernels. Some versions of the Mach kernel were microkernel, but many were not. Both NT and XNU incorporate message passing features from microkernels, but they are monolithic in that they are essentially a single large process. "Hybrid kernel" is more of a marketing thing than an engineering term. Microkernels are a dead-end and never stopped being a dead end. It's a lovely idea that didn't work out. They had limited commercial success in embedded systems, but only because those embedded systems didn't actually do very much and what they did was largely not performance critical.
- pjmlp 5y agoIn what concerns Windows, it is surely hybrid, specially since secure kernel was introduced. And Apple's long term roadmap to move all kexts to userspace is a means to improve the current state.
- SubjectToChange 5y ago> Microkernels are a dead-end and never stopped being a dead end. It's a lovely idea that didn't work out. They had limited commercial success in embedded systems, but only because those embedded systems didn't actually do very much and what they did was largely not performance critical. VMware's vmkernel? VFIO/Kernel-bypass? Shoving things into kernel space does not guarantee good performance by any means, and it murders security.
- UltraViolence 5y agoMinix seems to be doing great running on every Intel processor in existence.