With the new version 10.02, the Genode OS Framework significantly extends its supported base platforms by the addition of two modern microkernels, namely Codezero and NOVA. In contrast to most operating systems that are tied to one respective kernel, Genode enables the development of specialized component-based operating systems that are portable across 6 different kernels including the whole family of open-source L4 kernels. Each kernel has different strengths, which increasingly become available at the framework’s API level. For example, the new version 10.02 enables applications to benefit from the real-time scheduling as provided by the OKL4 and L4ka::Pistachio kernels.
The two new base platforms are going to extend the application areas of Genode in two directions, ARM-based embedded devices and high-performance x86 virtualization. Codezero is an open-source microkernel targeted specifically at ARM platforms. Since it’s a member of the L4 family of kernels at heart, it has a number of unique features, in particular capability-based security and so-called containers, which are coarse-grained units of protection complementing L4 tasks.
NOVA is an open-source hypervisor or a modern microkernel, depending on how you look at it. Because it consolidates microkernel design principles with virtualization, NOVA refers to itself as microhypervisor. It thereby achieves an exceptionally small trusted computing base for running virtual machines, yet achieves high performance. Genode complements NOVA with the user-land infrastructure needed to move beyond a static setup of virtual machines.
In addition to supporting new base platforms, the Genode project paid attention to many other platform-related improvements, most prominently the addition of a new real-time priority-management concept called harmonic priority-range subdivision. This concept makes the real-time scheduling of the OKL4 and L4ka::Pistachio kernels available at Genode’s API level. Functionality-wise, the most important addition is a minimal Python script interpreter based on Python 2.6.4.
Read the whole story about the new kernels and the variety of other improvements in the release notes of Genode 10.02.
I need to start paying closer attention to this project, the kernels they are using are very good and the framework they are building looks impressive.
I hope Syllable (restructured around Genode) and Hurd follow. DDE kit looks promising. Microkernels are the future. This is my feeling.
Somebody care to explain to me the purpose of Syllable? What makes it different from some arbitrary Linux distribution? What can I do in Syllable that is not that easy on a Linux distribution?
It must be something very big to require a different kernel. It cant be just the GUI, they could just write yet another GUI server for Linux if X11 is their only problem.
I totally agree that mikrokernels are the future. But to actually get any benefit out of them, you have to re-think your system and userspace architecture. You can’t just port everything continue as you were. The result would be no different from Xen: Huge legacy software stacks on top of a microkernel. We don’t need to re-invent this, we already have it. And it sucks for almost all use-cases, because you have no more leverage about those blobs than you have about a native Linux install. They are still too unreliable and too difficult to configure securely.