Verteilte Betriebssysteme: Probleme und Lösungen (Teil 2)

Betriebssysteme müssen künftig Rechner und Netzwerke steuern

16.10.1992

Der Grad der Vernetzung ist drastisch angestiegen. Das weitgehende Fehlen adäquater Hilfsmittel für die Steuerung vernetzter Umgebungen läßt nun die Anwendung von Betriebssystemen, die auf eine einzelne Maschine beschränkt sind, fraglich erscheinen. Gefordert sind jetzt verteilte Betriebssysteme (VBS), die Netze und angeschlossene Rechner als logische Einheit steuern können. Im folgenden sollen die Aufgaben solcher Systeme erläutert werden.

Die Aufgaben von Betriebssystemen - wie in der letzten Folge dargestellt - ändern sich beim Übergang auf VBS nicht grundsätzlich. Es soll den Benutzern und Anwendungen eine einheitliche, transparente Sicht aller im Gesamtsystem vorhandenen Ressourcen vermitteln, bei denen die örtlichen Gegebenheiten keine Rolle spielen.

Im Detail haben die einzelnen Funktionsbereiche jedoch sehr wohl die verschiedenen Aspekte der Verteilung zu berücksichtigen. Außerdem entstehen neue Aufgaben, da mit den Netzen und Protokollen weitere Hard- und Softwareressourcen zu unterstützen, bereitzustellen und zu verwalten sind.

Zudem sind verteilte Systeme häufig keine homogenen Systeme, so daß der Heterogenität in allen ihren Spielarten (Knotenhardware, Netze, Protokolle etc.) Rechnung getragen werden muß.

Eine Charakterisierung dessen, was nun mit dem Begriff "verteiltes Betriebssystem" gemeint ist, ergibt sich damit wie folgt: Einerseits hat es die Ressourcen nun im Netzwerk von Rechnern zu verwalten und den Benutzern und Anwendungen zur effizienten Nutzung bereitzustellen. Dazu bildet ein VBS ein ganz- und einheitliches System, welches sich für die Benutzer nicht von Betriebssystemen für einzelne Rechner unterscheidet.

Andererseits gehört zu den wichtigen Aufgaben eines VBS die Realisierung einer verteilten DV-Umgebung in einer Weise, daß der Knotenrechnung die Zuordnung der Ressourcen verborgen bleiben kann. Hinzu kommen Mechanismen zur Durchsetzung des Zugriffsschutzes und der Realisierung einer sicheren Kommunikation.

Auf der Ebene der Hardware besteht ein verteiltes DV-System aus einer Menge von Knotenrechnern, die durch ein Nachrichten-Transportnetz untereinander verbunden sind. Diese Computer können dabei sowohl PCs, Workstations oder Multiprozessorsysteme sein.

Ein VBS stellt sich aus der Sicht der Benutzer dar wie ein gewöhnliches Betriebssystem auf einer herkömmlichen, einzelnen Maschine. Tatsächlich ist es jedoch ein Programm, das die Betriebsmittel mehrerer, eventuell heterogener, an sich unabhängiger Rechensysteme kontrolliert, verwaltet und den Benutzern eine einheitliche Schnittstelle bereitstellt.

Ein VBS hat demnach folgende grundsätzlichen Funktionen:

- Interprozeß-Komniunikation: Dieser Nachrichtenaustausch zwischen Prozessen geschieht über Protokolle sowohl auf der Transportschicht als auch auf Service-Ebene.

- Management von Ressourcen: Dabei werden neue Betriebsmittel erstellt, installiert, Benutzern zugeordnet und Entscheidungen über den Ort der Ausführung eines Auftrags getroffen. Hinzu kommt die Bereitstellung von Mechanismen für Nebenläufigkeits-Kontrolle und Synchronisation.

- Namensverwaltung: Diese Aufgabe umfaßt die Bindung von Namen an Ressourcen und deren Netzadressen, die Erstellung und Verwaltung von Verzeichnissen, die Unterstützung von Namens-Servern, die Lokalisierung von Ressourcen für die Bediener und Benutzer sowie die Unterstützung der Transparenzeigenschaft. Damit ist das Prinzip gemeint, wonach Bezeichnungen nicht an Stellen gebunden werden und auch keine Stellennamen inkorporieren dürfen.

- Wiederaufsetzen nach Fehlern, Fehlertoleranz auf verschiedenen Schichten der Systemarchitektur.

- Schutzfunktionen: Hier sind Benutzerrechte festzulegen und Mechanismen gegen, den Zugriff Unbefugter zu implementieren.

Die Benutzer eines verteilten Betriebssystems bewegen sich in einem Raum abstrakter Objekte und Operationen. Die technischen Voraussetzungen für die Lösung ihrer konkreten Probleme sollen ihnen dabei verborgen bleiben.

Die Hauptforderung aus Anwendersicht ist, daß verteilte Umgebungen alle im Unternehmen anfallenden DV-Aufgaben abdecken. Weder rein zentrale noch rein dezentrale DV-Systeme haben sich hier als für alle Anwendungen gleichermaßen nützlich erwiesen. Erst die Vernetzung von Rechenanlagen unterschiedlicher Architektur und unterschiedlicher Leistung ermöglicht die Bereitstellung eines breiten, durchgängigen Spektrums von Hilfsmitteln. Die Kombination unterschiedlicher Systemtypen zur Anpassung an die Vorstellungen der Benutzer (customization) wird in Zukunft eine immer größere Rolle spielen. Neben verteilten Betriebssystemen eignen sich dafür jedoch auch Konzepte wie IBMs SAA.

Ein weiteres Problem ist die Vereinfachung des Zugangs zu weit verteilten Ressourcen. In der heutigen Situation muß der Benutzer einen hohen Kenntnisstand über Computer im allgemeinen und über das konkret verwendete Netzwerk einbringen, um an die für eine Problemlösung - die nichts mit Datenverarbeitung zu tun hat - nötigen Ressourcen heranzukommen.

Der Erfolg der PCs erklärt sich nicht zuletzt dadurch, daß dort der organisatorische Aufwand für die Anwender minimiert wurde. Übertragen auf verteilte Umgebungen bedeutet das, daß hier die Methoden der Transparenz und Virtualisierung konsequent zu verfolgen sind. Der große Erfolg von grafischen Benutzeroberlächen wie MS-Windows belegt eindrucksvoll den Wunsch des durchschnittlichen Benutzers nach einfacher Bedienung bei steigender Leistungsfähigkeit.

Weitere Anforderungen sind

- ein möglichst breites Funktionsangebot,

- Erweiterbarkeit durch problemlose Integration neuer Betriebsmittel in Hard- und Software unter Mitbenutzung bestehender Hilfsmittel - hier ist an Konfigurationsänderungen im Rahmen des Netzwerk-Managements zu denken,

- Kohärenz durch Realisierung einer einheitlichen Sicht für alle Ressourcen und Protokolle zu deren Benutzung, ferner Verdeckung stellenspezifischer Eigenschaften und systemweite Benennung sowie systemweit gleichartige Benutzung von Betriebsmitteln und

- Portabilität in möglichst umfassender Art und Weise.

Das Zentrum eines verteilten Betriebssystems an einer bestimmten Stelle im Netze kann entweder als gewöhnlicher Betriebssystem-Kernel oder als Benutzerprozeß oberhalb dieses lokalen System-Kerns laufen. Die zweite Methode eignet sich vor allem zur Einbettung heterogener Rechner in die VBS-Umgebung. Es treten jedoch große Probleme auf, wenn man auf einem Rechner im Netz ein vollständiges Einplatz-Betriebssystem zuläßt, da dies die gesamte Ressourcenverwaltung des VBS in Frage stellt und außerdem Möglichkeiten zur Verletzung des Schutzes eröffnet.

Das lokale Betriebssystem beziehungsweise der dort eingesetzte Teil des VBS virtualisiert die physikalischen Ressourcen und verwaltet sie. Chip und RAM werden als Prozesse verwaltet, der Inhalt der Sekundärspeicher als Dateien, der Primär- und der Sekundärspeicher zusammen als virtuelle Speichersegmente. Die Leistungen von zum Beispiel speziellen E/A-Geräten erscheinen dem System als abstrakte Services.

Das lokale Betriebssystem faßt also sämtliche Ressourcen als eine kohärente Menge von abstrakten Objekten auf und unterstützt auf dieser Ebene Namensgebung, Zugriffskontrolle, Sharing, Schutz, Synchronisation, Fehlerkontrolle und Interprozeß-Kommunikation. Weiter verteilt es diese Betriebsmittel auf mehrere Prozesse.

Die Rolle des verteilten Betriebssystems besteht dabei darin, die lokale Begrenzung bei all diesen Dienstfunktionen aufzuheben.

Der Unterschied zum Notz-Betriebssystem

Eine wesentliche Eigenschaft von verteilten Betriebssystemen ist die Transparenz. Dieses Charakteristikum unterscheidet sie von Netwerk -Betriebssystemen, mit denen die VBS gemeinsam haben, daß sie die Kooperation von räumlich getrennten Rechnern unterstützen.

In einer Umgebung mit Netzbetriebssystem besitzt jeder Knoten beziehungsweise Rechner ebenfalls sein eigenes Betriebssystem, welches durch die entsprechenden Netzkomponenten ergänzt wird, wohingegen in einem VBS in jedem Knoten Teile eines einheitlichen und systemweiten Betriebssystems ablaufen. Dabei kann dieses globale Betriebssystem im Einzelfall durchaus lokal auf homogene oder heterogene Knoten-Betriebssysteme zurückgreifen, die dann aber in der Komponentenebene ganzheitlich zusammenwirken.

Die vom Benutzer durchgeführten Aktivitäten laufen beim Netz-Betriebssystem im wesentlichen lokal ab, bieten aber die Möglichkeit des Remote login, um auf entfernten Knotenrechnern Leistungen in Anspruch nehmen zu können. Im Gegensatz dazu ist die Zuordnung und die Verlagerung der Aktivitäten in einem verteilten Betriebssystem transparent und geschieht durch eine dynamische Allokation von Prozessen an den jeweils geeigneten Knoten: Prozeßmigration.

Im -Hinblick auf dein Dateitransfer und die noch zu erläuternden File-Server stellt ein VBS einen systemweit gemeinsamen Namensraum zur Verfügung, so daß auch hier dem Benutzer die Stellenanbindung der Dateien verborgen bleibt. In einem Netz-Betriebssystem ist zum Zugriff auf entfernte Dateien ein expliziter Dateitransfer nötig.

Ein weiterer wesentlicher Aspekt zur Abgrenzung der verteilten Systeme von den Netz-Betriebssystemen besteht in der Fehlertoleranz, die im Falle der verteilten Systeme durch eine Vielzahl von Maßnahmen unterstützt werden kann, was bei den Netz-Betriebssystemen durch ihre große Eigenständigkeit und Verschiedenartigkeit nur schwer möglich ist. In der nächsten Folge werden realisierungsbezogene Aspekte verteilter Systeme besprochen und ein Überblick über aktuelle Entwicklungen der Hersteller gegeben.

*Dr. Franz-Joachim Kauffels ist Diplom-Informatiker und Unternehmensberater in Euskirchen;

Dr. Uwe Baumgarten ist Hochschulassistent am Fachbereich Informatik der Universität Oldenburg.

Serie: Verteilte Betriebssysteme

In der ersten Folge unserer Serie wurde eine Einführung in das Thema verteilte Betriebssysteme gegeben.

Der zweite Teil beschreibt deren Aufgaben in Abgrenzung zu Netzwerk-Betriebssystemen.

Als nächstes wird sich ein Überblick über aktuelle Entwicklungen bei den Herstellern anschließen.