Betriebssysteme
- 15.12.2022: Am 22.12. findet keine Vorlesung mehr statt! Daher: Frohe Weihnachten!
- 22.11.2022: Die Auswahl der Prüfungstermine ist ab jetzt über Waffel möglich. Eine zusätzliche Anmeldung im campo ist trotzdem nötig!
- 04.10.2022: Das Codegerüst für Aufgabe 0 sollte jetzt für alle Angemeldeten im GitLab zugreifbar sein. Wir empfehlen sehr, Aufgabe 0 zum (erneuten) Warmwerden mit C++ bis zum Übungsbeginn bearbeitet zu haben.
- 20.09.2022: Details zum Übungsbetrieb im kommenden Wintersemester werden im Foliensatz Organisation erklärt – bitte vor Semesterbeginn anschauen! Außerdem stehen Materialien zu C++ und Git zur Verfügung. Aufgabe 0 kann hierzu als (freiwillige) Fingerübung bearbeitet werden.
- 19.07.2022: Die Anmeldung zu der Übung für OOStuBS oder MPStuBS ist ab Sonntag, den 18. September ausschließlich über Waffel möglich (kein StudOn!).
- 13.05.2022: Vorläufige Version der Veranstaltungswebseite ist online.
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
Aufgrund des Wechsels zu Campo haben die im UnivIS veröffentlichten Daten für das Wintersemester 2022/23 keine Bedeutung.
Mo | Di | Mi | Do | Fr | |
---|---|---|---|---|---|
08:00 | Tafelübung | ||||
10:00 | |||||
12:00 | Rechnerübung | ||||
14:00 | Rechnerübung | Vorlesung | Erweiterte Rechnerübung | ||
16:00 | Erweiterte Rechnerü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 | 17.10 | 18.10 | 19.10 | 20.10 | 21.10 | Organisation und Einleitung |
VL1 | ||||||
A0 | C++ Fingerübung | |||||
43 | 24.10 | 25.10 | 26.10 | 27.10 | 28.10 | Einstieg in die Betriebssystementwicklung |
TÜ A1 | VL2 | |||||
RÜ | RÜ | Aus- und Eingabe | ||||
44 | 31.10 | 01.11 | 02.11 | 03.11 | 04.11 | Unterbrechungen, Hardware |
Allerheiligen | VL3 | |||||
RÜ | RÜ | |||||
45 | 07.11 | 08.11 | 09.11 | 10.11 | 11.11 |
Seminar: (Ur)Laden des x86er
Unterbrechungen – Software |
Sem1 | VL4 | |||||
RÜ | RÜ | |||||
46 | 14.11 | 15.11 | 16.11 | 17.11 | 18.11 | Unterbrechungen – SoftIRQ |
TÜ A2 | VL5 | |||||
RÜ | RÜ | Interruptbehandlung | ||||
47 | 21.11 | 22.11 | 23.11 | 24.11 | 25.11 |
Fehlersuche mit dem GDB
Unterbrechungen – Synchronisation |
Sem2 | VL6 | |||||
RÜ | RÜ | |||||
48 | 28.11 | 29.11 | 30.11 | 01.12 | 02.12 | IA-32: Die 32-Bit-Intel-Architektur |
TÜ A3 | VL7 | |||||
RÜ | RÜ | Pro-/Epilogmodell | ||||
49 | 05.12 | 06.12 | 07.12 | 08.12 | 09.12 |
Programmierung in Assembler
Koroutinen und Programmfäden |
Sem3 | VL8 | |||||
RÜ | RÜ | |||||
50 | 12.12 | 13.12 | 14.12 | 15.12 | 16.12 | Scheduling |
TÜ A4 | VL9 | |||||
RÜ | RÜ | Threadumschaltung | ||||
51 | 19.12 | 20.12 | 21.12 | 22.12 | 23.12 | |
RÜ | RÜ | |||||
52 | 26.12 | 27.12 | 28.12 | 29.12 | 30.12 | |
Vorlesungsfrei | ||||||
01 | 02.01 | 03.01 | 04.01 | 05.01 | 06.01 | |
Vorlesungsfrei | ||||||
02 | 09.01 | 10.01 | 11.01 | 12.01 | 13.01 | Betriebssystem-Architekturen |
TÜ A5 | VL10 | |||||
RÜ | RÜ | Zeitscheibenscheduling | ||||
03 | 16.01 | 17.01 | 18.01 | 19.01 | 20.01 | Fadensynchronisation |
VL11 | ||||||
RÜ | RÜ | |||||
04 | 23.01 | 24.01 | 25.01 | 26.01 | 27.01 | Gerätetreiber |
TÜ A6 | VL12 | |||||
RÜ | RÜ | Ereignisbearbeitung und Synchronisation | ||||
05 | 30.02 | 31.01 | 01.02 | 02.02 | 03.02 | Interprozesskommunikation |
VL13 | ||||||
RÜ | RÜ | |||||
06 | 06.02 | 07.02 | 08.02 | 09.02 | 10.02 | Zusammenfassung, Ausblick & Fragestunde |
TÜ A7 | VL14 | |||||
Eine Anwendung |