Mikrokernbasierte Betriebssysteme
Dozent | Dr. Michael Roitzsch |
Modul | DSE-E8, INF-04-FG-AVS, INF-BAS4, INF-DSE-20-E-MKS, INF-VERT4, MINF-04-FG-SAT |
Umfang und Art |
2 SWS Vorlesung, 1 SWS Übung (Englisch) |
Turnus | Wintersemester |
Zeit und Ort |
Vorlesung: Dienstag, 14:50 Uhr, APB E008 und BBB Übung: Dienstag, 16:40 Uhr, APB E023, tw. auch per BBB (zweiwöchentlich) |
Kommunikation |
Mailing-Liste (Bitte mit einer TU-Dresden-Adresse einschreiben), Matrix-Chat, Anonymer Briefkasten |
Inhalt
Diese Vorlesung behandelt verschiedene Aspekte und Konzepte der Konstruktion und Implementierung von mikrokernbasierten Betriebssystemen. Im ersten Teil führen wir grundlegende Mechanismen ein, die benötigt werden um effizient ein System auf einem Mikrokern zu konstruieren. Im zweiten Teil der Vorlesung stellen wir tatsächliche Systeme aufbauend auf diesen Konzepten vor. Obwohl wir die Mikrokern-Arbeiten der TU Dresden bevorzugt beleuchten, werden auch Alternativen betrachtet.
Die vorherige Teilnahme an der Vorlesung zu Mikrokernkonstruktion kann helfen einige Konzepte schneller zu verstehen, ist aber nicht erforderlich. Tatsächlich empfehlen wir, diese Vorlesung hier zuerst zu hören.
Zusätzlich zu dieser Vorlesung bieten wir auch ein Komplexpraktikum, in welchem Teile eines Betriebssystems auf einem L4-Mikrokern gebaut. Wir ermutigen Studenten zur Teilnahme an diesem Praktikum.
Die Vorlesung behandelt die folgenden Gebiete:
- Das TU Dresden Betriebssystem (TUD:OS)
- Basisdienste, die von der L4-Laufzeitumgebung (L4Re) bereitgestellt werden
- Verwaltung von Ressourcen und Echtzeit
- Virtualisierungskonzepte, besonders Para-Virtualisierung von Linux (L4Linux)
- Konstruktion sicherer Systeme
- Wiederverwendung von Standardsoftware in einer Mikrokernumgebung
Folien
- Introduction
- Interprocess Communication
- Threads
- Speicher
- Gerätetreiber
- Echtzeit
- Ressourcenverwaltung
- Virtualisierung
Übungen
Wir führen zwei Arten von Übungen durch. Praktische Übungen bieten die Möglichkeit direkte Erfahrungen mit in der Vorlesung behandelter Software zu sammeln. Papier-Lese-Übungen trainieren das Lesen wissenschaftlicher Arbeiten ("Papiere") und sollen Diskussionen über Forschungsideen anregen. Inhalte aller Übungen sind prüfungsrelevant.
Papier-Lesen
In Vorbereitung auf diese Übungen wird verlangt, dass alle Teilnehmer das Papier gelesen haben. Weiterhin sollen mindestens drei Fragen zum Thema des Papiers vorbereitet sein. Diese können nicht verstandene Aspekte oder nicht überzeugende Argumente beinhalten, sowie Ideen, die beim Lesen aufkommen. Von jedem wird erwartet, das Papier während der Übung zusammenfassen zu können und die Fragen zu diskutieren.
- 22.10.2024: Per Brinch Hansen: The nucleus of a multiprogramming system
- 19.11.2024: Galen C. Hunt and James R. Larus: Singularity: Rethinking the Software Stack
- 17.12.2024: Bryan Ford et al.: Microkernels Meet Recursive Virtual Machines
Praktische Übungen
Praktische Übungen finden in den PC-Pools statt. Eigene Laptops mit Linux können verwendet werden, die Unterstützung durch Tutoren bei Problemen mit Linux-Entwicklerwerkzeugen ist in diesem Fall aber nur eingeschränkt möglich.
- 2024-11-05: L4 Bootcamp (Code)
- 2024-12-03: IPC with NOVA+NRE (Code, Lösung)