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 E001 Exercise: Tuesday, 2.50 PM, APB E008 (bi-weekly) |
Mailing List | Please subscribe using a TU Dresden address |
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: Slides, Video
- Threads: Slides, Video Part 1, Video Part 2
- Inter-Process Communication: Slides, Video Part 1, Video Part 2
- Memory: Slides, Video Part 1, Video Part 2
- Device Drivers: Slides, Video Part 1, Video Part 2
- Real Time: Slides, Video
- Resource Management: Slides, Video Part 1, Video Part 2
- Scalability and Heterogeneity: Slides, Video
- Virtualization: Slides, Video Part 1, Video Part 2, Video Part 3
- Legacy Reuse: Slides, Video Part 1, Video Part 2
- Security Architectures: Slides, Video Part 1, Video Part 2
- Trusted Computing: Slides, Video Part 1, Video Part 2
- Fault Tolerance: Slides, Video Part 1, Video Part 2
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.
- Brinch Hansen: “The nucleus of a multiprogramming system”
- Hunt et al.: “Singularity: Rethinking the Software Stack“
- Bryan Ford et al.: „Microkernels Meet Recursive Virtual Machines“
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.