Entwicklung, Pflege und Wartung von Betriebssystemen ist mit dem Einzug
mehr- oder vielkerniger (multi-/many core) Prozessoren
in die Rechnerlandschaft vor großen Herausforderungen gestellt worden.
Die bei Uniprozessoren durch asynchrone Programmunterbrechungen
(interrupts) ohnehin bereits schwierig zu handhabende
Nebenläufigkeit (concurrency)
gleichzeitiger Prozesse in der einen Dimension erfährt durch
mehr-/vielkernige Multiprozessoren eine zweite Dimension der Problemklasse.
Entsprechend werden im Rahmen der Lehrveranstaltung verschiedene Aspekte
der Implementierung und Synchronisation gleichzeitiger Prozesse betrachtet,
Alternativen von Problemlösungen vorgestellt, Ansätze zur
Vermeidung oder Verringerung von Wettstreitigkeit (contention)
vorgestellt, sowie Vor- und Nachteile der untersuchten Verfahren und
Techniken diskutiert.
Im Fokus liegen gleichzeitige Prozesse innerhalb von
Betriebssystemen und die in diesem Kontext, im Vergleich zu gleichzeitigen
Prozessen oberhalb der Betriebssystemebene, teils sehr unterschiedlichen
Herangehensweisen an und Realisierungen von Lösungen.
Die in der Lehrveranstaltung entwickelten
Konzepte werden als Programmfamilie umgesetzt, in der Gemeinsamkeiten und
Unterschiede von Programmen zur Implementierung und Steuerung gleichzeitiger
Prozesse in Form einer (kleinen) Betriebssystemfamilie erfasst werden.
Die behandelten Themen orientieren sich stark an aktuellen
Forschungsthemen des Lehrstuhls. Daher ist die Veranstaltung eine sehr
gute Voraussetzung für eine anschließende Bachelor- oder
Masterarbeit am Lehrstuhl 4.
Im Rahmen der Übungen werden die vermittelten Techniken
praktisch von den Studenten eingesetzt, um auf dieser Grundlage ein
variantenreiches Fädenangebot (threads package) zu
implementieren. Dieses soll als Gastbetriebssystem in Bibliotheksform
implementiert werden, so dass vorhandene Anwendungen durch erneutes
Binden weiterverwendet werden können. Durch den Einsatz
von blockadefreien Techniken sollen vielkernige Prozessoren sowie
Multiprozessorsysteme unterstützt werden.