Betriebssysteme (BS) im WS 2019/20
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. Für die Bearbeitung der Übungsaufgaben werden Gruppen von je 2 Studenten gebildet.
In den Tafelübungen werden Fragen zum Stoff der Vorlesung geklärt und die Übungsaufgaben vorgestellt. Zusätzlich werden Hintergründe, die für die Aufgaben relevant sind, stärker beleuchtet (z. B. Hardware-Spezifika) und Knackpunkte im Design und der Implementierung zusammen besprochen und Lösungen entwickelt.
Für die Rechnerübungen ist zu den entsprechenden Zeiten der Rechnerraum reserviert und mindestens ein Übungsleiter anwesend. Auch außerhalb der dedizierten Zeiten könnt ihr gerne bei uns vorbeischauen und wir helfen euch.
Aufgaben
An dieser Stelle findet ihr die Aufgaben zu den Rechnerübungen der Lehrveranstaltung Betriebssysteme. 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).
Die Vorgaben sind auf dem CIP Gitlab zu finden. Dort gibt es sowohl ein Repository für OOStuBS als auch für MPStuBS.
Nr. | Kurzbeschreibung | Folien | Abgabe |
---|---|---|---|
0 | Einführung in C++, git und die Arbeitsumgebung | ||
1 | Ausgabefunktionen und Tastaturansteuerung für OOStuBS/MPStuBS | 15.11.2019 | |
2 | Interruptbehandlung für OOStuBS/MPStuBS | 29.11.2019 | |
3 | Interruptsynchronisation mit dem Pro-/Epilogmodell | 13.12.2019 | |
4 | Threadumschaltung | 10.01.2020 | |
5 | Zeitscheibenscheduling für OOStuBS/MPStuBS | 24.01.2020 | |
6 | Ereignisbearbeitung und Synchronisation | 07.02.2020 | |
7 | Eine Anwendung für OOStuBS/MPStuBS | freiwillig |
Bitte beachten:
- Ihr könnt euch auf gitlab.cs.fau.de eigene Benutzer und Repositories anlegen. Allerdings muss der gewählte Benutzername der CIP Loginname sein.
- Die erste (initiale) Vorgaben könnt ihr mit
git clone https://gitlab.cs.fau.de/i4/oostubs.git
(bzw.git clone https://gitlab.cs.fau.de/i4/mpstubs.git
bei MPStuBS) auf euren Arbeitsrechner klonen. - Das Vorlagenrepository kann mit
git remote add vorlage https://gitlab.cs.fau.de/i4/oostubs.git/
(bzw.git remote add vorlage https://gitlab.cs.fau.de/i4/mpstubs.git/
bei MPStuBS) hinzugefügt werden und die Arbeitskopie bei neuen Aufgaben mitgit pull vorlage master
aktualisiert werden
- Die erste (initiale) Vorgaben könnt ihr mit
- Hinweise zur Integration und zum Test eurer Lösungen in das vorgegebene System findet ihr in der Beschreibung der Entwicklungsumgebung.
- Die Abgabe erfolgt am Abgabetermin durch Vorführen des funktionierenden Systems auf dem in Rechnerübungsraum bereitgestellten Rechnern. Dazu stellen wir ein paar Fragen zur Implementierung und schauen auch mal gemeinsam durch den Code. Ihr solltet euer System also regelmäßig auf genau diesen Rechnern testen, sie sind die Referenzplattform! "Zu Hause hat es funktioniert" haben wir einfach schon zu oft gehört... :)
- Damit ihr nicht jedes Mal in den CIP laufen müßt, kann auch entfernt auf die Referenzsysteme zugegriffen werden.
- Wir haben ein paar Tipps zu typischen Fehlern bei der StuBS-Entwicklung zusammengestellt. Wer merkwürdige Abstürze erhält, sollte da mal reinschauen, vielleicht hilft es ja.
- Ganz Neugierige können sich auch schon die Klassenhierarchie (PDF) anschauen, die am Ende herauskommen soll. Dabei sind die schwarz umrandeten Klassen von uns gestellt, die roten Klassen werden von euch implementiert.
Zusatzseminar
Es werden dieses Semester zusätzliche Vorträge angeboten, welche die Bearbeitung der Aufgaben unterstützen und das Verständnis für die Zusammenhänge im Hintergrund verbessern sollen. Die Teilnahme ist freiwillig.Termin | Thema | Dozent | Folien |
---|---|---|---|
31.10.2019 | Fehlersuche mit dem GDB | Christian Eichler | |
14.11.2019 | (Ur)Laden des x86er | Bernhard Heinloth | |
28.11.2019 | Programmierung in Assembler | Andreas Ziegler |
Module
Die Veranstaltung Betriebssysteme wird alternativ als Modul mit 5 bzw. 7,5 ECTS
angeboten. Vorlesung, Übung und Rechnerübung finden für beide Varianten
gemeinsam statt. Für 7,5 ECTS müsst ihr die Mehrkernvariante MPStuBS
implementieren, für 5 ECTS genügt die Einkernvariante OOStuBS.
Die Modulnote wird in einer 30-minütigen mündlichen Prüfung über den Stoff der
Vorlesung und der Übung ermittelt. Die erfolgreiche Abgabe der Aufgaben ist
dabei Voraussetzung für die Teilname an der mündlichen Prüfung.
Mailingliste & weitere Kommunikationskanäle
Falls ihr konkrete Fragen habt, könnt ihr an die extra für die BS-Übung eingerichtete Mailinglisten schreiben:
- i4stubs@lists.informatik.uni-erlangen.de (Tutoren & Übungsleiter)
- i4stubs-all@lists.informatik.uni-erlangen.de (alle Studierende in der Übung)
Im IRCNet hat sich in den letzten Jahren auch ein Kanal (irc.fau.de:#faui4bs
) gebildet, in
dem Betreuer, ehemalige und derzeitige Studenten anwesend sind.
Ebenfalls kann auch der Jabber/XMPP-MUC i4bs@conference.cs.fau.de
verwendet werden, welcher
die Inhalte mit dem IRC-Kanal teilt.
UnivIS-Informationen zu den Übungen und Rechnerübungen
Übungen zu Betriebssysteme (Ü BS)
- Verantwortliche
- Bernhard Heinloth, M. Sc., Christian Eichler, M. Sc., Andreas Ziegler, M. Sc.
- Angaben
- Übung
2 SWS, benoteter Schein, ECTS-Studium, ECTS-Credits: 2,5, Sprache Deutsch
- Studienfächer / Studienrichtungen
- WF IuK-BA ab 5
WPF IuK-MA-ES-INF ab 1
WPF IuK-MA-REA-INF ab 1
WPF INF-BA-V-VSB ab 5
WPF INF-MA ab 1
WPF ICT-MA-ES 1-4
| Bernhard Heinloth Christian Eichler Andreas Ziegler | |||||||||||
| Bernhard Heinloth Christian Eichler Andreas Ziegler |
Erweiterte Übungen zu Betriebssysteme (EÜ BS)
- Dozentinnen/Dozenten
- Bernhard Heinloth, M. Sc., Christian Eichler, M. Sc., Andreas Ziegler, M. Sc.
- Angaben
- Übung
4 SWS, ECTS-Studium, ECTS-Credits: 5, Sprache Deutsch
Zeit und Ort: n.V. - Studienfächer / Studienrichtungen
- WPF IuK-MA-ES-INF ab 1
WPF IuK-MA-REA-INF ab 1
WPF IuK-MA-REA-INF ab 1
WPF INF-BA-V-VSB ab 5
WPF INF-MA ab 1
WPF ICT-MA-ES 1-4