1. Verteilte Systeme
Das Konzept verteilter Systeme hat sich aus einer Abfolge technologischer Entwicklungen entwickelt.
Dieser Abschnitt verfolgt diese Evolution von den ursprünglichen Betriebssystemen bis hin zu den
heutigen verteilten Betriebssystemen.
1.1 Batch-Betriebssysteme im Closed-Shop-Betrieb
Batch-Betriebssysteme waren die ersten, in denen Benutzer ihre Jobs in einer Warteschlange
einreichten, und diese Jobs wurden nacheinander ohne Interaktion verarbeitet. Diese Art des
Betriebs wurde als "Closed-Shop-Betrieb" bezeichnet, da es keinen direkten Benutzerzugriff auf das
System gab und alles in isolierten Batches verarbeitet wurde. Die Hauptvorteile bestanden in der
effizienten Nutzung der Ressourcen und in einer starken Strukturierung der Prozesse, aber dies kam
zu Lasten der Benutzerinteraktivität und der Flexibilität.
1.2 Timesharing-Betriebssysteme im offenen Systembetrieb
Mit der Einführung von Timesharing-Betriebssystemen wurde ein Paradigmenwechsel erreicht. Im
Gegensatz zum Batch-Betrieb erlaubte Timesharing mehreren Benutzern, ein System gleichzeitig zu
nutzen. Dieses System wurde als "offener Systembetrieb" bezeichnet, da Benutzer nun direkt und
interaktiv auf das System zugreifen konnten. Der Vorteil lag in der verbesserten Benutzerinteraktion
und in der Möglichkeit, Ressourcen in Echtzeit zu teilen. Dies führte jedoch auch zu neuen
Herausforderungen in Bezug auf die Sicherheit und die Isolierung von Benutzerprozessen.
1.3 Verteilte Betriebssysteme
Das Konzept verteilter Betriebssysteme kam mit der Notwendigkeit auf, Ressourcen über mehrere
Computer oder Knoten zu teilen und zu koordinieren.
1.3.1 Vernetzte autonome Systeme
Diese Systeme bestehen aus unabhängigen Computern, die über ein Netzwerk verbunden sind. Jeder
dieser Computer läuft mit seinem eigenen Betriebssystem und kann unabhängig voneinander
funktionieren. Die Vernetzung ermöglicht die Kommunikation und den Datenaustausch zwischen
diesen Systemen, wobei jedes System seine eigene Autonomie behält.
1.3.2 Netzwerkbetriebssystem mit integriertem Netzwerkdateisystem
Ein Netzwerkbetriebssystem, das ein integriertes Netzwerkdateisystem enthält, ermöglicht es
Benutzern und Anwendungen, auf Dateien zuzugreifen und sie zu teilen, als ob sie lokal wären, selbst
wenn sie sich physisch auf einem anderen Computer im Netzwerk befinden. Dieses Konzept
verbesserte die Datenzugriffsfähigkeit und -effizienz in verteilten Systemen erheblich.
, 1.3.3 Echt verteilte Betriebssysteme auf Micro-Kernel-Basis
Echte verteilte Betriebssysteme arbeiten auf der Grundlage eines Micro-Kernels, der nur die
grundlegendsten Funktionen bereitstellt, während höherstufige Funktionen von anderen
Systemkomponenten übernommen werden. Der Vorteil dieser Architektur besteht darin, dass sie
eine hohe Modularität und Flexibilität bietet und es den verteilten Systemen ermöglicht, eng
integriert zu arbeiten, als ob sie ein einziges kohärentes System wären.
2. Eigenschaften verteilter Systeme
2.1 Transparenzen
In der Welt verteilter Systeme ist Transparenz ein Schlüsselbegriff, der sich darauf bezieht, wie
Systeme für Benutzer und Anwendungen erscheinen. Es wird angestrebt, die Komplexität verteilter
Systeme zu verbergen und dem Benutzer den Eindruck eines einzigen, kohärenten Systems zu
vermitteln, obwohl tatsächlich viele verschiedene Systeme im Hintergrund arbeiten. Es gibt
verschiedene Arten von Transparenzen in verteilten Systemen:
- Zugriffstransparenz: Diese ermöglicht den Zugriff auf Ressourcen, ohne dass die Benutzer
sich der Unterschiede im Datenrepräsentationsformat oder des Zugriffsmechanismus
bewusst sind.
- Ortstransparenz: Hierbei ist für den Benutzer nicht erkennbar, wo sich eine Ressource
physisch befindet. Ressourcen können ohne Wissen des Benutzers verschoben oder repliziert
werden.
- Migrationstransparenz: Dies ermöglicht, dass Ressourcen im Netzwerk verschoben werden
können, ohne dass dies die Operationen beeinträchtigt oder die Benutzer darüber informiert
werden müssen.
- Redundanztransparenz: Bei Systemen, die über redundante Ressourcen verfügen, wird die
Redundanz verborgen, sodass Ausfälle und Wiederherstellungen ohne Wissen der Benutzer
oder Anwendungen vorgenommen werden können.
- Parallelitätstransparenz: Dies ermöglicht, dass mehrere Prozesse oder Aufgaben parallel und
gleichzeitig ablaufen, ohne dass dies für den Benutzer offensichtlich ist.
Durch die Kombination dieser Transparenzen kann ein verteiltes System die Illusion eines einzigen,
integrierten Systems erzeugen, das sich nahtlos und effizient anpasst und reagiert.
2.2 Vor- und Nachteile verteilter Systeme
Vorteile:
- Ressourcenaustausch: Verteilte Systeme ermöglichen den Austausch von Ressourcen wie
Rechenleistung, Speicherplatz und Daten unter verschiedenen Knoten.
- Zuverlässigkeit und Fehlertoleranz: Durch die Redundanz und Replikation von Daten und
Diensten können verteilte Systeme gegenüber Ausfällen widerstandsfähiger sein.
- Skalierbarkeit: Da neue Knoten und Ressourcen hinzugefügt werden können, können
verteilte Systeme leicht skaliert werden, um wachsenden Anforderungen gerecht zu werden.