Are microkernels and hypervisors converging?
I was asked this question by a reader of my recent article Microkernels Rule! in embedded.com. The short answer is that hypervisors are becoming microkernels.
Yes, there’s a convergence, but it’s mostly the hypervisors that are changing. Microkernels have been successfully used as hypervisors
for over ten years (L4Linux was done at Dresden and published in ’97). In x86 space, L4Linux has had roughly the same performance as
XenoLinux. And, of course, OKLinux running on OKL4 represents the cutting edge of virtualization technology for embedded systems.
On the other hand, hypervisors are definitely (albeit slowly) becoming microkernel-like. People are becoming sensitive to the size of the
trusted computing base, and the VM people are waking up to the fact that as the use cases for virtualization increase, high-performance
communication (the traditional strength of microkernels) is becoming a critical requirement. I’ve heard two keynotes last year where VMware-founder Mendel Rosenblum was describing his vision for virtualization. If you listened to his arguments carefully, it was obvious that the
implication was that the hypervisor was turning into a microkernel.
The embedded space is likely driving this, as the traditional VM model (with its implied strong isolation) isn’t appropriate there.
So, yes, there’s a convergence. Hypervisors are turning into microkernels. OKL4 is already at the convergence point.