Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

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 PDF
1 Ausgabefunktionen und Tastaturansteuerung für OOStuBS/MPStuBS PDF 15.11.2019
2 Interruptbehandlung für OOStuBS/MPStuBS PDF 29.11.2019
3 Interruptsynchronisation mit dem Pro-/Epilogmodell PDF 13.12.2019
4 Threadumschaltung PDF 10.01.2020
5 Zeitscheibenscheduling für OOStuBS/MPStuBS PDF 24.01.2020
6 Ereignisbearbeitung und Synchronisation PDF 07.02.2020
7 Eine Anwendung für OOStuBS/MPStuBS PDF 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 mit git pull vorlage master aktualisiert werden
  • 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 PDF
14.11.2019 (Ur)Laden des x86er Bernhard Heinloth PDF
28.11.2019 Programmierung in Assembler Andreas Ziegler PDF

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:

Direkte Fragen zu den Übungsaufgaben bitte immer an die Mailingliste i4stubs-all schreiben, damit auch eure Mitstudenten/-studentinnen einen Nutzen davon haben und wir nicht jede Frage mehrfach beantworten müssen.

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

Kurse
      
Do  12:15 - 13:45  0.031-113
Kurs erwartete Teilnehmer: 30
Bernhard Heinloth
Christian Eichler
Andreas Ziegler
      
Fr  10:15 - 11:45  0.031-113
Kurs erwartete Teilnehmer: 30
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
für Gasthörer zugelassen, 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