Betriebssysteme
Inhalt der Vorlesung
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 früheren Veranstaltungen (wie Systemprogrammierung) weitgehend bekannt sein sollten, wiederholt und vertieft. Weitere Informationen zur Vorlesung...Inhalt der Übungen
Ziel der Übungen ist es, schrittweise ein eigenes kleines Betriebssystem (OOStuBS, Objektorientiertes Studenten-Betriebssystem, bzw. MPStuBS, MultiProzessorStudenten-Betriebssystem) für den PC zu entwickeln. Dafür werden Gruppen aus je zwei Studenten gebildet. Weitere Informationen zu den Übungen...Dozenten und Betreuer
Organisatorische Fragen
Inhaltliche Fragen (alle Teilnehmer):
Wochenplan
Mo | Di | Mi | Do | Fr | |
---|---|---|---|---|---|
08:00 | |||||
10:00 | Erweiterte Rechnerübung | Erweiterte Rechnerübung | |||
12:00 | Rechnerübung | Rechnerübung | |||
14:00 | Vorlesung | ||||
16:00 | Tafelübung |
Semesterplan
Hier ist der geplante Ablauf der Übungen für BS im Überblick dargestellt: Die Inhalte der Vorlesung (VL) werden anhand von praktischen Aufgaben in dem Übungsbetriebssystem StuBS vertieft. Zu jeder Aufgabe gibt es eine Tafelübung (TÜ). Die Abgabe der Aufgaben findet bei Präsenzbetrieb im Rahmen der Rechnerübungen (RÜ) statt und erfolgt durch Demonstration eurer Lösung am Rechner. Die Zusatzseminare (Sem) vertiefen Inhalte über den Vorlesungsumfang hinaus, die Teilnahme ist freiwillig.KW | Mo | Di | Mi | Do | Fr | Themen |
---|---|---|---|---|---|---|
42 | 14.10 | 15.10 | 16.10 | 17.10 | 18.10 | Organisation und Einleitung |
VL1 | ||||||
A0 | C++ Fingerübung | |||||
43 | 21.10 | 22.10 | 23.10 | 24.10 | 25.10 | Einstieg in die Betriebssystementwicklung |
VL2 | ||||||
TÜ A1 | RÜ | Aus- und Eingabe | ||||
44 | 28.10 | 29.10 | 30.10 | 31.10 | 01.11 | Unterbrechungen, Hardware |
VL3 | Allerheiligen | |||||
RÜ | ||||||
45 | 04.11 | 05.11 | 06.11 | 07.11 | 08.11 | Unterbrechungen – Software |
VL4 | ||||||
RÜ | Sem1 | RÜ | Fehlersuche mit dem GDB | |||
46 | 11.11 | 12.11 | 13.11 | 14.11 | 15.11 | Unterbrechungen – SoftIRQ |
VL5 | ||||||
RÜ | TÜ A2 | RÜ | Interruptbehandlung | |||
47 | 18.11 | 19.11 | 20.11 | 21.11 | 22.11 | Unterbrechungen – Synchronisation |
VL6 | ||||||
RÜ | Sem2 | RÜ | Seminar: (Ur)Laden des x86er | |||
48 | 25.11 | 26.11 | 27.11 | 28.11 | 29.11 | IA-32: Die 32-Bit-Intel-Architektur |
VL7 | ||||||
RÜ | TÜ A3 | RÜ | Pro-/Epilogmodell | |||
49 | 02.12 | 03.12 | 04.12 | 05.12 | 06.12 | Koroutinen und Programmfäden |
VL8 | ||||||
RÜ | Sem3 | RÜ | Programmierung in Assembler | |||
50 | 9.12 | 10.12 | 11.12 | 12.12 | 13.12 | Scheduling |
VL9 | ||||||
RÜ | TÜ A4 | RÜ | Threadumschaltung | |||
51 | 16.12 | 17.12 | 18.12 | 19.12 | 20.12 | |
RÜ | Vorlesungsfrei | <|||||
52 | 23.12 | 24.12 | 25.12 | 26.12 | 27.12 | |
Vorlesungsfrei | ||||||
01 | 30.12 | 31.12 | 01.01 | 02.01 | 03.01 | |
Vorlesungsfrei | ||||||
02 | 06.01 | 07.01 | 08.01 | 09.01 | 10.01 | Betriebssystem-Architekturen |
VL10 | ||||||
Vorlesungsfrei | RÜ | TÜ A5 | RÜ | Zeitscheibenscheduling | ||
03 | 13.01 | 14.01 | 15.01 | 16.01 | 17.01 | Fadensynchronisation |
VL11 | ||||||
RÜ | RÜ | |||||
04 | 20.01 | 21.01 | 22.01 | 23.01 | 24.01 | Gerätetreiber |
VL12 | ||||||
RÜ | TÜ A6 | RÜ | Ereignisbearbeitung und Synchronisation | |||
05 | 27.02 | 28.01 | 29.01 | 30.01 | 31.01 | Interprozesskommunikation |
VL13 | ||||||
RÜ | RÜ | |||||
06 | 03.02 | 04.02 | 05.02 | 06.02 | 07.02 | Zusammenfassung, Ausblick & Fragestunde |
VL14 | ||||||
RÜ | TÜ A7 | Eine Anwendung |