From L3 to seL4 What Have We Learnt in 20 Years of L4 Microkernels? Kevin Elphinstone and Gernot Heiser NICTA and UNSW, Sydney fkevin.elphinstone,
[email protected] Abstract on the critical path of any service invocation, and low IPC costs are essential. The L4 microkernel has undergone 20 years of use and By the early ’90s, IPC performance had become the evolution. It has an active user and developer commu- achilles heel of microkernels: typical cost for a one- nity, and there are commercial versions which are de- way message was around 100 ms, which was too high ployed on a large scale and in safety-critical systems. for building performant systems, with a resulting trend In this paper we examine the lessons learnt in those 20 to move core services back into the kernel [Condict years about microkernel design and implementation. We et al., 1994]. There were also arguments that high IPC revisit the L4 design papers, and examine the evolution costs were an (inherent?) consequence of the structure of of design and implementation from the original L4 to the microkernel-based systems [Chen and Bershad, 1993]. latest generation of L4 kernels, especially seL4, which In this context, the order-of-magnitude improvement has pushed the L4 model furthest and was the first OS of IPC costs Liedtke demonstrated was quite remark- kernel to undergo a complete formal verification of its able. It was followed by work discussing the philoso- implementation as well as a sound analysis of worst-case phy and mechanisms of L4 [Liedtke, 1995, 1996], the execution times.