L4 microkernels: The lessons from 20 years of research and deployment

Authors

Gernot Heiser and Kevin Elphinstone

NICTA

Abstract

The L4 microkernel has undergone 20 years of use and evolution. It has an active user and developer community, and there are commercial versions that are deployed on a large scale and in safety-critical systems. In this article we examine the lessons learnt in those 20 years about microkernel design and implementation. We revisit the L4 design papers, and examine the evolution of design and implementation from the original L4 to the latest generation of L4 kernels. We specifically look at seL4, which has pushed the L4 model furthest and was the first OS kernel to undergo a complete formal verification of its implementation as well as a sound analysis of worst-case execution times. We demonstrate that while much has changed, the fundamental principles of minimality, generality and high inter-process communication (IPC) performance remain the main drivers of design and implementation decisions.

BibTeX Entry

@article{Heiser_Elphinstone_16, author = {Heiser, Gernot and Elphinstone, Kevin}, doi = {10.1145/2893177}, number = {1}, month = apr, year = {2016}, title = {L4 Microkernels: The Lessons from 20 Years of Research and Deployment}, volume = {34}, pages = {1:1-1:29}, journal = {ACM Transactions on Computer Systems}, paperurl = {https://ts.data61.csiro.au/publications/nicta_full_text/8988.pdf} }

Download