Termine für Betriebssysteme 2025

Modulplan

Wiederholung

Den letzten Vorlesungstermin nutzen wir zur Wiederholung. Ich bereite dafür nichts vor.
Auf Nachfrage können wir jedes Thema des Semesters nochmal beleuchten, jede Aufgabe besprechen, soweit es die Zeit zulässt.

Ich empfehle dringend, die K-Aufgaben, Arbeitsaufträge und Probeklausuren vor diesem Termin zu bearbeiten.

Termin 9 — 2025-05-07  ☚


Tafelfoto Prozess von Anfang bis Ende
(anklicken vergrößert)

Vorlesung

Interaktionsmuster
Team mit und ohne Verteiler; Abschnitt 2.7 ab Seite 28 bis 31
Dateipfade
Symbolische Links; Abschnitt 5.2 ab Seite 57 bis 59
Präsentation 12
Beispiele für Mounts
Pseudo-Dateisysteme; Abschnitt 17.3.3 auf Seite 171
Lebenszyklus eines Prozesses
Starten
Unterbrechungen (Wdh.)
Aufruf von Kernoperationen
Enden
Kleine Seitenfehler
Präsentation 13
Verwaltung von Übersetzungstabellen (Wdh.)
Übersetzungstabelle als Cache
Seitenpools
MMIO und Paging
Präsentation 14
Memory-Mapped IO
Paging
Ein- und Auslagern von Seiten; Abschnitt 19.2 auf Seite 181 und 182
Zugriffs- und Modifikationsindikatoren; Abschnitt 19.2.1 auf Seite 182
Arbeitsmengen und Kollapsphänomen; Abschnitt 19.1 auf Seite 179 und 180

Selbstständige Arbeit

Nachbereitung
Aufgabe K7 "Interaktionsmuster Team"
Aufgabe K8 "Interaktionsdiagramm"
Klausurvorbereitung
Aufgaben K9 bis K11 "Interaktionsdiagramm"
Probeklausuren I und II

Termin 8 — 2025-04-30  ☚


Tafelfoto Infos für Übersetzungstabellen
(anklicken vergrößert)

Vorlesung

Verwaltung von Übersetzungstabellen
Kapitel 14 ab Seite 141 bis 143
bis Abschnitt 14.1
Verwaltungsdaten; Abbildung 14.2 auf Seite 142
Übersetzungstabelle, Basisadresse, Größe, Lage, Zugriffsflags
Umgebungswechsel
Präsentation 11Kapitel 16 ab Seite 153 bis 161
ohne 16.3 Prozesse im Kern
Registersatz; Abbildung 15.2 auf Seite 149
Rechen- und Ablaufumgebung
Umgebungswechsel in Kernaktionen
Interaktionsmuster
Fließband (engl.: pipeline); Abschnitt 2.5 ab Seite 21 bis 25
Aufgabe K3 "Interaktionsmuster Fließband", Teil a
Pufferung unbeschränkt und beschränkt; Abschnitt 2.6 auf Seite 26 und 27

Selbstständige Arbeit

Nachbereitung
Rest von Aufgabe K3 "Interaktionsmuster Fließband"
Aufgabe K4 "Interaktionsmuster Pufferung"
Vorbereitung Termin 9 (ursprünglich Termin 8)
Auftrag 6: Links in Dateisystemen — Aufgabe K20
Dieser Auftrag ist klausurrelevant!
Klausurvorbereitung
Aufgabe K5 "Interaktionsdiagramm"
Aufgabe K6 "Interaktionsdiagramm"

Termin 7 — 2025-04-23  ☚


Tafelfoto Ergänzungen zu Pfaden
(anklicken vergrößert)

Vorlesung

Dateipfade
Präsentation 7Kapitel 5 ab Seite 55 bis 63
ohne Links und ohne Operationen
Pfadauflösung; Abschnitt 5.1 auf Seite 56 und 57
Mounts; Abschnitt 15.3 auf Seite 60 und 61
Rückblick
Präsentation 8
Adressen
Präsentation 9 und Präsentation 10
Kapitel 13 ab Seite 129 bis 140
Segmente und Adressräume
Physische Adressen und Segmente
Logische Adressen und Segmente
Seiten und Adressübersetzung durch MMU
Übersetzungstabellen
Aufgabe V9 a "Adressübersetzung"
Aufgabe K23 "Übersetzungstabelle"
Muddiest Point Feedback
Rückmeldungen

Selbstständige Arbeit

Vorbereitung Termin 8
Auftrag 6: Links in Dateisystemen — Aufgabe K20
Dieser Auftrag ist klausurrelevant!
Klausurvorbereitung
Aufgabe K21 "Dateien und Verzeichnisse"
Aufgabe K24 "Übersetzungstabelle"

Termin 6 — 2025-04-16  ☚


Tafelfoto Umschalten in Kernaktionen
(anklicken vergrößert)

Vorlesung

Umschalten
Präsentation 4Kapitel 12 ab Seite 123 bis 127
Befehlsströme; Abbildung 12.1 auf Seite 123
Kernaktionen; Abbildungen 12.2 und 12.3 auf Seite 124 und 125
Kernoperationen; Abbildung 12.4 auf Seite 126
Beispielaufrufe:
  1. P() läuft durch (Zählerstand 1)
  2. P() blockiert (Zählerstand 0)
  3. V() deblockiert P()
Synchronisation
Nachbesprechung Aufgabe K15 a+b "Semaphor mit Argumenten"
Rendezvous-Signal; Abbildung 10.4 auf Seite 105, Abschnitt 10.2 auf Seite 104
Wdh. Kopplungsformen: Synchron, Asynchron, Versuchend
Kommunikation
Präsentation 5Kapitel 11 ab Seite 113 bis 119
Kanäle, Nachrichten, Empfangspuffer
Kopiervorgänge, Wert- und Referenzablage; Abbildung 11.1 auf Seite 113,
Aufgabe V8 a+b "Kanal mit Puffer"
Lösung vom Beamer
Ströme
Präsentation 6Kapitel 4 ab Seite 45 bis 52
ohne Terminals und ohne Sockets
Pipes zwischen Instanzen; Abschnitt 4.3.1 auf Seite 48 und 49
Dateizugriffe; Abschnitt 4.3.3 auf Seite 51 und 52

Selbstständige Arbeit

Klausurvorbereitung
Aufgabe K16 "Client/Server-Kanal"
Aufgabe K17 "Kanal mit Durchschlag"

Termin 5 — 2025-04-09  ☚


Bild anklicken für PDF


Tafelfoto Sperrhierarchie
(anklicken vergrößert)

Vorlesung

Semaphore im Einsatz
Abschnitte 9.3 und 9.4 ab Seite 96 bis 99
Nachbesprechung Aufgabe V5 "Kritische Abschnitte" — Lösung
Aufgabe V6 "Semaphore im Einsatz"
Synchronisation
Abläufe Mutex; Abschnitt 10.1 auf Seite 102 und 103
Versuchendes Sperren
Sperrhierachie — siehe Tafelfoto
Ströme
Kapitel 4 ab Seite 45 bis 52
ohne Terminals und ohne Sockets
Pufferung im Adressraum; Abschnitt 4.2 auf Seite 47 und 48
der Rest kommt ein anderes Mal dran

Selbstständige Arbeit

Nachbereitung
Aufgabe K14 "Semaphor mit Zusatzmethoden"
Vorbereitung Termin 6
Auftrag 4: Semaphor mit Argumenten — Aufgabe K15
Recherche
Auftrag 5: Synchronisation in Java — Aufgabe K22
Dieser Auftrag ist klausurrelevant!
Bitte mitstoppen und berichten, wie lange es dauert.
Für Interessierte
Aufgabe V7 "Semaphore für Erzeuger/Verbraucher"

Termin 4 — 2025-04-02  ☚


Tafelfoto Lösung K12
(anklicken vergrößert)

Vorlesung

Semaphor
Abschnitt 9.2 ab Seite 93 bis 95
Zähler mit atomaren Operationen: V() rauf, P() runter, blockiert statt negativ zu werden
(un)gültige Fälle und Übergänge
Abläufe V() und P()
Operationen ergänzen sich; Abbildung 10.1 auf Seite 101
Abläufe beschreiben
Aufgabe K12 "Zelle"
(un)gültige Fälle und Übergänge
Abläufe give() und take() beschreiben
Interaktionsmuster
Abschnitt 2.3 ab Seite 16 bis 19 oben
Erzeuger/Verbraucher; Abbildung 2.8 auf Seite 16
Aufgabe K2 "Interaktionsmuster Erzeuger/Verbraucher", Teile a-b

Selbstständige Arbeit

Nachbereitung
Aufgabe K13 "Rendezvous mit Wertaustausch"
Aufgabe K2 "Interaktionsmuster Erzeuger/Verbraucher", Teile c-e
Vorbereitung Termin 5
Auftrag 3: Kritische Abschnitte — Aufgabe V5

Termin 3 — 2025-03-26  ☚


Tafelfoto Wdh. Segmente
(anklicken vergrößert)

Vorlesung

Software
Kapitel 3 ab Seite 33 bis 43
Wiederholung: Segmente
Wiederholung: Dynamische Bibliotheken   (engl.: shared libraries)
Plugins; Abschnitt 3.5 auf Seite 41 und 42
Infrastruktur
Präsentation 2Kapitel 7 ab Seite 71 bis 75
Was ist der Kern?
Prozesse
Präsentation 3Kapitel 8 ab Seite 77 bis 89
Aufgreifer und Bereitmenge; Abschnitt 8.2 auf Seite 80
Aufgabe V2 "Bereitmenge und Aufgreifstrategie"
Bedingungen und Wartemengen; Abschnitt 8.3 auf Seite 81 und 82
Aufgabe V3 "Warten", Schritte 1-10
Anfang und Ende; Abschnitt 8.4 auf Seite 83 und 84

Selbstständige Arbeit

Recherche
Auftrag 1: Multilevel Feedback QueueAufgabe K18
Auftrag 2: Five State Process ModelAufgabe K19
Solche Aufträge sind klausurrelevant!
Bitte mitstoppen und berichten, wie lange es dauert.
Für Interessierte
Rest von Aufgabe V3 "Warten"
Aufgabe V4 "Prozesszustände" in QNX Neutrino

Termin 2 — 2025-03-19  ☚


Tafelfoto Lösung V1
(anklicken vergrößert)

Vorlesung

Segmente
Kapitel 3 bis 3.1 ab Seite 33 bis 36
Code, Konstanten, statische Daten
Stapel   (engl.: stack)
Halde   (engl.: heap)
Beispielprogramm: fibonacci.c
Programme und Bibliotheken
Abschnitte 3.2 bis 3.4 ab Seite 36 bis 41
Ausführbare Dateien
Dynamische Bibliotheken
Programmlader, gemeinsame Segmente
Aufgabe V1 "Segmente"
Ein-/Ausgabe
Kapitel 4 bis 4.1 auf Seite 45 und 46
Standardein- und -ausgabeströme
Weitere Beispiele
Programmierschnittstellen (APIs)
Kapitel 6 ab Seite 65 bis 70
Bibliotheken
Kern(objekte)
Protokolle

Termin 1 — 2025-03-12  ☚

Umfrage: Begriffe bekannt?

15 Anwesende

5 – Thread / Multithreading
3 – Prozess
0 – Kritischer Abschnitt / critical region
1 – Mutex
2 – Zeitscheibe / time slice
3 – Kern / kernel space
1 – Userland / user space
4 – Interrupt / Unterbrechung
4 – Adressraum
1 – Segment
1 – Shared Library
2 – Paging / virtueller Speicher
0 – Seitenfehler / page fault
10 – I/O Stream
3 – Symbolischer Link / Symlink
1 – Hard Link
3 – Mount


Tafelfoto Lösung K1
(anklicken vergrößert)

Vorlesung

Kennenlernen
Vorkenntnisse?
Einstimmung
Präsentation 1Kapitel 1 ab Seite 1 bis 6
Instanzen und Funktionen
Programme und Bibliotheken
Instanzen und Infrastruktur
Wettstein'sches Schichtenmodell
Organisation
Webseite, Begleitbuch
Übungsaufgaben, Musterlösungen
Interaktionsmuster
Interaktionsdiagramme (IAD); Abschnitt 2.1 auf Seite 10 und 11
Kernobjekte zur Interaktion; Abbildung 7.4 auf Seite 74
Client/Server; Abschnitt 2.2 ab Seite 12 bis 15
mehrere Server; Abschnitt 2.2.2 auf Seite 14
Aufgabe K1 "Interaktionsmuster Client/Server"