QNX, Symbian, L4, PikeOS are just some examples of operating systems with micro-kernels that achieved success on the market.
Only the desktop/server OSs still lag behind due to compatibility with existing software.
QNX, Symbian, L4, PikeOS are just some examples of operating systems with micro-kernels that achieved success on the market.
Only the desktop/server OSs still lag behind due to compatibility with existing software.
I run software that (thanks to poor design, IMO) manages to bottleneck context switching on Linux's monolithic kernel. I can't imagine this not being worse with more of the OS pushed out into userspace, though I'd love to be proven wrong!
It can potentially be even better, since you can potentially get more direct access to whatever resource you're contending on.
The Mill CPU design doesn't have a user/kernel mode split, and it's also single-address-space (still with the same level of protection, just a different mechanism). Protection domain switching is done through portal calls, which are essentially shared library-like indirect calls with metadata for the CPU. Further, saving and restoring things like registers is done asynchronously. That should remove any remaining performance difference (and make monolithic designs faster too).
Their forum has some good responses from the team on follow up questions asked by the community as well.
i also tried installing the debian port on an old desktop but had some driver issues. i guess most people run it in a hypervisor.
there are a lot of architectural advantages to putting all drivers in user space. the hurd isn't really totally comparable to plan 9 (because it runs on a microkernel) or minix (because it's thought of as being independent of the any partciular microkernel). but it seems like the community/political issues -- plus the amount of cruft that's bound to accumulate in a codebase that old -- has nearly slowed to project to a grinding halt, which is a kind of a shame.