Ziel der Vorlesung ist die Vermittlung von konzeptionellen Grundlagen und wichtigen Techniken, die für den Bau eines Betriebssystems erforderlich sind. In den vorlesungsbegleitenden Übungen werden diese Kenntnisse praktisch angewendet, indem ein kleines PC-Betriebssystem in kleinen Arbeitsgruppen von Grund auf neu entwickelt wird. Um dies zu bewerkstelligen, sind fundierte Kenntnisse über Aufbau und Funktionsweise der PC-Hardware erforderlich, die ebenfalls in der Lehrveranstaltung vermittelt werden. Dabei werden gleichzeitig Grundlagen aus dem Betriebssystembereich wie Unterbrechungen, Synchronisation und Ablaufplanung, die aus anderen Veranstaltungen weitgehend bekannt sein sollten, wiederholt und vertieft.
Die Vorlesung umfasst folgende Themen:
- Grundlagen der Betriebssystementwicklung
- Unterbrechungen (Hardware, Software, Synchronisation)
- IA-32: Die 32-Bit-Intel-Architektur
- Koroutinen und Programmfäden
- Scheduling
- Betriebssystem-Architekturen
- Fadensynchronisation
- Gerätetreiber
- Interprozesskommunikation