Betriebssysteme

  • 15.12.2022: Am 22.12. findet keine Vorlesung mehr statt! Daher: Frohe Weihnachten!
  • 22.11.2022: Die Auswahl der Prüfungstermine ist ab jetzt über Waffel möglich. Eine zusätzliche Anmeldung im campo ist trotzdem nötig!
  • 04.10.2022: Das Codegerüst für Aufgabe 0 sollte jetzt für alle Angemeldeten im GitLab zugreifbar sein. Wir empfehlen sehr, Aufgabe 0 zum (erneuten) Warmwerden mit C++ bis zum Übungsbeginn bearbeitet zu haben.
  • 20.09.2022: Details zum Übungsbetrieb im kommenden Wintersemester werden im Foliensatz Organisation erklärt – bitte vor Semesterbeginn anschauen! Außerdem stehen Materialien zu C++ und Git zur Verfügung. Aufgabe 0 kann hierzu als (freiwillige) Fingerübung bearbeitet werden.
  • 19.07.2022: Die Anmeldung zu der Übung für OOStuBS oder MPStuBS ist ab Sonntag, den 18. September ausschließlich über Waffel möglich (kein StudOn!).
  • 13.05.2022: Vorläufige Version der Veranstaltungswebseite 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 Systemprogrammierung) 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

Organisatorische Fragen

Inhaltliche Fragen (alle Teilnehmer):

Wochenplan

Aufgrund des Wechsels zu Campo haben die im UnivIS veröffentlichten Daten für das Wintersemester 2022/23 keine Bedeutung.
  Mo Di Mi Do Fr
08:00   Tafelübung      
10:00          
12:00         Rechnerübung
14:00     Rechnerübung Vorlesung Erweiterte Rechnerübung
16:00     Erweiterte Rechnerübung    

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 (). Die Abgabe der Aufgaben findet bei Präsenzbetrieb im Rahmen der Rechnerübungen () 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 17.10 18.10 19.10 20.10 21.10 Organisation und Einleitung
      VL1  
A0 C++ Fingerübung
43 24.10 25.10 26.10 27.10 28.10 Einstieg in die Betriebssystementwicklung
TÜ A1 VL2
Aus- und Eingabe
44 31.10 01.11 02.11 03.11 04.11 Unterbrechungen, Hardware
  Allerheiligen   VL3  
45 07.11 08.11 09.11 10.11 11.11 Seminar: (Ur)Laden des x86er
Unterbrechungen – Software
  Sem1   VL4  
     
46 14.11 15.11 16.11 17.11 18.11 Unterbrechungen – SoftIRQ
  TÜ A2   VL5  
    Interruptbehandlung
47 21.11 22.11 23.11 24.11 25.11 Fehlersuche mit dem GDB
Unterbrechungen – Synchronisation
  Sem2   VL6  
       
48 28.11 29.11 30.11 01.12 02.12 IA-32: Die 32-Bit-Intel-Architektur
  TÜ A3   VL7  
    Pro-/Epilogmodell
49 05.12 06.12 07.12 08.12 09.12 Programmierung in Assembler
Koroutinen und Programmfäden
Sem3 VL8
     
50 12.12 13.12 14.12 15.12 16.12 Scheduling
  TÜ A4   VL9  
    Threadumschaltung
51 19.12 20.12 21.12 22.12 23.12
 
       
52 26.12 27.12 28.12 29.12 30.12
Vorlesungsfrei
01 02.01 03.01 04.01 05.01 06.01
Vorlesungsfrei
02 09.01 10.01 11.01 12.01 13.01 Betriebssystem-Architekturen
  TÜ A5   VL10  
      Zeitscheibenscheduling
03 16.01 17.01 18.01 19.01 20.01 Fadensynchronisation
  VL11  
       
04 23.01 24.01 25.01 26.01 27.01 Gerätetreiber
  TÜ A6   VL12  
      Ereignisbearbeitung und Synchronisation
05 30.02 31.01 01.02 02.02 03.02 Interprozesskommunikation
  VL13  
       
06 06.02 07.02 08.02 09.02 10.02 Zusammenfassung, Ausblick & Fragestunde
  TÜ A7   VL14  
    Eine Anwendung