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 ☚
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 ☚
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 11
—
Kapitel 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 ☚
Vorlesung
- Dateipfade
-
Präsentation 7
—
Kapitel 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 ☚
Vorlesung
- Umschalten
- Präsentation 4 — Kapitel 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:
P()
läuft durch (Zählerstand 1)P()
blockiert (Zählerstand 0)V()
deblockiertP()
- 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 5 — Kapitel 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 6
—
Kapitel 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 ☚
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 ☚
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()
undP()
- 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()
undtake()
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 ☚
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 2 — Kapitel 7 ab Seite 71 bis 75
- Was ist der Kern?
- Prozesse
- Präsentation 3 — Kapitel 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 Queue — Aufgabe K18
- Auftrag 2: Five State Process Model — Aufgabe 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 ☚
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
Vorlesung
- Kennenlernen
- Vorkenntnisse?
- Einstimmung
- Präsentation 1 — Kapitel 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"