Übungen
Inhalt der Übungen
Ziel der Übungen ist es, schrittweise ein eigenes kleines Betriebssystem für den PC zu entwickeln. Dabei könnt ihr aus zwei Varianten wählen: OOStuBS (Objektorientiertes Studenten-Betriebssystem) ist die klassische Uniprozessorvariante, MPStuBS (Multiprozessor Studenten-Betriebssystem) die Variante für moderne Mehrkernrechner. OOStuBS ist jedoch der Standardfall, MPStuBS ist optional.
Für die Bearbeitung der Übungsaufgaben werden Gruppen von normalerweise je 2 Studenten gebildet (wobei für die Zusammenarbeit kein persönliches Treffen notwendig ist).
In den Tafelübungen werden die Aufgaben vorgestellt und zusätzlich Hintergründe, die für die Aufgaben relevant sind, stärker beleuchtet (z. B. Hardware-Spezifika) sowie auf Knackpunkte im Design und der Implementierung hingewiesen.
Im Rahmen der Rechner- und Tafelübungen, sowie über Mailinglisten und Matrix-Chat werden Fragen zum Stoff der Vorlesung geklärt und Unterstützung bei der Umsetzung gegeben. Darüber hinaus gibt es noch eine Seite mit häufig gestellten Fragen.
Aufgaben
An dieser Stelle findet ihr die Aufgaben zu den Übungen der Lehrveranstaltung Betriebssystembau.
Die Bearbeitung dieser ist nicht verpflichtend aber empfohlen.
Zu jeder Aufgabe gibt es hier Videos zum direkten Ansehen und als Download (inklusive Folien und Transkript ), welche die notwendigen Konzepte erörtern und Hinweise zu der Umsetzung geben.
Zusätzlich zur Aufgabenstellung gibt es auch Vorgaben, die Teilimplementierungen für jede Klasse enthalten. Für viele Klassen ist nur ein Klassenrumpf enthalten und ihr müsst die Klasse vervollständigen. Andere Klassen sind komplett vorgeben (meist Klassen, die kompliziert zu implementieren sind, aber eigentlich langweilige Dinge tun).
Aufgabennummer | Beschreibung | Zeitraum |
0 | Einführung in C++ und Git | - |
1 | Ein- und Ausgabe | 11.10.2022 - 26.10.2022 |
2 | Unterbrechungen | 25.10.2022 - 16.11.2022 |
3 | Pro-Epilog-Modell | 15.11.2022 - 29.11.2022 |
4 | Kontextwechsel | 29.11.2022 - 14.12.2022 |
5 | Zeitscheibenscheduling | 13.12.2022 - 11.01.2022 |
6 | Ereignisbearbeitung und Synchronisation | 10.01.2023-25.01.2023 |
7 | Eine (graphische) Anwendung | 24.01.2023-08.02.2023 (Abgabe per E-Mail an Alexander Lochmann -- gerne mit Source-Code) |
Tafelübungen und Seminare
Für jede Übungsaufgabe wird eine Tafelübung angeboten, in der die für die Aufgabe relevanten Inhalte vorgestellt werden. Es werden zusätzliche Tafelübungen (Seminare) angeboten, welche die Bearbeitung der Aufgaben unterstützen und das Verständnis für die Zusammenhänge im Hintergrund verbessern sollen. Diese sind freiwillig.
Übung | Datum | Thema | Anmerkungen |
---|---|---|---|
0 | -- | Achtung: Der in der Git-Einführung beschriebene Ablauf passt noch nicht zum Übungsbetrieb. Der Foliensatz dient der Hinführung zu Git. | |
1 | 11.10.2022 | ||
2 | 18.10.2022 | Seminar: (Ur-)Lader | Fällt aus; die Zusatzvorträge verschieben sich entsprechend. |
3 | 25.10.2022 | Unterbrechungen | |
4 | 08.11.2022 | Seminar: Debuggen | |
5 | 15.11.2022 | Pro-Epilog-Modell | |
6 | 22.11.2022 | Seminar: (Ur-)Lader | |
7 | 29.11.2022 | Kontextwechsel | |
8 | 13.12.2022 | Zeitscheibenscheduling | |
9 | 10.01.2023 | Ereignisbearbeitung und Synchronisation | |
10 | 24.01.2023 | Eine (graphische) Anwendung | Nach aktuellem Stand zum Selbststudium (20.01.2023) Vorstellung im Rahmen der Vorlesung am 23.01. (23.01.2023) |
Kommunikationskanäle
Falls ihr Fragen habt, meldet euch bitte im zugehörigen Matrix-Raum: #bsb-helpdesk:fachschaften.org.
Sollten sich die Fragen dort nicht lösen lassen oder es gibt andere organisatorische Fragen, wendet euch bitte an sys-stubslists.cs.uni-dortmundde.