Microkernel-based Operating Systems
Lecturer | Dr. Michael Roitzsch |
Module | DSE-E8, INF-04-FG-AVS, INF-BAS4, INF-DSE-20-E-MKS, INF-VERT4, MINF-04-FG-SAT |
Scope and Type |
2 SWS lecture, 1 SWS exercise (English) |
Cycle | Winter semester |
Time and Place | Lecture: Tuesday, 4.40 PM, APB E023 and BBB Exercise: Tuesday, 2.50 PM, APB E008, some also via BBB (bi-weekly) |
Communication |
Mailing List (Please subscribe using a TU Dresden address), Matrix chat, Anonymous Mailbox |
Content
This lecture introduces 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. 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
Slides
- Introduction
- IPC
- Threads
- Memory
- Drivers
- Real-Time
- Resource Management
- Legacy Reuse
- Virtualization
- Heterogeneity
- Resilience
- Security Architectures
- Trusted Computing
Exercises
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.
Paper Reading
In preparation for these exercises you are required to read the paper to be presented in the exercise. Prepare at least three questionsregarding 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.
- 2023-10-17: Per Brinch Hansen: The nucleus of a multiprogramming system
- 2023-11-07: Galen C. Hunt and James R. Larus: Singularity: Rethinking the Software Stack
- 2023-12-12: Bryan Ford et al.: Microkernels Meet Recursive Virtual Machines
- 2024-01-30: Donald E. Porter et. al.: Drawbridge – Rethinking the Library OS from the Top Down
Practical Exercises
Practical exercises take place in the PC pools. Students may bring their own laptops running Linux, but the amount of support our tutors can give to fix Linux toolchain problems is limited in this case.
- 2023-11-21: L4 Bootcamp (Code)
- 2023-12-05: Cancelled! See mailing list and Matrix chat.
- 2023-12-19: IPC with NOVA (Code, Solution)
- 2024-01-16: Exception Handling in L4Re (Code, Solution)