The just released version 14.11 of the Genode OS framework complements the framework’s arsenal of device drivers with the Intel wireless stack. This way, Genode enables the realization of microkernel-based systems on modern laptops without relying on any kind of “device-driver OS” or “Dom0”. Other highlights of the release are a new dynamic linker, VirtualBox 4.3.16 on the NOVA hypervisor, a new scheduler for the HW kernel, and networking for the Raspberry Pi.
WiFi stacks are known to be extremely complex. In the Linux kernel, it is certainly one of the most sophisticated driver subsystems besides GPU drivers. From the perspective of an alternative OS, it is quite frightening. On the other hand, WiFi is an universally required feature for a general-purpose OS by today’s standards. Therefore, the Genode project had to face the issue to enable a full WiFi stack on top of the framework sooner or later. In spring this year, the Genode team finally took on the engineering feat to transplant the Intel wireless stack from Linux to a user-level component on Genode. This line of work was more demanding than originally anticipated. The biggest hurdle was to get a grasp on the interactions between the various involved protocols and mechanisms such as mac80211, cfg80211, nl80211, the netlink API, AF_NETLINK, and the WPA supplicant. The actual porting work followed the approach of prior porting efforts like the Linux USB and TCP/IP subsystems. All Linux kernel threads are executed by a single user-level thread that cooperatively schedules each kernel thread as a light-weight execution context. Compared to the prior porting efforts, the driver environment for the WiFi stack is far more complex. About 8,500 lines of environment code had to be provided to bring the 215,000 lines of WiFi stack to life. However, almost no original code had to be changed, which will make future updates relatively easy.
From its very beginning, Genode was designed to manage resources via a trading mechanism. For example, when a client component connects to a server component, it can provide a part of its own memory budget to the server. This way, the server does not need to perform allocations from its own resources on behalf of its client, which mitigates the risk for denial-of-service attacks driven by malicious clients. This scheme works well for memory but it had not been employed for CPU time, yet. The reason was the lack of the scheduling facilities offered by the kernels supported by Genode. However, with their custom kernel called “base-hw”, the Genode developers were finally able to pursue this idea. The outcome of this line of work is featured in the new release.
Besides the WiFi stack and the new scheduler, Genode 14.11 comes with an upgrade of VirtualBox to version 4.3.16 that can be executed directly on the NOVA microhypervisor, a new dynamic linker, added GUI components, and networking support for the Raspberry Pi. The full story behind all those topics is covered by the release documentation.
I find it sad that one of the most interesting alt-OS projects out there doesn’t see very much interest here. The microkernel approach is quite a bit different than most operating systems out there and should lead to greater robustness and flexibility. Being able to run the Linux mac80211 framework and a chipset driver as “just” a userspace process is a great example of this. By keeping these complicated protocol stacks out of the privileged kernel, the system can be more robust and more secure.
chandler,
I agree with you. The people and teams working on niche projects are some of the most talented in the world, yet they never get recognized because they’re not working at popular companies like google or apple or ms, etc. It’s in our nature to focus on famous people and fashionable companies at the exclusion of others.
Genode is but one of many niche projects which has been skillfully solving problems for years, and nobody takes notice. It’s hard to get recognition when you don’t have the benefit of being popular. Celebrities, on the other hand, can utter the most thoughtless and shallow sentences, and we will quote them for years. I bet if someone like Paris Hilton or Oprah Winfrey were to just mention that they were alt-os users, it would do more to change the fate of the alt-os then anything it’s developers do to make it stand out.
It’s not really fair, but I’ve come to accept that this is the way it is.
Edited 2014-11-30 19:43 UTC
I’m interested! I’m also continually impressed by the steady progress and interesting research ideas.
I think the ability to allocate and trade processing time is very interesting. This type of research makes this project really interesting.
One thing that would make it easier for “casual” (i.e. time-limited) users like me would be to update the live CD or provide a VirtualBox/VMWare VM image. I would like to explore the APIs, but I haven’t had the time to build an image yet. (I realize that it isn’t hard, but pre-build images lower the barrier for potential users.)