The version 11.05 of the Genode OS Framework has just been published and brings along many new things to explore.
Our work on this release was motivated by two main goals, advancing the degree of support for the platforms introduced with the previous release and reconsidering one of the most fundamental base APIs of the framework, namely the inter-process communication API.
The traditional IPC and client-server APIs of Genode served us well over the last five years and have never been significantly changed. However, during this time period, we gathered plenty of experience about how those APIs are used in practice and where their limitations lie. Some aspects such as the lack of type safety had been repeatedly criticised whereas other supposedly great features remained largely unused. Now, the right time has come to apply our gathered experience for re-approaching the problem. The result is a brand new RPC API that facilitates type safety and ease of use while sticking to the use of no other tool than the C++ compiler. Because this is the most far- reaching API change in Genode's history so far, the release- notes document (see below) covers our line of thoughts and the migration path of existing software to the new API in great detail.
Fiasco.OC as the latest addition to Genode's base platforms has received a lot of attention. We have managed to advance this platform to the same level as other fully-featured platforms, including support for dynamically linked binaries and the signalling API. Furthermore, we are making two of Fiasco.OC's most valued features available to Genode, which are its support for the ARM and x86-64 architectures and the ability to run the paravirtualized L4Linux kernel as user-level process. Also our custom kernel implementation for MicroBlaze-based SoCs has undergone a major upgrade, enabling the implementation of user- level device drivers. To make this platform easy to explore, the release is accompanied with a reference SoC that is ready to use on the Xilinx Spartan3A Starter Kit.
With regard to the framework's functionality, the new version features the experimental integration of the GNU debugger with Genode, introduces a number of new device drivers for the ARM RealView PBX platform, and adds new scripts to automatically exercise popular Genode features such as Qt4 and lwIP on different base platforms.
The release notes summary is as follows:
* New API for type-safe inter-process communication * Extended Fiasco.OC platform support * Shared libraries * Signalling framework * ARM RealView PBX-A9 support * x86 64-bit support * L4Linux (IA32 and ARM) * New experimental GDB support * Device-I/O support for MicroBlaze platform * ARM RealView PBX device drivers for input, display, network, and sdcard * New ready-to-use scripts for easy test-driving of various Genode features such as Qt4, lwIP, Noux, L4Linux, GDB
For a detailed discussion of these topics, please refer to the full release-notes document:
http://genode.org/documentation/release-notes/11.05/
Best regards