TUD Logo

TUD Home » ... » Operating Systems » Teaching » Microkernel-Based Operating Systems

Operating Systems

Microkernel-Based Operating Systems

This website is obsolete. Please visit our new website for up-to-date information about all classes at the Chair of Operating Systems.
Starting on Tuesday, November 26, 2019, the slots for lecture and exercise will be swapped. The lecture will then take place at 2:50 PM in room APB E008 and the exercise will be in room APB E001 at 4:40 PM.


This lecture is going to introduce various aspects and concepts regarding the construction and implementation of microkernel-based operating system. In the first part, we introduce fundamental mechanisms that are required for efficient construction of an operating system on top of a microkernel. In the second part of the lecture, we show you real systems that have been built using these concepts. While strongly focussing on the microkernel work done at TU Dresden, we also take a look at alternatives.

Having attended the lecture on microkernel construction might help you to understand some concepts easier, but it is not necessary. In fact, we recommend to attend this lecture here first.

In addition to the lecture, we also have a practical course in which you will built parts of an operating system on top of a L4 microkernel in a group of 2-4 students. You are encouraged to take this practical course, too.

The lecture will cover the following aspects:
  • The TU Dresden Operating System (TUD:OS)
  • Basic services provided by the L4 Runtime Environment (L4Re)
  • Resource Management and Real-Time
  • Virtualization concepts, especially para-virtualizing Linux (L4Linux)
  • Building secure systems
  • Reusing commodity software in a microkernel environment


  1. Introduction
  2. Threads
  3. Inter-Process Communication
  4. Memory
  5. Real-Time
  6. Device Drivers
  7. Resource Management
  8. Scalability and Heterogeneity
  9. Legacy Reuse
  10. Virtualisation
  11. Security
  12. Trusted Computing
  13. Operating Systems vs. Fault Tolerance


We will have two types of exercises. Practical exercises give you the opportunity to get hands-on experience using the software presented during the lecture. Paper Reading exercises let you practice reading scientific papers and shall inspire discussion on research ideas. All topics covered during the exercises may be content of your exam.

Practical Exercises

5 November 2019, room APB E069
Getting Started
19 November 2019, room APB E069
Inter-process Communication (solution)
28 January 2020, room APB E069 (starts at 2:50pm, might be extended into 16:40 slot)
Exception handling in user space Steps, Source, Solution (executor.cc)

Paper Reading

In preparation for these exercises you are required to read the paper to be presented in the exercise. Prepare at least three questions regarding topics of the paper. These may cover things you don't understand as well as arguments you do not believe in or ideas that arose from your reading. You will be expected to sum up the paper during the exercise as well as discuss your questions.

29 October 2019
Per Brinch Hansen: “The Nucleus of a Multiprogramming System”
3 December 2019
Galen Hunt et al.: “Singularity: Rethinking the Software Stack”
17 December 2018
Donald E. Porter et al.: “Rethinking the library OS from the top down”
21 January 2020
Bryan Ford, Mike Hibler, Jay Lepreau, Patrick Tullmann, Godmar Back, Stephen Clawson: “Microkernels meet Recursive Virtual Machines”
Last modified: 2nd Apr 2020, 1.32 PM
Author: Dr.-Ing. Carsten Weinhold

Carsten Weinhold

Phone: 463 38056
Fax: 463 38284
e-mail contact form

  • ModuleModules: INF-BAS4, INF-VERT4, DSE-E8
  • Credits6 Credit Points
  • 2/1/0 = 3 SWS
Time and Place
  • Lecture, weekly
    TimeTue, 2.50 PM PlaceAPB E008
  • Exercise, in odd-numbered weeks
    TimeTue, 4.40 PM PlaceAPB E001
Mailing List