Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Sigrid Krüger Geändert vor über 7 Jahren
1
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl 23.04.2004
2
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 2 Überblick Letzten Montag –Überblick über verteilte Anwendungen –Vor-/Nachteile,... Heute einflußreiche Systeme als Abschluß der Einleitung –Kennenlernen konkrete Systeme –Motivation verteilter Anwendungen –Vorstellung einiger wichtiger Konzepte Nächster Montag –Java 2 Enterprise Edition (J2EE)
3
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 3 Einflußreiche Systeme Amoeba –Objektbasiertes, verteiltes Betriebssystem Mach –Microkernel, Thread, Port... Distributed Computing Environment (DCE) der OSF –Entwicklungs- und Laufzeitumgebung Sun Network File System –Verteiltes Dateisystem
4
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 4 Amoeba Entwickelt an der Uni Amsterdam (Tanenbaum) Eines der ersten objektbasierten, verteilen Betriebssysteme
5
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 5 Amoeba Definition eines Microkernels –Erzeugen von Prozessen & Threads –Interprozesskommunikation Basiert auf Informationsobjekte –Abstrakter Datentyp (Bsp.: Verzeichnis) und Operationen –Objekte verwaltet von Server Subsystem –Erzeugung eines Prozesses beim Zugriff
6
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 6 Amoeba Client und Server kommunizieren über Remote Procedure Calls (RPC) Zugriff auf Objekte mit Hilfe von capabilities: (service, object-id, access rights, checksum) Weitere Informationen: http://www.cs.vu.nl/pub/amoeba/
7
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 7 Mach Microkernel Betriebssystem der Carnegie Mellon University –Basis für diverse Implementierungen, z.B. MkLinux (Macintosh)
8
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 8 Mach Ziele Emulation von UNIX Multiprozessor Betrieb (tasks, threads) (Transparente) Abbildung des Netzwerks (ports) Flexible Implementierung eines virtuellen Speichers (memory objects) Portabilität
9
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 9 Mach Konzepte Threads –Kein eigener Adreßraum –Wenig Verwaltungsinformation –Schneller Threadwechsel –Zuordnung zu Prozessoren Memory objects –(virtuelle) Speichereinheiten –Gemeinsame Nutzung durch „Copy-on- Write“ Objekt wird vor dem Schreiben kopiert
10
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 10 Mach Nachrichtenaustausch Prozesse kommunizieren durch Kanäle, genannt Ports Port: Message Queue –Mehrere Sender können senden –Ein Empfänger pro Queue –Zugriffsschutz über Capabilities
11
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 11 Mach Nachrichtenaustausch Network server Ports Weitere Informationen http://www-2.cs.cmu.edu/afs/cs/ project/mach/public/www/mach.html
12
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 12 Open Software Foundation (OSF) OSF Mitglieder: HP, IBM, Siemens,... Spezifikation des Distributed Computing Environment (DCE) –Entwicklungsplattform (Komponenten) und Laufzeitumgebung Charakteristika –Mach as Basis –Client-Server Paradigma –RPC, information sharing
13
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 13 OSF DCE
14
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 14 Sun NFS Network File System (NFS) von Sun Verfügbar auf vielen Systemen, hauptsächlich UNIX Ziel: Orts- und Zugriffstransparenz beim Dateizugriff –Kein Unterschied zwischen lokalen und entfernten Dateizugriff Zustandsloser Dateidienst –Server merkt sich keine Info. über Clients –Server prüft Rechte bei jedem Zugriff
15
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 15 NFS Mount Verzeichnisse werden vom Serber exportiert und vom Client gemounted
16
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 16 NFS Implementierung (I)
17
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 17 NFS Implementierung (II) Jede Datei im virtuellen Dateisystem hat file handle mit –file system ID –i-node –i-node creation number Zugriff (offener) Dateien über v-node –Falls lokal: v-node enthält Verweis auf i-node –Falls entfernt: v-node enthält file handle
18
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 18 NFS Caching (I) Ein Cache pro Maschine, nicht pro Programm Cache wird in regelmäßigen Abständen in Dateisystem geschrieben Probleme bei Schreib-Operationen beim Zugriff mehrerer Anwendungen Ansatz zur Lösung –Für jeden Datenblock die Zeit der letzten Änderung pflegen
19
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 19 NFS Caching (II) Programm 3 sieht Änderungen später
20
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 20 read function read (file d, blockindex k): block; /* read data block k of file d */ if file d is local then return (k-th block); else /* file d is remotely located */ if t last read of k < (t now - w) /* If the last read was performed more than w seconds before, check the validity of the cache entry; t now be the actual time. */ then request latest modification time t mod/remote (k) if t mod/remote (k) == t mod/old (k) then return (k-th block); else fetch k from the remote system; return (k-th block);
21
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 21 NFS Caching (III) NFS Parameter –Prüfung der M.-Zeit bei open oder beim Zugriff auf neue Datenblöcke –Annahme der Gültigkeit 3 Sek. (Dateien) bzw. 30 Sek. (Verzeichnisse) Was passiert mit „ungültigen“ Dateien? –Web Browser kümmert sich z.B. nicht Möglichkeiten Konsistenzerhaltung –write-invalidate –write-update
22
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme © Dr. Wolfgang Wörndl, 23.04.2004 22 Zusammenfassung Überblick über einige einflußreiche verteilte Anwendungen Zugrunde liegende Konzepte sind Schwerpunkte der Vorlesung, u.a. –Client/Server –RPC –Verteilter Dateidienst Nächsten Montag –J2EE
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.