BS und Netzwerke Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1
Zusammenspiel: Betriebssysteme Netzwerke Kommunikationsnetze Netzwerkprotokolle (OSI, TCP/IP) Verteilte Filesysteme Mutual Exclusion in verteilten Systemen Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 2
Distributed System Lose gekoppelte Rechner, die über ein Netzwerk verbunden sind Resource Sharing Zugriff auf gemeinsame Files, Drucker Verwendung von verteilten Datenbanken Zugriff auf Spezialhardware Beschleunigung von Berechnungen Load Sharing Erhöhung der Zuverlässigkeit Kommunikation Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 3
Client-Server Model server network resources communication client Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 4
Distribution in Operating Systems Network Operating System Verteilung für Benutzer sichtbar spezielles User Interface Bsp: Remote login (telnet, ssh) Datentransfer via File Transfer Protocol (ftp) Distributed Operating System Verteilung nicht sichtbar Ähnlicher Zugriff auf lokale nicht-lokale Daten Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 5
Distributed Operating System Data Migration Computation Migration (z.b. Remote Procedure Call) Process Migration Load balancing Computation speedup (Parallelisierung von Subtasks) ardware preference (z.b. Nutzung spezieller W) Software preference (SW auf bestimmten Knoten) Data access (Prozess Migration statt Datentransfer) Fehlertoleranz Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 6
Network Structure (LAN) Local-Area Network (LAN) kleine geographische Ausdehnung (bis etwa 10km) Multi-access Bus, Ring, Stern Übertragungsrate: 10 Mbit/sec 1 Gbit/sec Broadcast: schnell, billig Knoten: Workstations, PCs, ev. Mainframe(s) Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 7
Network Structure (WAN) Wide-Area Network (WAN) große geographische Ausdehnung Punkt-zu-Punkt Verbindungen über große Entfernungen Typische Übertragungsrate: 1.5 45 Mbit/sec Broadcast erfordert Versenden mehrerer Nachrichten Knoten: Workstations, PCs, Mainframes Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 8
WAN Communication network host user processes CP user processes host OS CP CP CP host OS communication processor communication subsystem Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 9
Communication Networks Topology physikalische Verbindungsstruktur Naming, Name Resolution Lokalisierung der Kommunikationspartner Routing Connection Strategy Aufbau logischer Verbindungen Contention Auflösung von Zugriffskonflikten Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 10
Network Topology Installationskosten Kosten der physikalischen Verbindung? Kommunikationskosten wie lange ist eine Nachricht unterwegs? Zuverlässigkeit Effekt des Ausfalls von Knoten Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 11
Network Topologies fully connected partially connected Tree Star Ring Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 12
Naming, Name Resolution Spezifikation des Kommunikationspartners (Rechner und Prozess) < hostname, identifier > Name Resolution: Zuordnung: Name è ost ID Fixe Übersetzungstabelle per ost Domain-name system (DNS) IP Adressen aus Teilen (Bsp.: mail.tuwien.ac.at) Adressauflösung von hinten nach vorne Anfrage an Name Server für jeden Teil liefert Adresse des Name Servers für Sub-Domain, usw. Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 13
DNS Lookup Bsp.: DNS Lookup von mail.tuwien.ac.at 1. Kernel sendet Anfrage um Adresse des Name Servers für Domain ac.at an Server für Domain at (letzterer muss bekannt sein) 2. at Server liefert Adresse des Name Servers für ac.at 3. Kernel fragt ac.at Server um Adresse für tuwien.ac.at 4. Anfrage an resultierende Adresse liefert Internet-Adresse für mail.tuwien.ac.at è 128.130.35.36 Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 14
Routing Welchen Weg nimmt ein Nachrichtenpaket? Routing Table Info. über Alternativen, Geschwindikeit, Kosten automatisches oder manuelles Update Routing Strategien Fixed Routing: fixer Weg von A nach B Virtual Circuit: Weg von A nach B pro Session fix; Nachrichtenreihenfolge bleibt erhalten Dynamic Routing: Pfad einer Nachricht wird beim Senden bestimmt; Out-of-order Arrival möglich Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 15
Connection Strategies Wie wird eine Communication Session zwischen zwei Prozessen realisiert? Circuit Switching: permanente physikalische Verbindung für die Dauer der Session Message Switching: Temporäre Verbindung für die Dauer einer Nachrichtenübertragung Packet Switching: Nachrichten variabler Länge werden in Paketen gleicher Länge übertragen; Pfade der Pakete können verschieden sein Setup Time versus Overhead bei Übertragung Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 16
LAN: Contention Auflösung von Zugriffskonflikten, wenn Prozesse gleichzeitig Daten am Netzwerk senden wollen: CSMA/CD: carrier sense, multiple access (CSMA), with collision detection (CD) Sendebeginn, wenn freies Medium erkannt wird Abbruch und neulicher Versuch nach Zufallsintervall, wenn Kollision erkannt wird Viele Kollisionen bei ochlast Einsatz in Ethernet Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 17
LAN: Contention (2) Token Passing: eine speziell ausgezeichnete Nachricht (token) wird laufend unter den Knoten im Kreis weitergegeben Wenn ein Knoten im Besitz des Tokens ist, kann er eine Nachricht senden Weitergabe des Tokens nach dem Senden, bzw. wenn der Knoten nichts zu senden hat Physikalische oder logische Ringstruktur Spezielle Protokolle zur Generierung des Tokens am Anfang bzw. bei Tokenverlust Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 18
Communication Protocols Kommunikationsprotokoll Satz von Regeln und Konventionen für die Kommunikation von Daten definiert Syntax, Semantik und Synchronisation typische Eigenschaften von Protokollen Identifikation der physikalischen Verbindung, des Kommunikationspartners Verbindungsaufbau, -abbau Beginn, Ende, Formatierung von Botschaften Flusskontrolle, Fehlerbehandlung Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 19
Communication Protocols (2) Verwendung von geschichteten Protokollen (Protocol Stacks), um Komplexität zu beherrschen Schicht (Layer) n bietet der Schicht n+1 ein Interface mit Service Access Points (SAPs) Schicht n verwendet Services der Schicht n-1, um eigene Services zu implementieren Kommunikationspartner: Einheiten des gleichen Layers auf den kommunizierenden Knoten Beispiele: OSI Referenzmodell, TCP/IP Protokollsuite Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 20
host A process A application presentation session transport network data-link physical OSI Layers network device network data-link physical host B process B application presentation session transport network data-link physical Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 21
OSI-Protocol Layers (1) OSI-Schichtenmodell der Netzwerkkommunikation Physical Layer: mechanische und elektrische Codierung für Übertragung von Bit Streams Data-link Layer: gesicherte Übertragung von Frames auf dem Physical Layer (Flusskontrolle, Fehlererkennung und Korrektur) Network Layer: liefert Verbindungen und Routing von Paketen (Interpretation von Adressen, Verwaltung von Routing Informationen, Routing) Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 22
OSI-Protocol Layers (2) Transport Layer: Transfer von Daten zwischen Komm.-Endknoten, Partitionierung von Nachrichen, Ordnen von Paketen Session Layer: Realisiert Verbindungen zwischen Prozessen (Sessions); Kommunikation für Remote Login, File oder Mail Transfer Presentation Layer: Auflösung unterschiedlicher Formate (Syntax, Semantik) Application Layer: Interaktion mit Applikationen; File Transfer, Remote Login Protokolle, E-Mail Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 23
Interfaces and Services layer n+1 interface ICI IDU SDU service access point (SAP) layer n ICI SDU header SDU layer n comm. n-pdu ICI interface control information, IDU interface data unit SDU service data unit, PDU protocol data unit Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 24
OSI Communication process A header data process B application application presentation presentation session session transport transport network data-link CRC network data-link physical bit stream physical Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 25
OSI versus TCP/IP OSI Layers TCP/IP Layers TCP/IP Protocol Suite application presentation session application FTP SMTP TTP telnet pop transport transport TCP UDP network internet IP ICMP data-link physical network interface Ethernet Token Ring/Bus FDDI Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 26
Distributed File Systems (DFS) Verteilte Implementierung des Filesystems DFS verwaltet verteilte Speichereinheiten, die den gemeinsamen verteilten Speicher bilden Naming Wie werden Namen gebildet? Location Transparency: Filename gibt keinen Aufschluss über physikalische Speicheradresse Location Independence: Filename bleibt gleich, auch wenn sich die physikalische Adresse ändert Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 27
DFS Naming Strategies Filename = Kombination ost Name + Local Name; systemweit eindeutiger Name Einhängen von externen Directories in lokale Directory-Struktur durch explizites Mounten; transparenter Zugriff auf alle Directories Volle Integration: globale Namensstruktur für alle Files des Systems Teile des Dateisystems können vorübergehend nicht zugreifbar sein Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 28
DFS: Remote File Access Remote Service Mechanism (jeder Zugriff remote) Caching von Blöcken oder Files Cache consistency problem Caching auf lokaler Disk vs. Main-memory Caches Write-through versus Delayed-write Stateful vs. Stateless File Service Stateful: Client öffnet File, Server hält Information über Status, Puffer etc. è gute Performance; Recovery??? Stateless: Jeder Request addressiert File und Fileposition, wird eigenständig behandelt Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 29
DFS: File Replication Replicas derselben Datei auf Maschinen mit unabhängigem Ausfallverhalten Erhöhung der Zuverlässigkeit Möglicherweise Beschleunigung des Zugriffs Zuordnung Filename Replika Transparente Namensumsetzung für Applikationen Verschiedene Low-level Adressierung è Update bzw. Management der Replikas Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 30
Distributed Mutual Exclusion (DME) Zentralisierter Ansatz mittels Serverprozess zur Koordination Prozess sendet request an Koordinator Koordinator sendet reply an Prozess, sobald k.a. frei Prozess sendet release an Koordinator (k.a.-epilog) Vollständig verteilter Ansatz Broadcast von request mit Zeitstempel an alle Prozesse Prozesse senden reply wenn sie selbst keinen Mutex Request haben oder eigener Request jünger ist Eintritt in k.a., sobald reply von allen Proz. empfangen Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 31
Distributed Mutual Exclusion (2) Vollständig verteilter Ansatz (Fortsetzung) Nachteil: jeder Prozess muss alle anderen kennen Nachteil: Fehler eines Prozesses blockiert Protokoll Arbitrierung durch Token Anordnung der Knoten in logischer Ringstruktur Besitzer des Tokens kann k.a. abarbeiten; anschließend Weitergabe des Tokens Fehlermöglichkeiten: Tokenverlust, Prozesstermination Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 32
Zusammenfassung Verteilte BS-Services verwenden die Services von Netzwerkprotokollen Schichtung von Protokollebenen zur Komplexitätsreduktion Verteilte Services bieten Vorteile Erweiterte Services, Beschleunigung, Fehlertoleranz Kosten Management, Konsistenthaltung Peter Puschner, TU Wien Vorlesung Betriebssysteme, Distribution; WS 13/14 33