Hacker News new | ask | show | jobs
by lazyier 1582 days ago
Early 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.

3 comments

In 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.

> 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.

Minix seems to be doing great running on every Intel processor in existence.