| 27.10.98 | Einführungsveranstaltung /
Abgrenzung zur "Theorie"-Vorlesung Betriebssysteme I / Themensammlung zur "Praxis"-Vorlesung Betriebssysteme II:
Aufbauformen von Betriebssystemen, Komponenten von Betriebssystemen und Verteilte Systeme /
|
| 2.11.98 | 5. Aufbauformen von Betriebssystemen 5.1 Kerne von Betriebssystemen / Begriffsbestimmung / Makrokern und Mikrokern / Berwertung der Mikrokernarchitektur bzgl. Flexibilität, Anpassungsfähigkeit, Softwaretechnik, Kommunikation, Fehleranfälligkeit, Skalierbarkeit und Effizienz / Aufbauform bzgl. des Kerns bei WindowsNT: Executive, Kernel, HAL
|
| 9.11.98 | 5.2 Systemaufrufe / Realisierung mit synchronen Unterbrechungen / Systemaufrufe unter WindowsNT / Systemaufrufschnittstellen: SVID, BSD 4.3, Win32, POSIX / 5.3 Unterbrechungsbehandlung / Schritte der Unterbrechungsbehandlung / Einschub: Ausnahmebehandlung / Unterbrechungsbehandlung in WindowsNT / 5.4 Treiber / Grundsätzlicher Aufbau und wichtige Forderungen / Treiberaufbau unter Solaris
|
| 10.11.98 | Aufgabenteilung bei Treibern in Initiator und Kontinuator / Treiberaufbau in WindowsNT / 5.5 Sicherheit / Mechanismen und Strategien zur Sicherheit / Sicherheitsrelevante Objekte: Benutzer, Prozesse und Dateien / Authentifizierung und Autorisierung / externe und interne Authentifizierung / Das Kerberos Authentifizierungsprotokoll
|
| 16.11.98 | Mechanismen der Autorisierung / Matrix für die Zugriffskontrolle / für die Sicherheit zuständige Komponenten in WindowsNT / Zugriffslisten (ACLs) / 5.6 Prozesse und Threads / Threads im Client-Server-Konzept / Zustandsmodell für Threads / mögliche Strategien der Verplanung von Prozessen und Threads
|
| 17.11.98 | prioritätsbezogene Einordnung des Scheduling in die Aufgaben eines Betriebssystems / globale und lokale Zuordnung des physikalischen Speichers zu Prozessen / Aufspaltung des virtuellen Speicherbereiches von Prozessen und Threads in Benutzer- und Kernbereich / 5.7 Mehrprozessorsysteme / Abschätzung der Beschleunigung bei Mehrprozessorsystemen / Aufbau von Mehrprozessorbetriebssystemen nach dem Prinzip SMP (symmetric multiprocessing) / Synchronisierung im Kern von Mehrprozessorsystemen
|
| 23.11.98 | grundlegende Überlegungen zum Scheduling von Prozessen bei Mehrprozessorsystemen / 6. Komponenten von Betriebssystemen 6.1 Verwaltung und Verplanung von Prozessen / Aufgabendefinition der Prozessverwaltung / typische Daten der Prozessverwaltung / Kommunikationsmechanismus (IPC) am Beispiel Minix
|
| 24.11.98 | Prozessumschaltung / Aufgaben und Ziele bei der Verplanung / Kategorien des Scheduling / Strategien des probabilistischen Scheduling bei unterbrechbaren (RR, SRT) und nicht unterbrechbaren (FCFS, SJF, HRN) Prozessen / Hybrider Ansatz zum Scheduling (DPRR) / Fallbeispiel Solaris / Fallbeispiel WindowsNT
|
| 30.11.98 |
Einschub: 4.8 Geschlossene Systeme / Systemmodell / Antwortzeit, Denkzeit, Umlaufzeit / normierte Anwortzeit / Abschätzung der normierten Anwortzeit / Herleitung der normierten Anwortzeit / Ende des Einschubs / qualitative Untersuchung und Vergleich der Strategien FCFS und SJF / qualitative Untersuchung und Vergleich der Strategien RR und SRT
|
| 1.12.98 |
6.2 Speicherverwaltung / Aufgaben der Speicherverwaltung / Einbenutzer-Einspeicher-Systeme, Swapping, Partitionierung / virtuelle Adressierung / physikalischer und virtueller Adressraum / Beispiel: virtueller Adressraum in WindowsNT / Organisation des Adressraums in Segmente und Seiten / mathematische Darstellung der Adresstransformation / Adresstransformation in WindowsNT / Informationen zu einer Seite in der Seitentabelle / Mehrstufigkeit des Speicherzugriffs
|
| 7.12.98 |
Schema der Abarbeitung einer Seitenreferenz / Aktivierungszeitpunkte der Speicherverwaltung (bzw. Seitenverwaltung) /Seitenfehlerwahrscheinlichkeit / Lokalität und Gleichförmigkeit / Seitenreferenzwahrscheinlichkeit und deren Verteilung / Leistungsabfall durch Seitenfehler
|
| 8.12.98 |
Seitenaustauschalgorithmen / Kontrollzustände / FIFO-Algorithmus / FIFO-Anomalie / LRU-Algorithmus / Realisierungsbemühungen zum LRU-Algorithmus / OPT-Algorithmus
|
| 14.12.98 |
Betrachtung der Seitenfehlerwahrscheinlichkeit in Abhängigkeit von der Größe des physikalischen Speichers für FIFO, LRU und OPT / das Arbeitsmengen-Modell / AM-Algorithmus / PFF-Algorithmus / Working-Sets in WindowsNT
|
| 15.12.98 |
6.3 Dateiverwaltung / Eigenschaften von Dateien / Aufgaben der Dateiverwaltung / Bsp.: Bearbeitung eines E/A-Auftrages unter WindowsNT / Merkmale des Dateisystems NTFS / Betrachtung von RAID-Systemen (Redundant Array of Independent Disks) / Techniken der Spiegelung (mirroring) und Zerlegung in Streifen (striping)
|
| 4.1.99 |
6.4 Geräteverwaltung / Abstraktion und Leistungsanalyse / Organisation von Platten / Organisation von CD-ROMs / charakteristische Zeiten bei Plattenzugriffen / Strategien bei der Suchzeit (seek time): FCFS, SSTF, SCAN, C-SCAN / Strategien bei der Latenzzeit (latency time): FCFS, SATF
|
| 5.1.99 |
Analyse der Latenzzeit unter FCFS / Analyse der Latenzzeit unter SATF / Analyse der Suchzeit unter FCFS / Analytische Betrachtung der Suchzeit unter C-SCAN
|
| 11.1.99 |
7. Verteilte Systeme 7.1 Einführung / Definitionen / Vor- und Nachteile von verteilten Systemen / Leistungsbetrachtung an Hand des Zuse-Rechnernetzes
|
| 18.1.99 |
7.2 Das CSP-Modell / Ziel und Zweck von CSP / Parallelanweisung / synchrone Nachrichtenübertragung / bewachte Anweisung (guarded command) / alternative Anweisung / Wiederholungsanweisung / Terminationsproblem / Zustände bei der Auswertung eines Wächters (guard)
|
| 25.1.99 |
Beispiel: ein einfacher Sortierer / Beispiel: Entwicklung eines CSP-Algorithmus zum 5-Philosophen-Problem / Bedeutung von CSP für die Entwicklung von Programmiersprachen / Konzepte der Kommunikation in der Programmiersprache Ada / Rendezvous-Konzept / Parallelen zwischen CSP und Ada
|
| 26.1.99 |
Implementierung von I-Guards / das I/O-Guard Problem / Sortieren mit I/O-Guards / Paradigmen der verteilten Programmierung / das Problem der Terminationserkennung / Systematik der Programmtransformationen / Idee des Algorithmus zur Terminationserkennung / Transformation des Programms zur urspünglichen Berechnung
|
| 1.2.99 |
Invarianten bei der Terminationserkennung auf der Struktur eines spannenden Baumes / Korrektheit der Terminationserkennung / Algorithmen für die Terminationserkennung im Wurzelknoten, den inneren Knoten und den Blattknoten des spannenden Baumes / Verteilter Algorithmus zur Berechnung eines spannenden Baumes mit I/O-Guards / Verteilter Algorithmus zur Berechnung eines spannenden Baumes mit asynchroner Nachrichtenübertragung
|
| 2.2.99 |
7.4 Ordnung von Ereignissen in verteilten Systemen / kausale Ordnung von Ereignissen / Relation "a vor b" / virtuelle Zeit für ein Ereignis a nach Lamport: c(a) / Beweis: "a vor b" folgt c(a) < c(b) / virtuelle Vektorzeit nach Mattern: C(a) / Beweis: "a vor b" g.d.w. C(a) < C(b) / konsistenter Schnitt
|
| 8.2.99 |
7.5 Infrastrukturen für verteilte Systeme / Abstraktionsebenen von Infrastrukturen für verteilte Systeme / Fallbeispiel: Fernaufruf am Beispiel des SUN RPC (remote procedure call) / Client-Server Paradigma / Synchrone Kommunikation und Rendezvous / Identifizieren und Finden des Servers / Fehlerquellen beim Fernaufruf / universelles Datenformat nach XDR / Anwendungsbeispiel: Bereitstellung und Anforderung eines Dienstes zur Berechnung von Fibonacci-Zahlen / Fallbeispiel: MPI (message passing interface) / Zielsetzungen von MPI im Vergleich zu Fernaufrufen / Schema des Programmaufbaus
|
| 9.2.99 |
Grundfunktionen von MPI: MPI_Send, MPI_Recv, MPI_Comm_rank, MPI_Comm_size / Konfiguration einer Anwendungsumgebung / Architektur der Software in einem Knoten des verteilten Systems / Fallbeispiel: CORBA (common object request broker architecture) / Ziel: transparente Kommunikation zwischen verteilten Objekten / Aufgaben der Infrastrukturkomponente ORB (object request broker) / die Schittstellensprache IDL (interface definition language) / Beispiel: IDL Schnittstelle für eine Rastermatrix / Übersicht zur Architektur von CORBA
|