Verteilte Betriebssystemedistributed Operating Systems

Verteilte Betriebssystemedistributed Operating Systems

Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme 3.1 Motivation Wintersemester 2020/2021 3.1 Motivation I Bevor wir einzelne Aspekte diskutiert, betrachten wir einige reale Betriebssysteme Verteilte Betriebssysteme I Betriebssysteme für verteilte Systeme müssen verschiedene Probleme lösen I Bisher keine einheitliche Problemsicht á unterschiedliche Konzepte und Abstraktionen 3. Kapitel I Sehr heterogen I Noch kaum etablierte best practices oder gar Standards, erst in letzter Zeit Bemühungen im Rahmen Fallstudien Verteilter Betriebssysteme des Cloud-Computing Konzentrieren uns hier auf Abstraktionen Matthias Werner I Professur Betriebssysteme I Unterschiedliche Abstraktionen (Modelle) stellen unterschiedliche Anforderungen an Implementierung WS 2020/21 · Matthias Werner III – 2 von 36 osg.informatik.tu-chemnitz.de Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme 3.2 Mach 3.2 Mach 3.2 Mach – Tore als Stellvertreter Mach-Objekte I Entwickelt 1983–86 von der Carnegie-Mellon-University (CMU) in Pittsburgh I Vorgänger: Accent (1981, CMU) I Ursprüngliches Ziel: Moderne Neuimplementierung von UNIX BSD 4.3 I BS-Kern Mach 3.0 verfügbar für die meisten PC- und Workstation-Prozessoren I Grundlage von OSF/1, dem Unix-Standard der Open System Foundation I Kernel für: I NeXTSTEP / OPENSTEP - Rhapsody I XNU (Basis von Darwin, was wiederum die Basis von MacOS X ist) I MkLinux (Power Macintosh) I GNU Hurd (in Form von GNU Mach) I Tru64 (OSF/1) WS 2020/21 · Matthias Werner III – 3 von 36 osg.informatik.tu-chemnitz.de WS 2020/21 · Matthias Werner III – 4 von 36 osg.informatik.tu-chemnitz.de Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme 3.2 Mach 3.2 Mach Ports Ports (Forts.) I Ports spielen Schlüsselrolle in Mach I Typisch: ein Server verwaltet viele Ports I Ports unterstützen n:1-Kommunikation I Betriebsmittel werden mit Ports identifiziert und ihre Benutzung wird durch eine Nachricht an den I Für jeden Port gibt es zu einem Zeitpunkt genau einen Empfänger (Besitzer des receive rights), aber beliebig zugehörigen Port angefordert viele Sender (Besitzer eines send rights) I Ports bestehen im Wesentlichen aus einer Nachrichtenwarteschlange, deren Größe vom Port-Besitzer Zugriff auf Betriebsmittel wird über Ports geregelt á Recht auf Benutzung eines Betriebsmittels wird über I dynamisch eingestellt werden kann (Flusskontrolle) ein Recht am zugehörigen Port realisiert I Senden an einen vollen Port führt zur Blockierung des sendenden Threads I Die Besitzer der Rechte sind Tasks I Lediglich Sende-Operationen mit send-once right sind auch bei voller Warteschlange erfolgreich I Rechte können in Nachrichten verschickt werden Folgende Rechte sind vorgesehen: I I Existiert kein receive right für einen Port, so werden Sende-Operationen mit einer Fehlermeldung I send right abgewiesen I send-once right I Ebenso kann ein Prozess den Kern beauftragen, ihm mitzuteilen, wenn keine send rights mehr existieren I receive right I bootstrap port right WS 2020/21 · Matthias Werner III – 5 von 36 osg.informatik.tu-chemnitz.de WS 2020/21 · Matthias Werner III – 6 von 36 osg.informatik.tu-chemnitz.de Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme 3.2 Mach 3.2 Mach Ports (Forts.) Entfernte Kommunikation I Mach ist zunächst kein verteiltes System I Der Kern führt Buch über die Zahl I Aber: Das Konzept „Port“ als zentrale Abstraktion macht es leicht, verteilte Betriebssysteme auf der der ausgegebenen Rechte für Grundlage von Mach zu konstruieren einen Port Verwaltung erfolgt im Kernel I I Kommunikation zu anderen Knoten ist Aufgabe einer speziellen Komponente außerhalb des Kerns: Net I Portname (Integer) ist lokal Message Server (NetMsgServer, NMS) bezüglich des Prozesses I NMS-Prozess realisiert die typischen Schichten eines Protokollstapels Kernel isoliert damit I I Er enthält u.a.: Prozesse á Tabellen zur Umsetzung lokaler Portnummern in globale Sicherheitsfeature I I Funktionen zur Wandlung der Datenrepräsentation I Authentisierungsmechanismen I Verschlüsselungsverfahren WS 2020/21 · Matthias Werner III – 7 von 36 osg.informatik.tu-chemnitz.de WS 2020/21 · Matthias Werner III – 8 von 36 osg.informatik.tu-chemnitz.de Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme 3.2 Mach 3.2 Mach Entfernte Kommunikation (Forts.) Arbeiten mit dem NetMsgServer I Dienste registrieren sich beim NetMsgServer netname_look_up() P1 NMS NMS P2 Client NetMsgServer Send receive answer netname_check_in() request Server Netz I NetMsgServer ist auch Dienst. Wie wird er gefunden? á Enviroment-Manager (für lokale Ports) oder Bootstrap-Server (MacOS) mit festem Port WS 2020/21 · Matthias Werner III – 9 von 36 osg.informatik.tu-chemnitz.de WS 2020/21 · Matthias Werner III – 10 von 36 osg.informatik.tu-chemnitz.de Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme 3.2 Mach 3.2 Mach Resümee Andere Mikrokernel-Ansätze I Amoeba I Vrije University/CMCS Amsterdam, 1981 Erkenntnis I Komplettes, Microkernel-basiertes OS mit Prozessor-Pool-Modell, objekt-basiert, verschlüsselte Capabilities I Mikrokernel-Ansatz funktioniert bei verteilten und nichtverteilten Systemen I Prozessmigration I Zentrales Konzept des Ports ermöglicht „Verstecken“ (Transparenz) von Verteiltheit. I gilt als Referenz für verteilte Betriebssysteme I Außerdem interessant bei Mach: I Chorus I Rechteübertragung durch IPC I INRIA (Frankreich), 1979-87, ursprünglich als europäische Konkurrenz zu Mach I Unterstützung verschiedener Modelle zur Speicherverwaltung, insbesondere Paging I Sehr ähnlich zu Mach (konzeptionell), aber kleiner I Copy on write bei neuen Prozessen I MiX: UNIX-Server, COOL: Chorus Object-Oriented Layer I NORMA (No Remote Memory Access Interprocessor Communication) als In-Kernel-Ersatz für I V-System NetMsgServer I Standford University, 1984 I Sehr kleiner Kernel I Möglichkeiten zur Prozessmigration WS 2020/21 · Matthias Werner III – 11 von 36 osg.informatik.tu-chemnitz.de WS 2020/21 · Matthias Werner III – 12 von 36 osg.informatik.tu-chemnitz.de Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme 3.3 Plan 9 3.3 Plan 9 3.3 Plan 9 – Alles ist eine Datei Trivia I Name kommt vom Film Plan 9 From Outer Space I Regie: Ed Wood I Vor dem Hintergrund von UNIX vollständig neu entwickelte Rechenumgebung I gewählt zum schlechtesten Film aller Zeiten I Entwickelt in Computing Science Research Center der Lucent Technologies Bell Laboratories (die gleiche Gruppe, die UNIX, C und C++ entwickelt hat, u.a. ROB PIKE und KEN THOMPSON) I Glenda ist für Plan 9 was Tux für Linux ist: das Maskottchen I Erste Version erschien 1993 (nur im universitären Bereich verfügbar) I Bezieht sich auf einen anderen Ed-Wood-Film: I Offiziell aktuelle Version: Release 4 von 2002 „Glen or Glenda“ I Aber ständige Weiterentwicklung durch die „Community“ (und auch noch etwas durch Bell-Labs) I Letztes Image vom Mai 2016 (Stand: Oktober 2020) I Als Open Source verfügbar, u.a.: http://www.9legacy.org/download.html WS 2020/21 · Matthias Werner III – 13 von 36 osg.informatik.tu-chemnitz.de WS 2020/21 · Matthias Werner III – 14 von 36 osg.informatik.tu-chemnitz.de Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme 3.3 Plan 9 3.3 Plan 9 Design-Ansatz Typische Plan 9 Umgebung Fiber Network I Unix war ursprünglich kein Netzwerk-Betriebssystem á Brüche im Design File server Idee CPU server CPU server Ein UNIX, das aus vielen kleinen Systemen besteht, statt einem System, dass aus vielen UNIXen besteht. Ethernet I Plan 9 I Ein mächtigeres Multiprozess-System I Zentral administrierbar Gateway I Aufwärtskompatibilität war kein Design-Ziel, aber POSIX-Emulation vorhanden Terminal Terminal Terminal WS 2020/21 · Matthias Werner III – 15 von 36 osg.informatik.tu-chemnitz.de WS 2020/21 · Matthias Werner III – 16 von 36 osg.informatik.tu-chemnitz.de Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme 3.3 Plan 9 3.3 Plan 9 Verteilungsabstraktion Beispiele für Dateien I UNIX: zwei zentrale Konzepte: Prozess und Datei I Eigene Shell terminieren ; echo kill > /proc/$pid/ctrl I Plan 9: Alles ist eine Datei: I Gespeicherte Daten und Dateisysteme I Umgebungvariablen auflisten Fenster ; lc /env I '*' cpu init planb sysname I Protokolle 0 cputype location plumbsrv tabstop Netzwerkinterfaces MKFILE disk menuitem prompt terminal I afont ether0 monitor rcname timezone I ... apid facedom mouseport role user Bildschirm-Kopie drucken I Umsetzung der Abstraktion I ; lp /dev/screen I Angepasstes Namensystem notwendig I Jeder Server ist File-Server I DNS-Abfrage I Implementierung mit einer Art NFS-Protokoll: 9P Protokoll (Version 9P2000 auch unter dem Namen ; echo osg.informatik.tu-chemnitz.de!http > /net/dns styx) WS 2020/21 · Matthias Werner III – 17 von 36 osg.informatik.tu-chemnitz.de WS 2020/21 · Matthias Werner III – 18 von 36 osg.informatik.tu-chemnitz.de Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme Verteilte Betriebssysteme – Fallstudien Verteilter Betriebssysteme

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us