2 ms·
> People have had that realization in the past "The kernel is just a library" isn't exactly the same sentiment as "the kernel should be as small as possible" -
by haberman 14y ago
> People have had that realization in the past
"The kernel is just a library" isn't exactly the same sentiment as "the kernel should be as small as possible" -- I believed the latter before I fully understood the former. "The kernel is just a library" means that all of the experience we have designing and factoring userspace APIs carries over into kernel design. Furthermore it means that the kernel is a strictly less flexible library than userspace libraries, with a strictly more expensive calling convention, and that its only advantage is that it can protect and mediate access to hardware.
> There are good reasons why they have not caught on, performance being the most salient one.
Most of the received wisdom about microkernels is based on outdated designs like Mach, and not modern designs like L4. L4 is significantly more efficient than Mach.
- adamnemecek 14y agoExokernels use library operating systems. L4 was also one of a kind endeavor extremely optimized for the specific architecture. I can't really imagine that something like this could be achievable for a commercial OS.
- haberman 14y agoOKL4 is built on a third-generation L4 microkernel and is deployed to over 1.5 billion mobile devices: http://www.ok-labs.com/releases/release/ok-labs-software-surpasses-milestone-of-1.5-billion-mobile-device-shipments http://www.ok-labs.com/releases/release/ok-labs-software-sur...
- adamnemecek 14y ago"[OKL4] is a microkernel-based embedded hypervisor". That does not quite sound like an OS.
- tmzt 14y agoWhat is an OS but a process hypervisor?
- caf 14y ago...and that its only advantage is that it can protect and mediate access to hardware. It has another advantage, which is that it acts as a trusted third party that can allow two mutually untrusting users/program to share a software-implemented resource - for example, a disk cache or a TCP stack.