Skip to main content
main-content

Inhaltsverzeichnis

Frontmatter

1. Einführung

Zusammenfassung
Unter einem verteilten System wird in Anlehnung an Enslow [1.1] und Drobnik [1.2] ein DV-System verstanden, bei dem Daten- und/oder Funktionskomponenten eines Programmsystems auf mehrere, zu einem Netz zusammengeschlossene Rechner verteilt sind. Die Knoten des Netzes sind gewöhnlich autonom arbeitsfähige Monoprozessorsysteme mit eigenem Arbeitsspeicher und lokal zugeordneter Peripherie. Die physische Verteilung von Programm- und Datenteilen eines Programms auf mehrere nicht zusammenhängende Speicher autonomer Rechnernetzknoten führt zu einer Dezentralisierung der Kontrollstruktur verteilter Systeme. Sie zeigt sich darin, daß es unmöglich ist, allen Komponenten eines verteilten Systems die identische Sicht auf einen globalen, konsistenten Systemzustand zu vermitteln.
Jürgen Nehmer

2. Beschreibungsmethodik

Zusammenfassung
Der Aufbau konkurrenter, verteilter Programmsysteme basiert auf einer großen Zahl fundamentaler Konzepte, die in den vergangenen zwanzig Jahren entwikkelt wurden. Für ein systematisches Eindringen in dieses Fachgebiet bedarf es einer geeigneten Beschreibungsmethode zur Darstellung solcher Konzepte. Sie muß es einerseits gestatten, Algorithmen in der gewünschten Präzision zu formulieren; andererseits sollte sie sich auch dazu eignen, strukturelle Zusammenhänge in übersichtlicher Form auszudrücken und — in Abhängigkeit von der Betrachtungsebene — von unwichtigen Details zu abstrahieren.
Jürgen Nehmer

3. Grundlagen der nichtsequentiellen Programmverarbeitung

Zusammenfassung
Ziel dieses Kapitels ist es, den Prozeßbegriff schrittweise einzuführen und die grundlegenden Prinzipien der Synchronisation gekoppelter Prozesse darzulegen. Die hier vermittelten Kenntnisse stellen weitgehend Basiswissen der Informatik dar, das entscheidend durch Arbeiten von Dijkstra [3.1] und Brinch Hansen [3.2] beeinflußt wurde. Der mit diesem Arbeitsgebiet hinreichend vertraute Leser kann dieses Kapitel überspringen.
Jürgen Nehmer

4. Strukturmodelle für konkurrente Programme

Zusammenfassung
Nach den Ausführungen des vorangegangenen Kapitels sprechen wir von einem konkurrenten Programm dann, wenn dessen Ablaufverhalten durch eine Menge kooperierender Prozesse bestimmt wird. Dieses Grundkonzept kann abhängig von dem vorgesehenen Anwendungsbereich, der benutzten Programmiersprache und dem Verteilungsaspekt in weiten Grenzen variiert werden. Das zur Prozeßsynchronisation eingeführte Semaphor-Konzept definiert lediglich eine Art Basisstruktur für konkurrente Programme, die als Ausgangspunkt und Vergleichsbasis für höher entwickelte Strukturmodelle herangezogen werden kann.
Jürgen Nehmer

5. Ein allgemeines Realisierungskonzept für verteilte Systeme — das OSI-Referenzmodell von ISO

Zusammenfassung
Im vorangegangenen Kapitel wurden Strukturkonzepte für konkurrente, verteilte Programme losgelöst von ihrer Realisierung diskutiert. Die Ausführung verteilter Programme auf lokalen Rechnernetzen wirft eine Reihe schwieriger Probleme auf, für die hier ein allgemeingültiges Realisierungskonzept entwickelt werden soll.
Jürgen Nehmer

6. Protokolle

Zusammenfassung
In dem vorangegangenen Kapitel wurde deutlich, daß der Schlüssel zu übersichtlich strukturierten Netzwerkarchitekturen in der Definition einer Hierarchie von Protokollen liegt. Methoden zur präzisen Protokollspezifikation sowie systematische Techniken zur Umsetzung solcher Spezifikationen in geeignete Implementierungen durch Protokollmaschinen kommt deshalb eine besondere Bedeutung zu. In jüngster Zeit wird deshalb intensiv an formalen Methoden zur Modellierung von Protokollen geforscht. Gute Übersichten werden in [6.1, 6.2, 6.3] gegeben. Die älteste, vorwiegend informelle Form der Protokollspezifikation ist das Time-Line-Diagramm, das sich vor allem für die Definition von zeichenorientierten Halb-Duplex-Leitungsprotokollen bewährt hat [6.4]. In neueren Vorschlägen werden verschiedene Varianten von State-Machine-Modellen, Petrinet-zen, Formalen Sprachen, Methoden der Spezifikation abstrakter Datentypen und Mischungen dieser Methoden zur Protokollspezifikation erprobt (siehe z. B. [6.5]).
Jürgen Nehmer

7. Netztopologien und Übertragungssteuerungsverfahren für lokale Netze

Zusammenfassung
Ein verteiltes Programmsystem erfüllt die vorgesehene Aufgabe in erster Näherung unabhängig von der Struktur und den Eigenschaften des Kommunikations -systems, das die beteiligten Rechner untereinander verbindet. Bei näherer Betrachtung zeigt sich jedoch, daß der hier angestrebte Verteilungsgrad einen Kommunikationsaufwand erfordert, der nur durch räumlich konzentrierte, d. h. auf wenige Quadratkilometer ausgedehnte Netze bewältigt werden kann. Diese Netze werden auch Nahbereichsnetze oder lokale Netze genannt. Sie sind dadurch charakterisiert, daß
a)
die maximale Ausdehnung zwischen zwei beliebigen Netzknoten < 10 km ist,
 
b)
die Übertragungsrate gewöhnlich 1 MBit/sec übersteigt und
 
c)
nur eine vergleichsweise kleine Zahl von kommunizierenden Rechnern (z. B. 256) zugelassen ist.
 
Jürgen Nehmer

8. Das Ethernet: Ein Beispiel für lokale Netze

Zusammenfassung
Das Ethernet ist ein Busnetzwerk, das in einer Prototypversion 1975 von Xerox entwickelt und erprobt wurde [8.1]. 1981 haben sich die Firmen Xerox, Intel und Digital Equipment auf eine gemeinsame Spezifikation für die Übertragungs- und Leitungsebene (die zwei untersten Schichten des OSI-Referenzmodells) des Ethernet geeinigt und ferner verschiedene funktionale Schnittstellen innerhalb dieser zwei Protokollebenen festgelegt [8.2]. Es ist zu erwarten, daß aufgrund der marktbeherrschenden Stellung dieser Firmen das Ethernet zu einem Quasi-standard im Bereich der lokalen Netze werden wird. Stellvertretend für viele Entwicklungen [8.3, 8.4] wird deshalb hier dieses Netz im Detail vorgestellt.
Jürgen Nehmer

9. Knotenbetriebssysteme

Zusammenfassung
Die Bereitstellung einer vorgegebenen Kommunikationsleistung im Netz erfordert in der Regel die Unterstützung durch lokale, auf die einzelnen Netzknoten spezialisierte Knotenbetriebssysteme. Als übergreifendes Strukturierungsschema legen wir dabei eine Gliederung der Knotenbetriebssysteme in Programmschichten zugrunde, wie sie erstmals von Dijkstra [9.1] vorgeschlagen wurde. Die einzelnen Programmschichten stehen in einer gerichtet-funktionalen Beziehung zueinander, in der höhere (d. h. hardware-fernere) Schichten die Leistung niederer Schichten durch den Aufruf von Funktionen benutzen [9.2].
Jürgen Nehmer

10. Protokollimplementierung

Zusammenfassung
Stellvertretend für alle Protokollebenen des OSI-Referenzmodells soll hier ein systematisches Implementierungsschema für Kommunikationsprotokolle eingeführt und anhand des in Kapitel 6 spezifizierten HDLC-Leitungsprotokolls erprobt werden.
Jürgen Nehmer

11. Käufliche Netzwerkbetriebssysteme

Zusammenfassung
In diesem abschließenden Kapitel soll eine Übersicht über käufliche Netzwerkbetriebssysteme für lokale Netze gegeben werden. Wir verstehen darunter Betriebssysteme, die nicht an ein ganz bestimmtes Herstellerprodukt gebunden sind, sondern durch Softwarehäuser für eine möglichst große Palette von Rechnern und käuflichen Netzwerken angeboten werden.
Jürgen Nehmer

Backmatter

Weitere Informationen