110
Vorlesung: 1 Betriebssysteme V 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Studiengang Informatik FHDW Vorlesung: Betriebssysteme V 1. Quartal 2003

Studiengang Informatik FHDW

  • Upload
    anson

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Vorlesung: Betriebssysteme V 1. Quartal 2003. Studiengang Informatik FHDW. Gliederung. Wiederholung Kommunikation in verteilten Systemen Einstieg: Problemstellung Rechte Berechtigungen anhand einer praktischen Implementation ISO/OSI-Referenzmodell - PowerPoint PPT Presentation

Citation preview

Page 1: Studiengang Informatik FHDW

Vorlesung: 1 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Studiengang Informatik FHDWStudiengang Informatik FHDW

Vorlesung: Betriebssysteme V

1. Quartal 2003

Page 2: Studiengang Informatik FHDW

Vorlesung: 2 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

GliederungGliederungWiederholung Kommunikation in verteilten SystemenEinstieg: Problemstellung Rechte Berechtigungen anhand einer praktischen ImplementationISO/OSI-ReferenzmodellVergleich diverser Protokollstacks (TCP/IP...)Einführung Netzwerkkomponenten und -technologien(globale) Verzeichnisdienste (NDS, AD, iPlanet)Synchronisation in verteilten SystemenDeadlocks in verteilten SystemenProzesse und Prozessoren in verteilten SystemenSystemmodelle (das Workstation-Modell)Scheduling in verteilten SystemenEinführung in Netzwerkdienste Ausblick

Page 3: Studiengang Informatik FHDW

Vorlesung: 3 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

DateienDateien

Wichtige Abstraktionsform für die dauerhafte Speicherung von Daten, Informationen und Programmen.Meist bestehen die Dateien aus einer linearen Aneinanderreihung von Bytes.Für den Zugriff verwendet man einen Dateizeiger, der zu einem Zeitpunkt auf ein bestimmtes Byte verweist.

Page 4: Studiengang Informatik FHDW

Vorlesung: 4 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

DateisystemDateisystem

Ist auf Einzelplatzrechnern die Schnittstelle zur Festplatte.Ein verteiltes Dateisystem ermöglicht es zusätzlich, auf entfernte Dateien zuzugreifen.Ein verteiltes Dateisystem ermöglicht es, plattenlose Geräte zu unterstützen.Verteilte Dateisysteme sind als Client/Server-System aufgebaut.Das Dateisystem bietet einem Klienten einen Dateidienst (engl.: file service) und wird von einem oder mehreren Dateiservern (engl.: file server) implementiert.

Page 5: Studiengang Informatik FHDW

Vorlesung: 5 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

TransparenzanforderungenTransparenzanforderungen

ZugriffstransparenzDer Zugriff auf entfernte Dateien erfolgt für Klienten mit den gleichen Operationen, wie der Zugriff auf lokale Dateien.

OrtstransparenzEs spielt keine Rolle, an welchem physikalischen Ort eine Datei gespeichert ist.Um den Zugriff identisch zu halten, wird dazu ein uniformer Namensraum benötigt.Eine eventuelle Relokierung von Dateien muss ohne Änderung des Namens erfolgen können.

Page 6: Studiengang Informatik FHDW

Vorlesung: 6 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Transparenzanforderungen (2)Transparenzanforderungen (2)

NebenläufigkeitstransparenzGreifen mehrere Klienten gleichzeitig auf eine Datei zu, soll kein Klient vom Zugriff anderer Klienten beeinflusst werden.Aus Konsistenzgründen sind nebenläufige, schreibende Zugriffe problematisch.Oft wird dies durch einfache Sperrverfahren verhindert, wodurch dann bei überlappenden Zugriffen keine Nebenläufigkeitstransparenz mehr gilt.

FehlertransparenzFür Klienten, wie für Server, soll ein Fehlverhalten des jeweils anderen nicht zu Inkonsistenzen und Verklemmungen führen.

Page 7: Studiengang Informatik FHDW

Vorlesung: 7 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Transparenzanforderungen (3)Transparenzanforderungen (3)

LasttransparenzDie Anfragelast auf Serverseite soll sich nicht auf dessen Antwortzeiten auswirken.Lasttransparenz ist eine wichtige Forderung für verteilte Dateisysteme, die sehr viele Klienten bedienen sollen.

Hardware- und Betriebssystem-TransparenzDas verteilte Dateisystem soll die Heterogenität unterschiedlicher Hardware und Betriebssysteme verbergen.Die Programmierschnittstelle des Dateisystems muß dazu vereinheitlicht über verschiedenen Betriebsystemen implementiert sein.

Page 8: Studiengang Informatik FHDW

Vorlesung: 8 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Transparenzanforderungen (4)Transparenzanforderungen (4)

ReplikationstransparenzDer Klient darf immer nur eine logische Datei sehen, egal wie häufig und wo diese repliziert vorgehalten wird.

MigrationstransparenzVerändert eine Datei ihren Speicherungsort, dann ist dies für den Klienten nicht sichtbar.Dateien werden eventuell dynamisch „in der Nähe“ von den Klienten gehalten, die häufig darauf zugreifen.

Page 9: Studiengang Informatik FHDW

Vorlesung: 9 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Transparenzanforderungen (5)Transparenzanforderungen (5)

PartitionierungstransparenzDas Dateisystem kann partitioniert werden, d.h. bestimmte Dateiserver sind nicht mehr zugreifbar für bestimmte Klienten.Trotzdem stehen für alle Klienten noch alle benötigten Dateien zur Verfügung.Eine Vereinigung bisher getrennter Partitionen erzeugt dabei möglichst keine Inkonsistenzen.Partitionierungstransparenz ist speziell für die Anbindung mobiler Rechner interessant.

Nicht alle diese Anforderungen werden jedoch von den verfügbaren Systemen erfüllt.

Page 10: Studiengang Informatik FHDW

Vorlesung: 10 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Aufbau verteilter DateisystemeAufbau verteilter Dateisysteme

Ein verteiltes Dateisystem ist konzeptionell in drei Komponenten gegliedert.Dateidienst

Ist zuständig für die elementaren Operationen auf Dateien und deren Inhalt.Dies sind Funktionen, wie Lesen und Schreiben, Ändern niederwertiger Dateiattribute (z.B.: Längeninformation und Zeitstempel),Allokierung von Plattenblöcken,Plattenein- und ausgabe und Pufferung.

Page 11: Studiengang Informatik FHDW

Vorlesung: 11 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Aufbau verteilter Dateisysteme (2)Aufbau verteilter Dateisysteme (2)

VerzeichnisdienstHier erfolgt die Abbildung von Dateinamen auf die binären Dateizeiger, das Verwalten der Dateien im meist hierarchischen Namensraum,der Test und das Ändern der Zugriffsrechte und anderer höherwertiger Dateiattribute,die Unterstützung und Umrechnung von symbolischen Verweisen oder Aliasen.

Page 12: Studiengang Informatik FHDW

Vorlesung: 12 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Aufbau verteilter Dateisysteme (3)Aufbau verteilter Dateisysteme (3)

KlientenmodulFür das Anwendungsprogramm ist das Klientenmodul die Schnittstelle, über die Aufrufe an den Verzeichnis- und Dateidienst erfolgen.Die lokalen Aufrufe des lokalen Betriebs- oder Dateisystems werden darauf abgebildet.Das Klientmodul kann in unterschiedlich komplexen Ausprägungen vorliegen:

vom einfachen RPC-Stub, biszu einem eigenen Dateisystem mit Cacheeinträgen aus dem verteilten Dateisystem.

Page 13: Studiengang Informatik FHDW

Vorlesung: 13 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Komponenten eines vert. DateisystemsKomponenten eines vert. Dateisystems

Page 14: Studiengang Informatik FHDW

Vorlesung: 14 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Sichtweisen auf verteilte DateisystemeSichtweisen auf verteilte Dateisysteme

Die Sichtweise auf ein verteiltes Dateisystem defi-niert sich auch durch die Syntax der Dateinamen.

Rechnername + Pfadname bzw. Servername + PfadnameJeder Rechner oder Dateiserver hat seine eigene, von anderen Rechnern unabhängige Verzeichnisstruktur.Ein Dateiname wird durch Konkatenation aus Rechner- oder Servernamen und dem Pfad im Dateiverzeichnis gebildet.Die Namengebung ist dadurch orts- oder serverabhängig.Rechnernamen sind beispielsweise die IP-AdresseServernamen werden bspw. gebildet aus Portnummer und IP-Adresse.

Page 15: Studiengang Informatik FHDW

Vorlesung: 15 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Sichtweisen auf verteilte Dateisysteme (2)Sichtweisen auf verteilte Dateisysteme (2)

Gegeben seien drei autonome Dateiserver:

Page 16: Studiengang Informatik FHDW

Vorlesung: 16 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Sichtweisen auf verteilte Dateisysteme (3)Sichtweisen auf verteilte Dateisysteme (3)

Remote Mountingeine Verzeichnisstruktur eines entfernten Rechners wird logisch in die lokale Struktur eingebunden.Da diese Einbindung für jeden Rechner individuell erfolgen kann, ist keine Namenstransparenz gegeben.

Page 17: Studiengang Informatik FHDW

Vorlesung: 17 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Sichtweisen auf verteilte Dateisysteme (4a)Sichtweisen auf verteilte Dateisysteme (4a)

Page 18: Studiengang Informatik FHDW

Vorlesung: 18 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Sichtweisen auf verteilte Dateisysteme (4b)Sichtweisen auf verteilte Dateisysteme (4b)

Page 19: Studiengang Informatik FHDW

Vorlesung: 19 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Sichtweisen auf verteilte Dateisysteme (5)Sichtweisen auf verteilte Dateisysteme (5)

Uniformer Namensraum durch SuperrootÜber alle lokalen Dateisysteme wird eine übergeordnete Wurzel gesetzt.Dadurch erreicht man sowohl eine Orts-, als auch Namenstransparenz.

Page 20: Studiengang Informatik FHDW

Vorlesung: 20 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Semantik des DateisharingSemantik des Dateisharing

Greifen mehrere Prozesse auf eine Datei gemein-sam zu, entstehen Nebenläufigkeitsprobleme.Auf einem Einzelrechner ist es durch die zentrale Auslegung des Systems leicht möglich Lese- und Schreibzugriffe stets sequentiell geordnet zu halten z.B. durch einen einzelnen Dateipositionszeiger.Dies kann auf ein verteiltes Dateisystem übertragen werden, wenn auch hier eine zentrale Koordinie-rung durchgeführt wird.Wenn jedoch Caching und Replikation eingesetzt werden, versagt das Funktionsprinzip.

Page 21: Studiengang Informatik FHDW

Vorlesung: 21 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Semantik des Dateisharing (2)Semantik des Dateisharing (2)

Eine Lösung der Sharing-Probleme ist es, generelles Sperren von Dateien durchzuführen.Greift ein Klient auf eine Datei zu, so sperrt er sie für den Zugriff anderer.Dies verhindert jedoch jegliche Parallelität.

Page 22: Studiengang Informatik FHDW

Vorlesung: 22 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Einzelkopie-SemantikEinzelkopie-Semantik

Die Einzelkopie-Semantik wird oft auch als Unix-Semantik bezeichnet, da sie im UNIX-Dateisystemimplementiert ist.Ein Lesezugriff auf eine Datei erhält immer das Ergebnis des zeitlich zuvorliegenden letzten Schreibzugriffs.

Page 23: Studiengang Informatik FHDW

Vorlesung: 23 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Einzelkopie-Semantik (2)Einzelkopie-Semantik (2)

Implementiert man einen zentralen Dateiserver, ist die Einzelkopie-Semantik leicht zu realisieren.

Wenn die Klienten Dateien cachen, dann muss das Caching so implementiert werden, dass Verände-rungen einer Cachekopie sofort bei allen anderen Kopien sichtbar werden (write-through).Um die Netzunzulänglichkeiten auszugleichen, wird dazu z.B. eine virtuelle globale Zeit benötigt, durch die alle Schreib- und Lesezugriffe in eine kausale Ordnung gebracht werden.Die Einzelkopie-Semantik für verteilte Dateisysteme ist durch ihre zentrale Implementierung bzw. durch den Aufwand zur Konsistenzwahrung sehr ineffizient.

Page 24: Studiengang Informatik FHDW

Vorlesung: 24 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Sitzungs-SemantikSitzungs-Semantik

Beim Öffnen einer Datei erhält der Klient eine eigene Kopie.Mit dieser Kopie arbeitet er bis zum Schließen der Datei.Dann wird diese zum Dateiserver zurückge-schrieben.Dateiänderungen sind für andere Klienten erst nach dem Schließen sichtbar.Probleme entstehen, wenn eine Datei bei mehreren Klienten gleichzeitig geändert wird.

Page 25: Studiengang Informatik FHDW

Vorlesung: 25 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Sitzungs-Semantik (2)Sitzungs-Semantik (2)

Page 26: Studiengang Informatik FHDW

Vorlesung: 26 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Sitzungs-Semantik (3)Sitzungs-Semantik (3)

Versionenbehandlung:Mit dem letzten Schließen werden alle vorherigen Versionen beim Server überschrieben.Die Klienten müssen zwischen den verschiedenen Versionen einen Abstimmungsprozeß durchführen.Unterschiedliche Versionen werden von dem Server geeignet gemischt.Dies kann nur dann sinnvoll erfolgen, wenn der Anwendungskontext bekannt ist (z.B. Gruppeneditoren).Die Versionen werden getrennt voneinander weitergeführt, es wird dann eine spezielle Namengebung für die Versionen benötigt.

Page 27: Studiengang Informatik FHDW

Vorlesung: 27 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Unveränderlichkeits-SemantikUnveränderlichkeits-Semantik

Dateien sind nicht veränderbar (engl.: immutable file semantics).Dateien können immer nur neu erstellt oder gelesen werden.Änderungen erzwingen ein Neuanlegen der Datei.Greifen mehrere Klienten (lokal) schreibend auf eine gerade mehrfach gelesene Datei zu, entstehen mehrere Versionen.Es ergibt sich eine ähnliche Versionsproblematik wie bei der Sitzungs-Semantik.

Page 28: Studiengang Informatik FHDW

Vorlesung: 28 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Transaktions-SemantikTransaktions-Semantik

Alle Zugriffe auf eine Datei werden als Transaktion aufgefaßt.Lese- und Schreiboperationen erfolgen in BeginTransaction- und EndTransaction-Klammern.Die Dateien bleiben konsistent.Der Verwaltungsaufwand für transaktionsbezogene Dateizugriffe ist sehr hoch und damit das verteilte Dateisystem auch nicht sehr effizient.Falls Dateien als Datenbankersatz verwendet werden sollen, ist diese Semantik zwingend.

Page 29: Studiengang Informatik FHDW

Vorlesung: 29 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

ImplementierungsaspekteImplementierungsaspekte

Nutzungsprofil eines verteilten DateisystemsZu beachten: die Analyse hängt immer von der entsprechenden Umgebung ab.In Workstationumgebungen:

Die Mehrheit aller Dateien ist klein.Die meisten Dateien sind kleiner als 10 Kilobyte,sie passen komplett in ein Netzwerk-Paket, d.h. es lohnt sich, die gesamte Datei auf einmal vom Server zum Klienten zu übertragen und nicht Schreib- und Leseanforderungen einzeln über das Netz abzuwickeln.

Page 30: Studiengang Informatik FHDW

Vorlesung: 30 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Implementierungsaspekte (2)Implementierungsaspekte (2)

Dateien werden häufiger gelesen als modifiziert:Die Effizienz lesender Zugriffe läßt sich gut mit Caching steigern.Im verteilten Dateisystem wird Caching effektiv eingesetzt werden können.

Viele Dateien haben eine kurze Lebensdauer:Der Rücktransfer von Dateien im Klientencache zum Server ist für kurzlebige Dateien unnötig, z.B. für temporäre Dateien, die bei einem Compilerlauf erzeugt wurden.

Datei-Sharing ist selten:Der zusätzliche Overhead für die Konsistenzerhaltung des Caching auf Klientenseite kann zugunsten der kürzeren Antwortzeiten aufgegeben werden.

Page 31: Studiengang Informatik FHDW

Vorlesung: 31 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Implementierungsaspekte (3)Implementierungsaspekte (3)

Der durchschnittliche Prozeß benutzt wenige (und kleine) Dateien:

Das Caching kann in den Arbeitsspeicher des Klienten verlagert werden.

Es gibt Dateiklassen mit spezifischer Charakteristik:Dateien, die ausführbare Programme speichern, werden nur gelesen, jedoch von vielen Klienten, sie können also stark repliziert werden.Temporäre Dateien sind sehr kurzlebig, müssen also gar nicht im verteilten Dateisystem eingetragen werden.Es gibt private Dateien, wie Mailboxen, die häufig verändert, aber nicht gemeinsam benutzt werden, sie können also nahe beim Klienten gehalten werden.Verteilte Dateisysteme könnten die unterschiedlichen Dateitypen mit unterschiedlichen Verfahren behandeln.

Page 32: Studiengang Informatik FHDW

Vorlesung: 32 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

ArchitekturtypenArchitekturtypen

ZugriffsmodelleDas Zugriffsmodell legt fest, in welcher Art die Dateioperationen und -zugriffe (auch auf Verzeichnisse) zwischen Klient und Server abgewickelt werden.

Upload/Download-Modell:Dieses Modell entspricht einem Sitzungsmodell.Beim Öffnen einer Datei durch einen Klienten lädt der Server die Datei vollständig zum Klienten (download), der sie dann lokal bearbeiten kann.Benötigt der Klient die Datei nicht mehr, schließt er sie und sie wird zum Server zurückübertragen (upload).

Page 33: Studiengang Informatik FHDW

Vorlesung: 33 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Architekturtypen (2)Architekturtypen (2)

Uplaod-/Download-Modell

Page 34: Studiengang Informatik FHDW

Vorlesung: 34 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Architekturtypen (3)Architekturtypen (3)

Bewertung des Upload/Download-Modell:Der Server bietet eine sehr einfache Schnittstelle zum Kliententenmodul.Intern kennt der Server Zugriffe, um eine Datei sequentiell vom physikalische Speichermedium zu lesen bzw. darauf zu schreiben.Im Klientenmodul müssen alle Dateioperationen implementiert sein, auch ein Verzeichnismanagement.Der Klient benötigt ausreichend Platz zum lokalen Zwischenspeichern aller benötigten Dateien.Die Netzwerkverbindung wird nur beim Öffnen und Schließen von Dateien belastet, dann aber mit einem großen Volumen.

Page 35: Studiengang Informatik FHDW

Vorlesung: 35 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Architekturtypen (4)Architekturtypen (4)

Remote-Access-Modell:alle Zugriffe eines Klienten auf eine Datei werden einzeln auf dem entfernten Server ausgeführt.

Page 36: Studiengang Informatik FHDW

Vorlesung: 36 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Architekturtypen (5)Architekturtypen (5)

Bewertung des Remote-Access-Modell:Die meiste Funktionalität liegt auf der Serverseite.Das Klientenmodul beschränkt sich meist auf ein reines Kommunikationsmodul.Die Schnittstelle zwischen Klient und Server benötigt viel Funktionalität.Das Netzwerk wird fortwährend belastet, allerdings mit jeweils kleinerem Volumen.

Page 37: Studiengang Informatik FHDW

Vorlesung: 37 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Architekturtypen (6)Architekturtypen (6)

Zustandslose und zustandsbehaftete DateiserverDurch den Zugriff eines Klienten auf eine Datei ergeben sich dynamische Zustandsinformationen:

Welche Dateien sind durch welche Klienten geöffnet,an welcher Stelle befindet sich der Positionszeiger einer Datei,welche Sperren sind gesetzt.

Die Zustandsinformationen können auf Serverseite oder vom Klienten verwaltet werden.Bezeichnung: zustandsbehafteter bzw. zustandsloser Server.

Page 38: Studiengang Informatik FHDW

Vorlesung: 38 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Architekturtypen (7)Architekturtypen (7)

Vorteile eines zustandslosen DateiserversBenötigt keinen Speicher für Klienteninformation.Operationen zum Öffnen oder Schließen von Dateien sind unnötig, da sich diese Information nicht gemerkt werden kann.Das System kann leichter fehlertolerant realisiert werden, da sich ohne Austausch von Zustandsinformationen Replikations- und Backupserver einfacher realisieren lassen.Beim Absturz eines Klienten entstehen für den Server keine Probleme, da keine verwaiste Information vorhanden ist.

Page 39: Studiengang Informatik FHDW

Vorlesung: 39 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Architekturtypen (8)Architekturtypen (8)

Vorteile eines zustandsbehafteten DateiserversKürzere Nachrichten genügen, um Zugriffe auf Dateien durchzuführen, da nicht mehr in jedem Zugriff alle benö-tigten Klienteninformationen übertragen werden müssen.Schreib- und Lesezugriffe sind effizienter, da z.B. die Positionszeiger einer im Zugriff befindlichen Datei bereits am richtigen Platz stehen.Es ist Precaching möglich, da alle Dateien bekannt sind, die sich im Zugriff befinden.

Durch Precaching holt der Server bereits Daten der zugegriffenen Datei von seiner Platte, die der Klient noch gar nicht angefordert hat.Durch Kenntnis des Benutzungsprofils ist intelligentes Precaching realisierbar. Der Compiler benötigt beispielsweise immer seine Bibliotheksdateien.Dateisperren können vom Server unterstützt werden.

Page 40: Studiengang Informatik FHDW

Vorlesung: 40 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

VerzeichnisdienstVerzeichnisdienst

Hauptaufgabe des Verzeichnisdienstes ist das Auflösen von Dateinamen.

Der Dateiname ist auf einen Zeiger, der auf den physikalischen Speicherungsort der Datei auf der Festplatte zeigt, abzubilden.Um einen Dateinamen aufzulösen, muß man den zugehörigen Pfadnamen, der auch über mehrere Rechner verteilt sein kann, durchlaufen.

Page 41: Studiengang Informatik FHDW

Vorlesung: 41 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Verzeichnisdienst (2)Verzeichnisdienst (2)

Iteratives Durchlaufen: Der Klient fragt beim Server, für den der erste Teil des Pfades passt, nach der Datei.Kann dieser nicht den Zeiger auf die eigentliche Datei liefern, weil er nicht den gesamten benötigten Verzeichnisbaum bei sich hält, gibt er dem Klienten den Pfad und Server zurück, bei dem der Klient weiter nachfragen kann.Dieses Vorgehen wiederholt der Klient, bis er den Zeiger auf die Datei erhält.Dann kann der Klient direkt über den verwaltenden Server auf die Datei zugreifen.

Page 42: Studiengang Informatik FHDW

Vorlesung: 42 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Verzeichnisdienst (3)Verzeichnisdienst (3)

Der Navigationsalgorithmus ist vollständig auf Klientenseite implementiert.Als Kommunikationsmodell lassen sich entfernte Prozeduraufrufe (RPC) einsetzen.

Page 43: Studiengang Informatik FHDW

Vorlesung: 43 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Verzeichnisdienst (4)Verzeichnisdienst (4)

Rekursives DurchlaufenDer Klient stellt an den Server die Anfrage bezüglich einer Datei.Kann der Server die Anfrage nicht beantworten, so gibt er sie mit der Information, welcher Klient die Anfrage gestellt hat, an den nächsten Server weiter.Ist der gesamte Pfadname aufgelöst, schickt der letzte Server den gewünschten Dateizeiger zum Klienten zurück.Die Dateizugriffe können dann zwischen Klient und Server erfolgen.

Page 44: Studiengang Informatik FHDW

Vorlesung: 44 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Verzeichnisdienst (5)Verzeichnisdienst (5)Wegen der Asymmetrie des Verfahrens kann die Kommunikation in diesem Fall nicht mehr über RPCs stattfinden.Es wird ein asynchrones Kommunikationsmodell benötigt.

Page 45: Studiengang Informatik FHDW

Vorlesung: 45 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Caching und KonsistenzCaching und Konsistenz

Caching im Arbeitsspeicher des ServersBefindet sich eine Datei bereits im Arbeitsspeicher des Servers, so wird bei erneutem Zugriff auf diese Datei der langsame Plattenzugriff eingespart.Der Zugriff über das Netz durch die Klienten bleibt jedoch erhalten.Da sich die Datei nach wie vor auf der Serverseite befindet, ist die Erhaltung der Konsistenz einfach zu gewährleisten.Das Caching verläuft gegenüber dem Klienten transparent.

Page 46: Studiengang Informatik FHDW

Vorlesung: 46 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Caching und Konsistenz (2)Caching und Konsistenz (2)

Caching auf der KlientenplatteDer Klient legt benutzte Dateien als Cachekopie auf seiner lokalen Platte ab.Dies erspart bei erneutem Zugriff den Weg über das Netz.Die Erhaltung der Konsistenz von mehreren Cachekopien auf Klientenseite ist je nach Konsistenz-modell aufwendig.

Page 47: Studiengang Informatik FHDW

Vorlesung: 47 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Caching und Konsistenz (3)Caching und Konsistenz (3)

Caching im Arbeitsspeicher des KlientenUntervarianten je nach Zuordnung des Cache-speichers:

Caching im KlientenprozeßJeder Klientenprozeß verwaltet seinen eigenen Cache.Die Caches anderer Prozesse sind dabei nicht sichtbar.Dieses Verfahren benötigt nur einen geringen Verwaltungs-aufwand.Es ist speziell für Anwendungen geeignet, in denen eine Datei vom gleichen Prozeß mehrmals geöffnet und geschlossen wird oder lange in Benutzung ist.

Page 48: Studiengang Informatik FHDW

Vorlesung: 48 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Caching und Konsistenz (4)Caching und Konsistenz (4)

Caching im BetriebssystemkernAlle Prozesse teilen sich einen Cache, der vom Betriebssystem verwaltet wird.Der Cachespeicher kann größer dimensioniert werden, als bei den einzelnen Caches für jeden Prozeß.Mehrere Prozesse können von den Cacheinhalten profitieren, was eine höhere Trefferrate nach sich zieht.Jeder Dateizugriff ist ein Systemaufruf, auch bei einem Cachetreffer.

Caching in einem CachemanagerDas Caching wird von einem speziellen Anwendungsprozess übernommen.Dadurch wird der Betriebssystemkern von spezifischem Dateisystem-Code freigehalten.Damit die Effizienz des Caches nicht durch Paging des Betriebssystems zunichte gemacht wird, sollte der Cachemanager seine Cacheseiten gegenüber der Auslagerung sperren können.

Page 49: Studiengang Informatik FHDW

Vorlesung: 49 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Caching und Konsistenz (5)Caching und Konsistenz (5)

Caching im Speicher des Klienten

Page 50: Studiengang Informatik FHDW

Vorlesung: 50 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Cachekohärenz-AlgorithmenCachekohärenz-Algorithmen

Um den Inhalt des Caches und das Dateisystem auf dem Server in einem konsistenten Zustand zu halten, sind Cachekohärenz-Algorithmen notwendig.

Page 51: Studiengang Informatik FHDW

Vorlesung: 51 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Cachekohärenz-Algorithmen (2)Cachekohärenz-Algorithmen (2)

Write-ThroughFindet ein Schreibzugriff auf eine Datei statt, die im Cache steht, wird immer sowohl in den Cache, als auch in die Datei beim Server geschrieben.Schreibzugriffe laufen quasi wie bei cachelosen Systemen ab Beim Öffnen einer Datei aus dem Cache besteht die Möglichkeit, dass diese nicht mehr aktuell ist.Deswegen muß der Klient beim Server die Aktualität überprüfen, oder der Server teilt jeweils seinen Klienten mit, dass eine Datei woanders geändert wurde.Je nach Sharingsemantik tritt dieses Problem auch beim Schreiben auf.Die Write-through-Strategie ist eher ungeeignet für verteilte Dateisysteme.

Page 52: Studiengang Informatik FHDW

Vorlesung: 52 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Cachekohärenz-Algorithmen (3)Cachekohärenz-Algorithmen (3)

Delayed-WriteUm häufige Server- und Netzwerkzugriffe zu sparen, werden Änderungen gesammelt und in Bursts zurückgeschrieben.Dadurch erhält man eine unklare, zeitabhängige Semantik.

Write-on-CloseWrite-on-Close entspricht einer Sitzungs-Semantik.Durch verzögertes Write-on-Close kann ein nachfolgendes Löschen der Datei noch berücksichtigt und ein unnötiges Zurückschreiben verhindert werden.

Page 53: Studiengang Informatik FHDW

Vorlesung: 53 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Cachekohärenz-Algorithmen (4)Cachekohärenz-Algorithmen (4)

Zentrale KoordinierungEine zentrale Koordinierungsstelle kennt alle Cacheeinträge aller Klienten.Dieser Koordinator wird von jedem Schreibzugriff in Kenntnis gesetzt und kann damit alle Klienten informieren, die eine betreffende Datei im Cache halten.Diese Strategie ist weder robust gegen Ausfälle, noch gut skalierbar.

Page 54: Studiengang Informatik FHDW

Vorlesung: 54 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

ReplikationReplikation

ReplikationEine weitere Möglichkeit, die Leistung eines verteilten Dateisystems zu erhöhen, ist die Replikation von Daten auf verschiedenen Servern.Dadurch wird zudem eine bessere Zuverlässigkeit und Verfügbarkeit erreicht.(Weitere Ausführungen siehe Kapitel "Replikation")

Page 55: Studiengang Informatik FHDW

Vorlesung: 55 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

SUN Network File SystemSUN Network File System

SUN NFS ist ein de facto Standard bei verteilten Dateisystemen.Ursprüngliches Ziel:

verteiltes Dateisystem für heterogene Hardwareplattformen und Betriebssysteme.

Die größte Verbreitung liegt in Unix-Umgebungen.

Page 56: Studiengang Informatik FHDW

Vorlesung: 56 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

NFS ArchitekturNFS Architektur

Die NFS-Klienten- und -Serversoftware ist jeweils in den Betriebssystemkern eingebunden.In den Unix-Implementierungen ist die Client/Server Relation symmetrisch, • d.h. Klienten können gleichzeitig Server sein und umgekehrt.Server und Klient kommunizieren über das NFS-Protokoll.Als Abstraktionsschicht über den lokalen Dateisystemen und NFS liegt ein virtuelles Dateisystem VFS.Alle Dateioperationen eines Anwendungsprozesses werden durch das virtuelle Dateisystem ausgeführt

Page 57: Studiengang Informatik FHDW

Vorlesung: 57 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

NFS Architektur (2)NFS Architektur (2)

VFS entscheidet, ob sich die Datei lokal oder entfernt befindet.Lokale Anforderungen werden an das lokale Dateisystem weitergereicht und von dort bedient.Bei entfernten Dateien wird der Aufruf an den NFS-Klienten gegeben.Dieser kommuniziert dann über das Netzwerk mit dem NFS-Server, der den Aufruf entfernt bedient.NFS erlaubt es, plattenlose Klienten zu betreiben, die über kein eigenes lokales Dateisystem verfügen.

Page 58: Studiengang Informatik FHDW

Vorlesung: 58 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

NFS Architektur (3)NFS Architektur (3)

Page 59: Studiengang Informatik FHDW

Vorlesung: 59 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Virtuelles DateisystemVirtuelles Dateisystem

VFS enthält v-nodes (virtual nodes) als Datei-Handles, die

auf i-nodes (Datei-Handles des lokalen Dateisystems)oder auf r-nodes (remote nodes) zeigen.

Die r-nodes liegen im NFS-Klienten.r-nodes beinhalten die eigentlichen Datei-Handles, die vom entfernten Server geliefert wurden.

Der Anwendungsprozeß erhält beim Öffnen einer Datei einen Dateideskriptor, der einem v-node im VFS zugeordnet ist.Um eine Datei physikalisch zu lokalisieren, muß das virtuelle Dateisystem eine mehrfach verzeigerte Struktur durchlaufen.

Page 60: Studiengang Informatik FHDW

Vorlesung: 60 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Remote MountingRemote Mounting

Ein Server bietet in der Datei /etc/exports eine Exporttabelle aller Verzeichnisse an, die er für NFS zur Verfügung stellt.Ein Klient hängt die gewünschten Verzeichnisse in seine eigene Verzeichnisstruktur durch den Aufruf eines Mount-Dienstes.Der Mount-Dienst versorgt das virtuelle Dateisystem mit den entsprechenden Informationen.

Page 61: Studiengang Informatik FHDW

Vorlesung: 61 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Remote MountingRemote Mounting

Das Mounting eines entfernten Verzeichnisses erfolgt beim Klienten entweder

interaktiv durch den Benutzer, der dazu jedoch Supervisor-Rechte haben muß, oderalle gewünschten Mountaufrufe sind in der Startupscript-Datei /etc/rc gespeichert. Dann wird das Mounting beim Hochfahren des Systems durchgeführt.

Syntax: mount (server, directoryname, mountpoint) Der Server schickt den Datei-Handle des Verzeichnisses zum Klienten.Der Datei-Handle beinhaltet den Dateisystemtyp, die angesprochene Platte, die i-node Nummer der Datei bzw. des Verzeichnisses und die Schutzbits.Die Verwaltung dieser Datei-Handles liegt bei VFS.

Page 62: Studiengang Informatik FHDW

Vorlesung: 62 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Remote MountingRemote Mounting

Hard-Mounting blockiert im Fehlerfall.Deshalb gibt es Soft-Mounting:

Ein gewünschtes Verzeichnis wird von mehreren Servern als Export angeboten (Toleranz bei einem Serverausfall).Der Mountvorgang auf ein Verzeichnis geschieht erst zur Laufzeit.Beim Öffnen einer entfernten Datei werden vom NFS-Klienten alle Server angerufen.Der erste Server, der sich zurückmeldet, wird für den entfernten Zugriff verwendet.Der dafür zuständige Dienst nennt sich Automounter.Die Konsistenz der Replikation auf den verschiedenen Servern muß vom Systemverwalter geregelt werden.Dieser Dienst ist z. B. für Binärdateien ausführbarer Programme sinnvoll.

Page 63: Studiengang Informatik FHDW

Vorlesung: 63 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

NFS ProtokollNFS Protokoll

Das NFS-Protokoll ist für eine zustandslose Implementierung der NFS-Server ausgelegt.Jeder Auftrag an einen Server enthält sämtliche für die Bearbeitung notwendigen Informationen des Klienten und der Datei, welche der Klient bearbeitet.Im Protokoll ist kein Öffnen und Schließen von Dateien vorgesehen.

Page 64: Studiengang Informatik FHDW

Vorlesung: 64 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

NFS Protokoll (2)NFS Protokoll (2)

Neben Verwaltungsoperationen des Verzeichnis-dienstes gibt es drei Grundoperationen:

lookup (dirfilehandle, filename)Im angegebenen Verzeichnis wird die entsprechende Datei gesucht. Der Datei-Handle und die Attribute der Datei werden zurückgeliefert.

read (filehandle, offset, count)In der angegebenen Datei werden ab der Position offset count Bytes geliefert.

write (filehandle, offset, count, data)In der angegebenen Datei werden ab der Position offset count Bytes mit dem Inhalt von data beschrieben.

Page 65: Studiengang Informatik FHDW

Vorlesung: 65 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

NFS Protokoll (3)NFS Protokoll (3)

Die Protokolle für das Mounting, sowie für den Verzeichnis- und Dateizugriff werden über Sun-RPC abgewickelt.Die Authentisierung der Klienten kann über öffentliche Schlüssel (aus dem Network Information Service, NIS) zusätzlich stärker geschützt werden, als es die üblichen Zugriffskontrollbits (rwx) zulassen.

Page 66: Studiengang Informatik FHDW

Vorlesung: 66 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

ImplementierungsaspekteImplementierungsaspekte

Kommunikationssystem ist UDP mit Sun-RPCAt-Most-Once-Semantik durch RPCsonstiger Protokolloverhead möglichst klein (UDP)

Transfer zwischen Klient und Server in 8 Kilobyte Blöcken

kleine und damit häufiger Pakete zu schicken ist ineffizienter

der NFS-Klient liest zusätzlich den darauffolgenden Block

Read-ahead-Caching hat eine hohe Treffer-wahrscheinlichkeit.

Page 67: Studiengang Informatik FHDW

Vorlesung: 67 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Implementierungsaspekte (2)Implementierungsaspekte (2)

Durch Delayed-Write werden Schreibzugriffe verzögert, bis ein 8 Kilobyte großer Block zusammengekommen ist.Wird eine Datei geschlossen, werden sofort alle Änderungen zum Server geschickt.

Page 68: Studiengang Informatik FHDW

Vorlesung: 68 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

CachingCaching

Die Server cachen für die NFS-Klienten transparent schon gelesene Dateien in ihrem Speicher.

write-through Semantik läßt keine Konsistenzprobleme auftreten.

Die Klienten führeneinen Cache für Datei-Handles undeinen Cache für Dateien.

ohne Konsistenzwahrung, d.h die Inhalte werden nicht unter den Klienten abgeglichen.

Page 69: Studiengang Informatik FHDW

Vorlesung: 69 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Caching (2)Caching (2)

Work-Around Lösungen sollen Inkonsistenzen vermeiden:

Ist eine Datei beim Öffnen im Cache des Klienten, wird der lokale Zeitstempel mit dem Modifikations-Zeitstempel beim Server verglichen.Ist die Kopie älter, wird sie invalidiert und erneut geladen.Jeder Cacheblock besitzt eine Uhr, die für Dateiblöcke nach 3 Sek. und für Verzeichnisse nach 30 Sek. ablaufen.Bei jedem Ablaufen wird beim Server auf Aktualität geprüft. Beim Schreibzugriff wird der entsprechende Block im Cache als „dirty“ markiert.Die markierten Blöcke werden alle 30 Sek. zum Server propagiert (sync).

Page 70: Studiengang Informatik FHDW

Vorlesung: 70 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Caching (3)Caching (3)

Folgerung:Der NFS-Klient kann erst nach 3 Sekunden bemerken, dass eine Datei gemeinsam schreibend zugegriffen wird.Dies kann dem Anwendungsprogramm gemeldet werden (leider nur selten benutzt).Meist werden Dateisperren eingesetzt, falls es potentiell zu gemeinsamen Zugriffen kommen könnte.Dies wird von NFS nicht unterstützt und muß durch einen separaten Dienst erbracht werden.

Page 71: Studiengang Informatik FHDW

Vorlesung: 71 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

BewertungBewertung

Der Zugang zum NFS ist auf Programmebene transparent:

Die Aufrufschnittstelle ist durch das virtuelle Dateisystem identisch zur Schnittstelle zum lokalen Dateisystem.Ortstransparenz ist möglich, falls bei allen Klienten eine global eindeutige Verzeichnisstruktur angelegt ist.

NFS ist nicht tatsächlich fehlertransparent.Die Server arbeiten zustandslos, also ist ein Absturz eines Klienten unkritisch.Durch den Einsatz des Automounters kann der Ausfall eines Servers kompensiert werden.

Zur Leistungssteigerung findet Caching auf Klienten- und Serverseite statt.Es gibt keine vom System unterstützte Replikation.

Page 72: Studiengang Informatik FHDW

Vorlesung: 72 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Bewertung (2)Bewertung (2)

Die Sharing-Semantik will sich an die Einzelkopie-Semantik anlehnen ist jedoch durch das periodische Aktualisieren unscharf.Der gemeinsame Zugriff sollte deshalb über eine externe Synchronisation geregelt werden, z.B. durch Dateisperren.NFS ist ursprünglich für fünf bis zehn Stationen ausgelegt, die den gleichen Dateibaum benutzen.Die Skalierung auf größere Umgebungen ist nur bedingt sinnvoll.

Page 73: Studiengang Informatik FHDW

Vorlesung: 73 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Andrew File System (AFS)Andrew File System (AFS)

AFS wurde im Rahmen des Andrew Projekts an der Carnegie-Mellon University entwickelt.Ziel des Gesamtprojekts:

Den Studenten an allen Rechnern der Universität den Zugang zur gleichen Umgebung ermöglichen.AFS ist hierzu eine wesentliche Basis.AFS-2 hat Produktstandard und ist public domain verfügbar.

Ziele von AFS:Sehr hohe Skalierbarkeit (>10.000 Rechner)Hohe Autonomie der Einzelstationen, um eine möglichst große Fehlertoleranz zu erzielen.

Page 74: Studiengang Informatik FHDW

Vorlesung: 74 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Andrew File System (2)Andrew File System (2)

AFS verwendet die Unix-Dateioperationen um die Kompatibilität zu den bestehenden Anwendungs-programmen zu sichern.AFS ist zu NFS kompatibel, da die AFS-Server das NFS-Protokoll für den Dateitransfer untereinander verwenden.

Page 75: Studiengang Informatik FHDW

Vorlesung: 75 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Wichtige KonzepteWichtige Konzepte

• Whole-file ServingNach dem Upload/Download-Prinzip werden Dateien komplett vom Server zum Klienten und zurück übertragen.

Whole-file CachingCaching auf der Klientenplatte nach dem Least-Recently- Used-Verfahren.Die Cachegröße liegt bei mindestens 100 Megabyte, um hohe Trefferraten zu erzielen.

Page 76: Studiengang Informatik FHDW

Vorlesung: 76 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

AFS-ArchitekturAFS-Architektur

Klientenkomponente Venus, Serverkomponente ViceBeide Komponenten sind als User-level-Prozesse realisiert, in späteren Versionen wird ein Teil von Venus auch im Kern geladen.Alle Aufrufe zum Öffnen oder Schliessen einer Datei werden im Kern abgefangen, an Venus weitergeleitet und dort behandelt.Die anderen Aufrufe gehen direkt an das lokale Dateisystem. Um mehrere Anfragen nebenläufig beantworten zu können, sind Venus und Vice multi-threaded implementiert.

Page 77: Studiengang Informatik FHDW

Vorlesung: 77 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

AFS-Architektur (2)AFS-Architektur (2)

Page 78: Studiengang Informatik FHDW

Vorlesung: 78 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

AFS-Architektur (3)AFS-Architektur (3)

Die Kommunikation zwischen Venus und Vice basiert auf einem RPC-System, das direkt über IP aufgesetzt ist.Der Namensraum im AFS entspricht einem Namensraum des Unix-Dateisystems.Bei AFS wird der Namensraum in einen lokalen und einen gemeinsamen Dateibaum aufgeteilt.

Page 79: Studiengang Informatik FHDW

Vorlesung: 79 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

AFS-Architektur (4)AFS-Architektur (4)

Der gemeinsame Teil, der über den Pfad /afs erreicht wird, liegt in der Verwaltung von AFS.

Hier liegen alle Dateien, bis auf wenige spezifische Dateien, die lokal Konfigurationen speichern.Entfernte Verzeichnisse können über symbolische Verweise in den lokalen Dateibaum eingebunden werden.Die Cacheeinträge legt Venus im Verzeichnis /cache ab.Zugriffe auf Dateien, die bereits im Cache liegen, erfolgen transparent, ohne dass der Name entsprechend angepasst werden muss.

Page 80: Studiengang Informatik FHDW

Vorlesung: 80 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

AFS-Architektur (5)AFS-Architektur (5)

AFS Namensraum und Verzeichnisstruktur

Page 81: Studiengang Informatik FHDW

Vorlesung: 81 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Semantik und ImplementierungSemantik und Implementierung

Der organisatorische Aufbau des AFS kennt drei Elemente:

Celleine administrative Einheit, z.B. Abteilung oder Firma.Zellen können über Mounting mit anderen Zellen verbunden werden.Eine Zelle beinhaltet eine Ansammlung von Volumes.

VolumeKollektion von zusammengehörenden Verzeichnissen, z.B. ein User Volume.Auf der Ebene von Volumes werden Zugriffsrechte verwaltet

Verzeichnis, DateiVerzeichnisse und Dateien in den Volumes werden durch einen 96-bit Dateibezeichner eindeutig identifiziert.Der Identifikator besteht aus einer 32-bit Volumenummer, einem 32-bit v-node (entspricht NFS-Datei-Handle) und einem 32-bit Uniquifier.

Page 82: Studiengang Informatik FHDW

Vorlesung: 82 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Semantik und Implementierung (2)Semantik und Implementierung (2)

Die Semantik des gemeinsamen Zugriffs auf eine Datei ist nahe bei der Sitzungs-Semantik.

Beim Öffnen einer entfernten Datei wird die Datei komplett in das lokale Verzeichnis /cache kopiert.Alle weiteren Lese- und Schreibzugriffe erfolgen lokal, ohne Venus zu benötigen.Das heißt, dass alle lokalen Prozesse bezüglich dieser Dateizugriffe der Einzelkopie-Semantik unterliegen.Wird die Datei wieder geschlossen, wird die geänderte Version auf den Server zurückgelegt.

Page 83: Studiengang Informatik FHDW

Vorlesung: 83 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Cache KohärenzCache Kohärenz

In der ersten Implementierung, AFS-1, wurde bei jedem Öffnen einer Datei aus dem Cache anhand des Zeitstempels beim Server auf Aktualität geprüft.War die Datei geöffnet, wurde periodisch nachgefragt, diese Lösung skaliert nur schlecht.seit AFS-2:

Nicht nur Venus, sondern auch Vice, arbeiten zustandsbehaftet.Vice protokolliert alle Dateien mit, die ein Venus in seinem Cache hält.Wird eine Datei geändert, schickt Vice einen Callback an alle weiteren Venus’, die diese Datei ebenfalls halten.Die notifizierten Venus’ können ihre Cachekopie daraufhin invalidieren.

Page 84: Studiengang Informatik FHDW

Vorlesung: 84 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

AFS ZugriffsprotokollAFS ZugriffsprotokollAnwendungsprozess UNIX Kern Venus Vice

open Falls Datei im ge-meinsamen Ver-zeichnis /afs, schickeAnfrage an Venus.

Prüfe, ob Datei imlokalen Cache. Fallsnicht vorhanden bzw.invalide, schicke An-frage an Vice.

Schicke Kopie derDatei und eine Call-back Promise. Merkedie Callback Promise.

Hänge Kopie in loka-len Cache, cache dieNamenszuordnungenund gebe lokalenNamen an Kern.

Öffne lokale Datei,gebe Datei-Handle anAnwendung.

Page 85: Studiengang Informatik FHDW

Vorlesung: 85 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

AFS Zugriffsprotokoll (2)AFS Zugriffsprotokoll (2)Anwendungsprozess UNIX Kern Venus Vice

read Normale Leseopera-tion.

write Normale Schreibope-ration.

close Schließe lokale Kopieund benachrichtigeVenus.

Falls Datei geändert,schicke Kopie anVice.

Ersetze Datei undschicke Callback zuallen Klienten mitCallback Promise.

Page 86: Studiengang Informatik FHDW

Vorlesung: 86 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

FehlertoleranzFehlertoleranz

Stürzt ein Klient ab und fährt anschließend wieder hoch, dann ist sein AFS-Dateicache immer noch aktiv, da sich dieser auf einer lokalen Festplatte befindet.Nachdem in der Zwischenzeit Dateien im Cache nicht mehr aktuell sein müssen, muss Venus die Zeitstempel aller gecachten Dateien zu Vice schicken, um die Aktualität prüfen zu lassen.Vice kann daraufhin seine Callback Promise aktualisieren und für die Dateien zu Venus valid oder cancelled schicken.

Page 87: Studiengang Informatik FHDW

Vorlesung: 87 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Fehlertoleranz (2)Fehlertoleranz (2)

Bei Ausfall eines Vice gleichen sich die Vice untereinander ab. Es ist im Fehlerfall keine vollständige Sitzungs-Semantik gegeben, da möglicherweise Callbacks im Netz verloren gehen.

AFS unterstützt Dateisperren.Um wegen eines Fehlers Dateien nicht dauerhaft zu sperren, werden Sperren nach 30 Minuten wieder aufgehoben.

Page 88: Studiengang Informatik FHDW

Vorlesung: 88 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Implementierungsaspekte und BewertungImplementierungsaspekte und Bewertung

Auf Serverseite wird eine Location Database gehalten.Jeder Vice verwaltet ein Replikat dieser Datenbank, in der gespeichert ist, welche Volumes auf wel-chem Vice zu finden sind.Die Threads von Venus und Vice sind nicht-prä-emptiv implementiert, um leichter die Serialisierung bei nebenläufigen Zugriffen zu realisieren.Für Dateien oder Verzeichnisse, die vorwiegend nur gelesen werden, können mehrere Nur-Lese-Replikate angelegt werden.Es existiert aber serverseitig immer nur eine schreibbare Kopie.

Page 89: Studiengang Informatik FHDW

Vorlesung: 89 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Implementierungsaspekte, Bewertung (2)Implementierungsaspekte, Bewertung (2)

Zwischen Klienten und Servern werden Dateien in 64 Kilobyte Blöcken übertragen.Hierdurch wird der Einfluß der Netzwerkverzöge-rung minimiert.Es konnte gezeigt werden, dass ein AFS-Server mit 18 Klienten nur 40% der Zeit eines NFS-Servers benötigt, obwohl die AFS Version vollkommen als User-Level Implementierung lief.

Page 90: Studiengang Informatik FHDW

Vorlesung: 90 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

CodaCoda

Coda ist eine Weiterentwicklung des Andrew File Systems.Ziel: „konstante Datenverfügbarkeit“:

Fehlertoleranz: Bei AFS ist durch einen Serverausfall der Dateizugriff blockiert. Dies soll verhindert werden.Replikation: Auch schreibbare Dateien sollen replizierbar sein.Unterstützung portabler Geräte: Möglichst alle benötigten Dateien sollen sich auf dem lokalen Rechner befinden und somit eine Abkopplung vom Netz erlauben.Bei Wiederverbindung sollen unterschiedliche Versionen möglichst automatisch abgeglichen werden.

Page 91: Studiengang Informatik FHDW

Vorlesung: 91 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Coda (2)Coda (2)

Die Architektur besteht aus Venus und Vice wie bei AFS.Die Verfahren zur Replikation und Cachekohärenz sind der möglichen Netzwerkpartitionierung angepasst.

Page 92: Studiengang Informatik FHDW

Vorlesung: 92 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Verwaltung der NetzpartitionierungVerwaltung der Netzpartitionierung

Bei Coda stellt die Netzpartitionierung nicht einen Fehlerfall, sondern den Normalfall dar.Portable Rechner sind häufig nicht im Netzwerk integriert, während darauf Dateien bearbeitet werden.

Volume Storage Group: Die VSG ist die Gruppe von Servern, die alle ein Replikat eines Volumes halten. Die Replikation erfolgt immer in kompletten Volumes. Ein Klient, der eine Datei öffnen möchte, kann sich an eine beliebige Untermenge der VSG wenden.Available Volume Storage Group: Die AVSG beinhaltet alle momentan erreichbaren Server aus der VSG.

Page 93: Studiengang Informatik FHDW

Vorlesung: 93 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Verwaltung der Netzpartitionierung (2)Verwaltung der Netzpartitionierung (2)

Venus verwaltet zu allen Volumes die momentane AVSG.Diese Menge wird immer periodisch aktualisiert.Innerhalb jeder AVSG gibt es einen bevorzugten Server, der für Anfragen angesprochen wird.Ist die AVSG leer, wechselt Venus in die Disconnected Operation und arbeitet vollständig aus dem lokalen Cache.Die periodische Validierung der Cacheinhalte über Callbacks wird auf den Zeitpunkt der Wiederver-bindung verschoben.

Page 94: Studiengang Informatik FHDW

Vorlesung: 94 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Verwaltung der Netzpartitionierung (3)Verwaltung der Netzpartitionierung (3)

Der Inhalt des Caches kann über das LRU-Verfahren hinaus beeinflußt werden:

Sticky Files: Dateien, die sich immer im Cache befinden sollen, können als „sticky“ deklariert werden. Venus versucht, immer die aktuelle Version dieser Dateien im lokalen Cache zu halten.Interaktives Kopieren: Der Benutzer kopiert selbst Dateien in den Cache.Nutzungsprofil: Ein Hilfsprogramm stellt das Nutzungsprofil eines Benutzers fest und kopiert selbständig die voraussichtlich benötigten Dateien in den Cache.

Page 95: Studiengang Informatik FHDW

Vorlesung: 95 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Replikation über VersionsvektorenReplikation über Versionsvektoren

Durch den Einsatz von Replikation, bei gleichzei-tiger Möglichkeit der Netzpartitionierung, wird es vorkommen, dass Replikate in disjunkten Partitionen vorhanden sind und dort unabhängig voneinander zugegriffen werden.Zur Konflikterkennung verwaltet Coda zu jeder Datei einen Versionsvektor (engl.: Coda version vector, CVV).Dieser Vektor ist ähnlich der Vektorzeit aufgebaut.Er enthält für jeden Server aus der VSG dieser Datei einen Eintrag.Das heißt, dass für jedes Replikat ein Eintrag im CVV vorgesehen ist.

Page 96: Studiengang Informatik FHDW

Vorlesung: 96 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Replikation über Versionsvektoren (2)Replikation über Versionsvektoren (2)

Aktualisiert und schließt ein Klient eine Datei, inkre-mentiert Venus alle Elemente eines „Test-CVV“, die einen Server aus der AVSG repräsentieren.Danach wird der „Test-CVV“ an alle Server der AVSG geschickt.Treten bei den Servern keine Konflikte mit den CVV von verschiedenen Klienten auf, schickt der bevorzugte Server eine positive Quittung an Venus.Venus berechnet daraufhin den neuen „echten“ CVV und propagiert die geänderte Datei und den CVV an alle Server der AVSG.

Page 97: Studiengang Informatik FHDW

Vorlesung: 97 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Replikation über Versionsvektoren (3)Replikation über Versionsvektoren (3)

Über den Callback-Mechanismus werden nun alle erreichbaren Klienten über die neue Version informiert.Bei Coda ist also der Klient für die Aktualisierung der CVV und der erreichbaren Replikate zuständig.Ein Problem kann bei disjunkten AVSG auftreten, da Klienten aus verschiedenen AVSGs unbemerkt voneinander, dieselbe Datei verändern können.

Page 98: Studiengang Informatik FHDW

Vorlesung: 98 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Beispiel CVVBeispiel CVV

Eine Datei F liegt auf den Servern S1, S2 und S3.CVVF = (Version auf S1, Version auf S2, Version auf S3).Zu Beginn ist CVVF = (0,0,0).Die Klienten C1 und C2 öffnen F.Dannach wird das Netz partitioniert und es sei AVSGC1={S1, S2} und AVSGC2={S3}.

Page 99: Studiengang Informatik FHDW

Vorlesung: 99 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Beispiel CVV, Fall 1Beispiel CVV, Fall 1

C1 verändert F: CVVF=(1,1,0), • C2 nimmt keine Veränderungen vor: CVVF=(0,0,0).Später sind wieder alle Server erreichbar.Es muß nun ein Abgleich der verschiedenen CVVs durch elementweisen Vergleich stattfinden.Größere Versionsnummern dominieren kleinere.Da hier kein Konflikt auftritt, müssen nur die Server untereinander die Versionen abgleichen.Dies geschieht für die Klienten transparent.

Page 100: Studiengang Informatik FHDW

Vorlesung: 100 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Beispiel CVV, Fall 2Beispiel CVV, Fall 2

C1 verändert F: CVVF=(1,1,0), • C2 verändert ebenfalls F: CVVF = (0,0,1).Es sind zwei verschiedene neue Versionen entstanden.Nachdem wieder alle Server erreichbar sind, werden Konfliktfälle durch den Vektorenvergleich gefunden.Alle neuen Versionen werden in einem Covolume abgelegt und die Benutzer darüber informiert.Das Auflösen der Konflikte muß dann interaktiv durch die Benutzer erfolgen.Diese Fälle treten nur selten auf, da eine Datei eher selten von mehreren Benutzern aktualisiert wird.

Page 101: Studiengang Informatik FHDW

Vorlesung: 101 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Cache KohärenzCache Kohärenz

Die Partitionierung des Netzes oder der Ausfall eines Servers sind nicht vorhersehbar.Es muß deswegen eine dynamische Anpassung stattfinden. Venus prüft dazu periodisch die AVSG-Zusammensetzung und spürt verlorengegangene Callbacks auf.Dies geschieht über einen Probe-Echo-Algorithmus, bei dem Venus Probes an alle VSGs schickt, von denen er Dateien hält.Die Echos enthalten einen Volume CVV, eine Art Checksumme über alle CVV des Volumes.

Page 102: Studiengang Informatik FHDW

Vorlesung: 102 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Cache Kohärenz (2)Cache Kohärenz (2)

Anhand der VCVVs kann Venus feststellen, ob neu hinzugekommene Server neue Dateiversionen bei sich halten.Venus verhält sich dann pessimistisch und verwirft alle Dateien des gesamten Volumes.Die periodische Überprüfung findet ca. alle 10 Minuten statt.

Page 103: Studiengang Informatik FHDW

Vorlesung: 103 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Cache Kohärenz (3)Cache Kohärenz (3)

Besondere Maßnahmen bei der Veränderung der AVSG:

Erweiterung der AVSGKommt ein neuer Server in die AVSG hinzu, werden alle Callbacks betroffener Volumes fallengelassen.Alle Dateien werden invalidiert, denn es könnte sich eine neue Version auf dem neuen Server befinden.

Verkleinerung der AVSGFalls ein bevorzugter Server verloren geht, werden alle Dateien dieses Servers invalidiert.Bei erneuter Anforderung einer Datei wird ein anderer Server aus der AVSG als bevorzugter Server ausgewählt und dieser in Zukunft kontaktiert.

Verlorener CallbackGing ein Callback verloren, wird die entsprechende Datei invalidiert.

Page 104: Studiengang Informatik FHDW

Vorlesung: 104 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Page 105: Studiengang Informatik FHDW

Vorlesung: 105 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Page 106: Studiengang Informatik FHDW

Vorlesung: 106 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Page 107: Studiengang Informatik FHDW

Vorlesung: 107 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Page 108: Studiengang Informatik FHDW

Vorlesung: 108 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Page 109: Studiengang Informatik FHDW

Vorlesung: 109 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

Page 110: Studiengang Informatik FHDW

Vorlesung: 110 Betriebssysteme V 2003 Prof. Dr. G. Hellberg

ENDEENDE

Fragen?Fragen?