Linux is written to be portable across multiple processors, but it started on Intel. It assumes it has just two rings available, a privileged ring for the kernel and an unprivileged ring for user space. And ON INTEL ring-switching is an expensive operation.
I worked on Pr1me 50-series, and Pr1mos was multics-based. The hardware was segmented-memory, and ring-switching was FAST FAST FAST. (Okay, in those days 1MHz hardware was fast! :-)
But put a microkernel on modern 50-series-style hardware, with the kernel in ring 0, the drivers in ring 1, and user-space in ring 3, and you'd probably have a system that could give a monolithic kernel a run for its money for speed, and blow it away for security.
(Pr1mos never got ported to Intel, shame, but I think the 386 (as it was then) was a very poor hardware match and they just couldn't get it to work.)
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds