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.