Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Interprozess- kommunikation (IPC) Marcel Waldvogel.

Ähnliche Präsentationen


Präsentation zum Thema: "Interprozess- kommunikation (IPC) Marcel Waldvogel."—  Präsentation transkript:

1 Interprozess- kommunikation (IPC) Marcel Waldvogel

2 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Ziele Prozesse Enstehung Lebensweg, -weise Eigenschaften Kommunikation Gründe Dienste Anwendungen

3 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 3 Was ist IPC? Inter Prozess Was ist ein Prozess? Eigenschaften Kommunikation Kommunikationsarten Kommunikationswege Kommunikationsdienste

4 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 4 Prozesse Prozess = Programm + Zustand, Ablauf Zeitliche Komponente Objekte mit Ressourcen (OS) Verarbeitung Parallel Sequentiell Überlappend (Zeitscheiben, kooperativ) Entstehung Biologie! Programmausführung im Prozess

5 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 5 Weight Watchers Zustände Running, runnable, sleeping Übergänge? Zustandsübergänge teuer Schwer- vs. leichtgewichtige Prozesse (LWP, Thread) mit viel, wenig Zustandsinfo

6 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 6 Prozesskoordination EVA: Daten und Berechnung Datenerhalt über Prozesslaufzeit hinaus OS: Hauptsächlich Synchronisation Abhängigkeiten zwischen nebenläufigen, kooperierenden Prozessen Ressourcen teilen (I/O, Datenstrukturen, Speicher,...) Koordination bedingt Kommunikation

7 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 7 Kommunikation Arten Synchron, asynchron (S, A) Lokal, entfernt/remote (L, R) Wege Nachrichten versenden Entfernter Funktionsaufruf Gemeinsame Datenstrukturen Abgelegte Informationen Direkter Einfluss Dienste Gegenseitiges Einverständnis! Zugangskontrolle

8 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 8 Kommunikationsdienste Nachrichten, Datenströme Message Queues (A; L, R) Sockets (A; R) und Pipes (A; L) Entfernter Funktionsaufruf Remote Procedure Call (S; R) Gemeinsame Datenstrukturen Shared Memory (S; L, R) Informationen Dateisysteme, Datenbanken (A; L, R) Direkte Manipulationen Debugging (S; L)

9 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 9 Nachrichten in Warteschlangen Beliebteste Kommunikation Internet Basisdienst für viele Mehrwertdienste Beispiele Lokal? Entfernt? Abarbeitung in Folge evt. priorisiert mit/ohne Erhalt von Meldungsgrenzen Warteschlange pro Kanal oder global

10 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 10 Remote Procedure Call Dienst Entfernte Funktionsausführung Semantik Lokalem Funktionsaufruf möglichst ähnlich Implementation Nachrichtenpaar Unterschiede? "Stubs" Marshalling Prozesskontext Anwendungen X11, Mikrokernel, NFS, AFS, Datenbanken; SunRPC, Java RMI, CORBA

11 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 11 Gemeinsame Datenstrukturen Derselbe Speicherbereich sichtbar von mehreren Prozessen Shared Memory Implementation Lokal Entfernt: Nachrichtendienst und viele Tricks Probleme Basisadresse, Pointer Synchronisation

12 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 12 Synchronisation Interrupts sperren Verdrängungssperre (Context Switch Block) Sperrvariablen Atomare Operationen Algorithmische Lösung Semaphore Deadlock (Verklemmung)

13 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 13 Filosofen beim Abendessen "Dining Philosophers" Einige Filosofen am runden Tisch Zwischen jedem eine Gabel Jeder braucht zwei Gabeln zum Essen Grundproblem für Deadlocks (Verklemmungen) Zirkuläre Abhängigkeiten vermeiden oder aufbrechen

14 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 14 Beispiel: Datenmanipulation Klassische Serialisierung Nachrichten an einzelnen "verantwortlichen" Prozess Sperrvariablen Einfügen in verkettete Liste Z.B. Nachrichtenwarteschlange Sperrvariable Atomarer Zugriff Probleme Löschen Granularität der Sperrvariable Cache beim Mehrprozessorsystemen

15 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 15 Direkte Manipulation Fehlersuche, Debugging Inspektion und Modifikation von Variablen Steuerung der Programmausführung Passive Beobachtung ("execution trace") Fehlerumgehung Zugriffsumgehung Lehre: Keine künstlichen, nicht erzwingbaren Rechte! Emulation

16 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 16 Bugs damals und heute

17 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 17 Debugger Quellprogramm Übersetzer Maschinen- programm Referenz- information Quellzustand Debugger Maschinen- zustand Programmebene Maschinenebene

18 Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 18 Persistenz der Information Dilemma Kurzlebige Prozesse Daten oft lange wertvoll Abhilfe Datenbanken Dateisysteme (File system)


Herunterladen ppt "Interprozess- kommunikation (IPC) Marcel Waldvogel."

Ähnliche Präsentationen


Google-Anzeigen