Betriebssysteme (BS) im WS 2021/22
Neuigkeiten
15.12.2021: |
Die Rechnerübung am Freitag, den 7. Januar (für die Abgabe von Aufgabe 4) wird auf Dienstag, den 11. Januar von 10 bis 14 Uhr verschoben. |
15.12.2021: |
Die Wahl eines Prüfungstermin ist nun via Waffel möglich. |
07.12.2021: |
Das Assembler-Seminar am morgigen Mittwoch, den 8. Dezember muss leider aufgrund Krankheit des Dozenten entfallen – es findet stattdessen eine Rechnerübung statt. |
11.10.2021: |
Alle verfügbaren Plätze bei der Übungsanmeldung sind nun belegt, Bitte schreibt bei Interesse eine Mail mit allen relevanten Daten – Name, Login und gewünschte Variante (OOStuBS oder MPStuBS) sowie optional die des gewünschten Gruppenpartners – an i4stubs@lists.cs.fau.de um auf die Warteliste gesetzt zu werden. |
06.10.2021: |
Für die Veranstaltung müssen die Regeln der FAU zu Corona berücksichtigt werden: Bei Vorlesung und (Tafel- & Rechner-)Übung gilt die Maskenpflicht, außerdem muss dazu immer ein gültiger 3G-Nachweis (geimpft, genesen oder getestet) mitgeführt werden – es werden Zugangskontrollen durchgeführt. |
20.09.2021: |
Details zum Übungsbetrieb im kommenden Wintersemester werden im Video Organisation erklärt – bitte vor der Anmeldung anschauen! Außerdem sind nun auch Seminarvideos zu C++ und Git online, nach erfolgreicher Übungsanmeldung kann dazu als Fingerübung die (freiwillige) Aufgabe 0 bearbeitet werden. |
17.08.2021: |
Die Anmeldung zu der Übung für OOStuBS oder MPStuBS ist ab Sonntag, den 10. Oktober über Waffel möglich. Bitte beachten: Aufgrund gekürzter Mittel können wir leider nur eine begrenzte Anzahl an Teilnehmern im Übungsbetrieb betreuen! |
16.08.2021: |
BS findet in diesem Semester statt. Aufgrund der Dynamik der Corona Situation wird die Veranstaltung sowohl online als auch (sofern zulässig) in Präsenz an der TechFak stattfinden. Neben Videoaufzeichnungen werden Vorlesung und Tafelübung auch mittels Videokonferenzsoftware gestreamt. |
18.06.2021: |
Eine vorläufige Version der Betriebssystem-Website zum WS 2021/22 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 Softwaresysteme I oder Systemprogrammierung I) 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
Terminübersicht (Stundenplan)
Terminübersicht (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 | 18.10 | 19.10 | 20.10 | 21.10 | 22.10 | VL1: Organisation und Einleitung TÜ A0: Einführung in C++, git und die Arbeitsumgebung |
VL1 | TÜ A0 | |||||
43 | 25.10 | 26.10 | 27.10 | 28.10 | 29.10 | VL2: Einstieg in die Betriebssystementwicklung TÜ A1: Ausgabefunktionen und Tastaturansteuerung |
VL2 | TÜ A1 | RÜ | ||||
RÜ | ||||||
44 | 01.11 | 02.11 | 03.11 | 04.11 | 05.11 | Sem1: (Ur)Laden des x86er |
Allerheiligen | Sem1 | RÜ | ||||
RÜ | ||||||
45 | 08.11 | 09.11 | 10.11 | 11.11 | 12.11 | VL3: Unterbrechungen, Hardware |
VL3 | RÜ | Abgabe A1 | ||||
46 | 15.11 | 16.11 | 17.11 | 18.11 | 19.11 | VL4: Unterbrechungen - Software TÜ A2: Interruptbehandlung für StuBS |
VL4 | TÜ A2 | RÜ | ||||
RÜ | ||||||
47 | 22.11 | 23.11 | 24.11 | 25.11 | 26.11 | VL5: Unterbrechungen - SoftIRQ Sem2: Fehlersuche mit dem GDB |
VL5 | Sem2 | Abgabe A2 | ||||
RÜ | ||||||
48 | 29.11 | 30.11 | 01.12 | 02.12 | 03.12 | VL6: Unterbrechungen - Synchronisation TÜ A3: Interruptsynchronisation mit dem Pro-/Epilogmodell |
VL6 | TÜ A3 | RÜ | ||||
RÜ | ||||||
49 | 06.12 | 07.12 | 08.12 | 09.12 | 10.12 | VL7: IA-32: Die 32-Bit-Intel-Architektur Sem3: Programmierung in Assembler |
VL7 | Sem3 | Abgabe A3 | ||||
RÜ | ||||||
50 | 13.12 | 14.12 | 15.12 | 16.12 | 17.12 | VL8: Koroutinen und Programmfäden TÜ A4: Threadumschaltung |
VL8 | TÜ A4 | RÜ | ||||
RÜ | ||||||
51 | 20.12 | 21.12 | 22.12 | 23.12 | 24.12 | VL9: Scheduling |
VL9 | RÜ | |||||
52 | 27.12 | 28.12 | 29.12 | 30.12 | 31.12 | |
Vorlesungsfrei | ||||||
01 | 03.01 | 04.01 | 05.01 | 06.01 | 07.01 | |
Vorlesungsfrei | Abgabe A4 | |||||
02 | 10.01 | 11.01 | 12.01 | 13.01 | 14.01 | VL10: Betriebssystem-Architekturen TÜ A5: Zeitscheibenscheduling für StuBS |
VL10 | TÜ A5 | RÜ | ||||
RÜ | ||||||
03 | 17.01 | 18.01 | 19.01 | 20.01 | 21.01 | VL11: Fadensynchronisation |
VL11 | RÜ | Abgabe A5 | ||||
04 | 24.01 | 25.01 | 26.01 | 27.01 | 28.01 | VL12: Gerätetreiber TÜ A6: Ereignisbearbeitung und Synchronisation |
VL12 | TÜ A6 | RÜ | ||||
RÜ | ||||||
05 | 31.01 | 01.02 | 02.02 | 03.02 | 04.02 | VL13: Interprozesskommunikation |
VL13 | RÜ | Abgabe A6 | ||||
06 | 07.02 | 08.02 | 09.02 | 10.02 | 11.02 | VL14: Zusammenfassung und Ausblick Q&A: Fragestunde TÜ A7: Eine Anwendung für StuBS (freiwillig) |
VL14 | TÜ A7 | |||||
Q&A |