Skip to main content.

Navigation:

Übung Betriebssysteme I (BS1)

Ihr könnt die Vorlesung Betriebssysteme entweder mit einer Prüfung oder einem unbenoteten Schein (unbenotete CP) abschließen. Zur Teilnahme an der Prüfung muss die Zulassungsvoraussetzung erfüllt sein. Dies beinhaltet das erfolgreiche Lösen von mindestens fünf praktischen Aufgaben sowie die Votierung von mindestens 50% der theoretischen Aufgaben. Um einen unbenotetetn Schein zu erwerbern, müssen mindestens fünf praktische Aufgaben gelöst und mindestens 66% der theoretischen Aufgaben votiert werden.
Es ist möglich EIN nicht vollstänndig votiertes theoretisches Aufgabenblatt durch eine zusätzliche praktische Aufgabe auszugleichen. Die entsprechenden Aufgabenstellungen findet ihr auf dieser Seite.

Bewertung der Aufgaben

Die praktischen Aufgaben müssen den Übungsleiter vorgestellt und erklährt werden. Sollte ein Übungsleiter feststellen, dass eine Gruppe eine Aufgabe nicht zufriedenstellend erklähren kann, wird dies als Betrugsversuch gewertet. Bei einem Betrugsversuch wird die jeweilige Aufgabe eine Woche später erneut abgenommen, die Gruppe muss dann jedoch zusätzlich eine weitere praktische Aufgabe lösen. Sollte es danach zu einem weiteren Betrugsversuch kommen, erfolgt ein Ausschluss aus den Übungen. Die betreffenden Studenten können dann im darauffolgenden Wintersemester erneut am Übungsbetrieb teilnehmen.
Sollte ein Übungsleiter bei der Besprechung der theoretischen Aufgaben feststellen, dass sich ein Student nicht mit der von ihm vorzutragenden Aufgaben beschäftigt hat, wird dies als Betrugsversuch gewertet. Es liegt dann an der Mitarbeit des Studenten und im Ermessen des Übungsleiters ob nur die Votierung dieser Aufgabe oder alle Votierungen dieses Übungsblattes gestrichen werden.

Übungsgruppen

Zur Bearbeitung der praktischen Aufgaben werdet ihr in Gruppen eingeteilt. Jeweils zwei Studenten bilden eine Gruppe. Die entsprechenden Einteilungen werden beim ersten Übungstermin festgelegt. Wer zu einem anderem Übungstermin wechseln möchte, sollte eine E-Mail an Sebastian schreiben. Ihr solltet jedoch beachten, dass ihr einen Tauschpartner/-gruppe benötigt, um in eine voll belegte Gruppe zu wechseln (2 Studenten pro Übung).

Einteilung der Studenten zu den Übungen

Praktische Aufgaben

Im Rahmen der Übung soll ein objektorientiertes Studenten-Betriebssystem (oo-StuBS) implementiert werden. Die Umsetzung des Betriebssystems soll schrittweise erfolgen. Dazu wird die Umsetzung in einzelne Teilaufgaben gegliedert, in denen das Betriebssystem jeweils um verschiedene Eigenschaften erweitert werden soll.

Zu den meisten Aufgabe erhaltet ihr zusätzlich zur Aufgabenstellung eine Vorgaben in Form eines Patches. Diese Vorgabe enthält Teilimplementierungen der zu implementierenden/benutzenden Klassen. Für viele Klassen ist in der Vorgabe nur ein Klassenrumpf enthalten, den Ihr selbst vervollständigen müsst. Andere Klassen sind komplett vorgegeben (zumeisst Klassen, die kompliziert zu implementieren sind, aber eigentlich langweilige Dinge tun). Die Vorgaben für die einzelnen Aufgaben sind gzip komprimierte tar Archive (Dateiendung .tar.gz, auspacken mit tar xvfz ⟨name⟩). Sie können über die Webseite bezogen werden.

Hinweise: Informationen zum Test und zur Integration eurer Lösungen in das vorgegebene System findet ihr in der Beschreibung der Entwicklungsumgebung.

  1. KW 42 (Abgabe: KW 44) Ausgabefunktionen und Tastatursteuerung
  2. KW 44 (Abgabe: KW 46) Interruptbehandlung
  3. KW 47 (Abgabe: KW 49) Schutz kritischer Abschnitte
  4. KW 50 (Abgabe: KW 02) Kooperatives Multitasking
  5. KW 02 (Abgabe: KW 04) Präemptives Multitasking
  6. KW 04 (Abgabe: persönlicher Termin) Semaphoren

OOStuBs Basis-Patch Wir haben einige kleinere Fehler in dem Assembler-Startup-Code von OOStuBs entdeckt. Hierfür bieten wir euch einen Patch an. Dieser Patch kann bei jeder beliebigen Aufgabe angewendet werden, er sollte jedoch nur einmal angewendet werden. Es sind auch keine Rejections zu erwarten, da er nur die boot.S modifiziert.

Mikro-Patch für Aufgabe 6 Wir haben einen kleinen Fehler in Aufgabe 6 bezüglich der Zugriffsrechte zwischen den Klassen gefunden. Folgender Patch behebt dieses Problem.

Hinweise: Wir haben ein paar Tipps zu typischen Fehlern, die bei der Entwicklung von oo-StuBS auftreten, zusammengestellt. Wer merkwürdige Abstürze erhält, sollte zuerst nach diesen Fehlern suchen. Ganz Neugierige können auch schon mal einen Blick auf die endgültige Klassenhierarchie (PDF) werfen.

Theoretische Aufgaben

Mit Hilfe der theoretischen Aufgaben soll der Inhalt der Vorlesung nachbearbeitet werden. Zu diesem Zweck werden im Laufe des Semesters eine Reihe von Fragebögen veröffentlicht. Für die Bearbeitung der Fragebögen sind jeweils zwei Wochen Zeit. Die Lösungen der Fragebögen werden in den Übungen votiert und besprochen.

  1. KW 43 (Abgabe: KW 45) Aufgabenblatt 1
  2. KW 47 (Abgabe: KW 48) Aufgabenblatt 2
  3. KW 49 (Abgabe: KW 50) Aufgabenblatt 3
  4. KW 02 (Abgabe: KW 03) Aufgabenblatt 4

Übungsfolien

  1. KW 41 Übung 1

Kooperatives Experiment mit dem ITI

Dieses Semester besteht die Möglichkeit für Teilnehmer der Übung an einem Experiment zum Thema "Programmierverständniss" teilzunehmen. Für weitere Informationen schaut bitte in dieser Präsentation nach oder schreibt eine E-Mail an Sandro Schulze.

Die Rahmenbedingungen in aller Kürze: