1 Verteilte Betriebssysteme — Ein aktueller Ueberblick.- 1.1 Einleitung.- 1.1.1 Motivationen für die Verteilung eines Betriebssystems über mehrere Maschinen.- 1.1.2 Der Grad der Verteiltheit eines Systems.- 1.2 Exemplarische Betrachtung ausgewählter Systeme.- 1.2.1 Einführung.- 1.2.2 Apollo.- 1.2.3 Mach.- 1.2.4 Quicksilver.- 1.2.5 Argus.- 1.2.6 Eingliederung des ISO/OSI-Modells in die Betriebssystem-Umgebung.- 1.3 Entwicklungstendenzen im Gebiet verteilte Betriebssysteme.- 1.3.1 Eine vergleichende Bewertung basierend auf den betrachteten Systemen.- 1.3.2 Forschungsschwerpunkte in diesem Gebiet.- 2 Anwendung von objektorientierten Konzepten in der Betriebssystem-Umgebung.- 2.1 Einleitung.- 2.2 Betriebssystem-Aspekte von Smalltalk.- 2.2.1 Die virtuelle Maschine.- 2.2.2 Smalltalk-Klassen mit Betriebssystem-Funktionen.- 2.3 Was ist ein objektorientiertes Betriebssystem?.- 2.3.1 Was ist objektorientierte Programmierung?.- 2.3.2 Objektorientierte Konzepte auf der Betriebssystem-Ebene.- 2.3.3 Anforderungen an das objektorientierte Betriebssystem.- 2.4 Problematik der Verteilung eines objektorientierten Betriebssystems.- 2.5 Verteilte Datenbanken versus verteilte Betriebssysteme.- 2.5.1 Weshalb brauchen wir verteilte Datenbanken.- 2.5.2 Anforderungen durch verteilte Datenbanken ans Betriebssystem.- 2.5.3 Anwendung von Resultaten aus der Datenbank-Theorie.- 2.5.4 Objektorientierte Datenbanken.- 3 Ein integrierter Ansatz für eine Betriebssystem-Architektur, basierend auf Prolog.- 3.1 Prolog — eine homogene Lösung von der Systemprogrammierung bis zur Anwendungsprogrammierung.- 3.2 Prolog für den Anwender — micro-Prolog.- 3.3 Prolog für Datenbank-Anwendungen — offene Probleme.- 3.4 Parallelität in Prolog.- 3.5 Die Verteilung von Prolog.- 4 Existierende Konzepte zur Ermöglichung von ereignisgesteuerter Programmierung.- 4.1 Einleitung.- 4.2 Constraints.- 4.2.1 Implementation von Constraints.- 4.2.2 Auflösung statischer Constraints.- 4.2.3 Triggering von dynamischen Constraints.- 4.3 Hybrid — eine objektorientierte Sprache für die Programmierung mit aktiven Objekten.- 4.3.1 Überblick.- 4.3.2 Triggering von aktiven Objekten.- 4.3.3 Implementation.- 4.4 Active Values in Loops und Kee.- 4.4.1 Loops.- 4.4.2 Kee.- 4.5 Das SunNeWS-Postscript-Taskingsystem.- 4.5.1 Aktivation eines Prozesses.- 4.5.2 Implementation des Event-Interest-Systems.- 4.6 Ein Event/Trigger-Mechanismus zur Unterstützung semantischer Regeln (ETM).- 4.7 Folgerungen aus dem Vergleich schon existierender Mechanismen.- 4.7.1 Constraints.- 4.7.2 Active Values.- 4.7.3 Event/Trigger-Mechanismen.- 5 Eine Betriebssystem-Erweiterung zur Programmierung mit aktiven Objekten.- 5.1 Einleitung.- 5.2 Beschreibung des Event-Distribution-Mechanismus (EDM).- 5.2.1 Terminologie und Voraussetzungen.- 5.2.2 Aufbau und Funktionsweise des EDM.- 5.2.3 Die Klientenschnittstelle.- 5.3 Implementation des EDM mit NCS unter Sun’s NFS.- 5.3.1 Implementation unter Verwendung von Apollo’s NCS.- 5.3.2 Die Architektur des EDM.- 5.3.3 Die Event-Handler-Funktion.- 5.3.4 Die Implementation von blockierenden Events.- 5.4 Exemplarische Anwendungen des EDM.- 5.4.1 Ressourcen-Locking.- 5.4.2 Atomare Transaktionen.- 5.4.3 Konsistenzerhaltung replizierter Kopien eines Files.- 6 Dynamisch synchronisiertes Locking — Ein Locking-Protokoll für Ressourcen-Locking in einer statuslosen Umgebung.- 6.1 Einleitung und Zielsetzungen.- 6.2 Das statuslose versus das statusbehaftete Client-Server Modell.- 6.2.1 Allgemeines.- 6.2.2 Nachteile des statusbehafteten Servers in einer Netzwerk-Umgebung.- 6.2.3 Die Locking-Problematik für statuslose Server.- 6.3 Existierende Lösungen für das statuslose Locking-Problem.- 6.3.1 Sun’s Lock-Manager.- 6.3.2 Weitere theoretische Ansätze.- 6.4 Dynamisch Synchronisiertes Locking — Das DSL-Protokoll.- 6.4.1 Die grundlegende Idee.- 6.4.2 Berücksichtigung von Client-Crashes.- 6.4.3 Berücksichtigung der Netzwerk-Verzögerung — Kollision von Lock-Requests.- 6.4.4 Unzuverlässiger Broadcast.- 6.4.5 Weitere Schwierigkeiten: Partitionierung des Netzwerks und mehrfache Client-Crashes.- 6.4.6 Zusammenfassung des DSL-Protokolls.- 6.4.7 Informeller Korrektheitsbeweis des DSL-Protokolls.- 6.4.8 Spezifiikation in Pseudocode.- 6.5 Implementation von DSL unter Sun’s NFS.- 6.5.1 Architektur des DSL-Services.- 6.5.2 Einige technische Details.- 6.6 Vergleich zwischen bereits existierenden Lösungen und DSL.- 6.6.1 Vergleich zwischen DSL und dem Sun-Lock-Manager.- 6.6.2 Vergleich zwischen dem DSL-Protokoll und anderen Algorithmen.- 6.7 Mögliche Modifikationen und Erweiterungen von DSL.- 7 Schlussfolgerungen und Ausblick.- Literatur.- Nach Spezialgebieten.- Betriebssysteme.- Netzwerke und Distributed Computing.- Verteilte Datenbanken.- Objektorientiertes Design.- Constraints und Triggering.- Logische Programmierung und Prolog.- Spezielle verteilte Betriebssysteme.- EDM und DSL.- Vollständiges alphabetisches Verzeichnis.- Stichwortverzeichnis Englisch — Deutsch.