Toward real microkernels

  title={Toward real microkernels},
  author={Jochen Liedtke},
  journal={Communications of The ACM},
  • J. Liedtke
  • Published 1 September 1996
  • Computer Science
  • Communications of The ACM
T HE microkernel story is full of good ideas and blind alleys. The story began with enthusiasm about the promised dramatic increase in flexibility, safety, and modularity. But over the years, enthusiasm changed to disappointment, because the first-generation microkernels were inefficient and inflexible. • Today, we observe radically new approaches to the microkernel idea that seek to avoid the old mistakes while overcoming the old constraints on flexibility and performance. The second… 

Figures from this paper

Wayless: A Capability-Based Microkernel

Wayless is described, a capability-based microkernel heavily inspired by seL4, which aims to provide an seL 4-compatible application binary interface (ABI), letting seL3 programs run without modification on Wayless.

Analysis of Practicality and Performance Evaluation for Monolithic Kernel and Micro-Kernel Operating Systems

This project evaluates the system performance of the MINIX3.1.2a and compares the results with the performance of Linux by using Unixbench system evaluating tool and provides a more detailed analyse on the microkernel Minix 3 system and proposes a method that could improve the performance.

L4 Microkernels: The Lessons from 20 Years of Research and Deployment

It is demonstrated 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.

A Pliable Hybrid Architecture for Code Isolation

The goal of this dissertation is to explore the design space of code isolation techniques, identify characteristics of individual approaches, and then argue for and design a hybrid approach that combines their advantages while avoiding their drawbacks.

Hardware microkernels - a novel method for constructing operating systems for heterogeneous multi-core platforms

How operating system methods must change if they are to provide programmers with their familiar uniform virtual machine model across next generation heterogeneous manycores is explored, and it is observed that meeting this requirement may very well require a shift in the current hardware/software boundary.

Experience with the development of a microkernel-based, multiserver operating system

  • F. Rawson
  • Computer Science
    Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133)
  • 1997
Based on this experience, I believe that more modest, more targeted operating systems consume fewer resources, offer better performance and can provide the desired semantics with fewer compromises.

From L3 to seL4 what have we learnt in 20 years of L4 microkernels?

It is demonstrated that while much has changed, the fundamental principles of minimality and high IPC performance remain the main drivers of design and implementation decisions.

Protected hard real-time: the next frontier

This paper proposes that hard real-time systems can be constructed confidently and cost-effectively using an operating system providing full memory protection and virtual memory, and contends that a carefully written microkernel providing these mechanisms has the ability to be used in a hardreal-time system without overly pessimistic response time guarantees.


Almost all functionality of Microkernel is dependent on IPC message passing while it mere a bridge between IPC from client process to server process and vice versa and an extra mechanism of hand shake has been implemented to secure the message passing at requesting side.

Daeyoung Kim

A microkernel designed and implemented based on a two-level hierarchical scheduling methodology such that the real-time constraints of each application can be guaranteed, the SPIRIT-μKernel architecture is practical and appealing due to its low overheads of kernel services and the support for dependable integration of real- time applications.



A New Look at Microkernel-Based UNIX Operating Systems : Lessons in Performance and Compatibility

The Chorus team has spent the past six years studying and experimenting with UNIX “kernelisation” as an aspect of its work in modular distributed and real-time systems, and aspects of the current CHORUS system are examined in terms of its evolution from the previous version.

The impact of operating system structure on memory system performance

This paper evaluates the memory system behavior of two distinctly different implementations of the UNIX operating system: DEC's Ultrix, a monolithic system, and Mach 3.0 with CMU's UNIX server, a microkernel-based system, showing that the micro kernel- based system executes substantially more non-idle system instructions for an equivalent workload than themonolithic system.

The Synthesis Kernel

The Synthesis distributed operating system combines efficient kernel calls with a high-level, orthogonal interface with the use of a code synthesizer in the kernel to generate specialized kernel routines for specifrc situations to avoid the traditional trade-off in operating systems between powerful interfaces and efrcient implementations.

Exokernel: an operating system architecture for application-level resource management

The prototype exokernel system implemented here is at least five times faster on operations such as exception dispatching and interprocess communication, and allows applications to control machine resources in ways not possible in traditional operating systems.

A persistent system in real use-experiences of the first 13 years

  • J. Liedtke
  • Computer Science
    Proceedings Third International Workshop on Object Orientation in Operating Systems
  • 1993
In addition to the principles and mechanisms of Eumel/L3, general and specific experiences are described: these relate to the design, implementation and maintenance of the systems over the last 13 years.

Extensibility safety and performance in the SPIN operating system

This paper describes the motivation, architecture and performance of SPIN, an extensible operating system. SPIN provides an extension infrastructure, together with a core set of extensible services,

On micro-kernel construction

Contradictory to this belief, it is shown and support by documentary evidence that inefficiency and inflexibility of current μ-kernels is not inherited from the basic idea but mostly from overloading the kernel and/or from improper implementation.

UNIX as an Application Program

The implementation of Unix as a multithreaded application program running on the Mach kernel is described and the rationale, design, implementation history and performance of the system is presented.

The duality of memory and communication in the implementation of a multiprocessor operating system

The relationship between memory and communication in Mach is examined as it relates to overall performance, applicability of Mach to new multiprocessor architectures, and the structure of application programs.

HiPEC: high performance external virtual memory caching

Experimental results show that HiPEC induces little overhead and can significantly improve performance for memory-intensive applications.