18
Interprozess- kommunikation (IPC) Marcel Waldvogel

Interprozess- kommunikation (IPC) Marcel Waldvogel

Embed Size (px)

Citation preview

Page 1: Interprozess- kommunikation (IPC) Marcel Waldvogel

Interprozess-kommunikation

(IPC)

Marcel Waldvogel

Page 2: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 2

Ziele

Prozesse Enstehung

Lebensweg, -weise

Eigenschaften

Kommunikation Gründe

Dienste

Anwendungen

Page 3: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 3

Was ist IPC?

Inter

Prozess Was ist ein Prozess?

Eigenschaften

Kommunikation Kommunikationsarten

Kommunikationswege

Kommunikationsdienste

Page 4: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 4

Prozesse

Prozess = Programm + Zustand, Ablauf Zeitliche Komponente

Objekte mit Ressourcen (OS)

Verarbeitung Parallel

Sequentiell

Überlappend (Zeitscheiben, kooperativ)

Entstehung Biologie!

Programmausführung im Prozess

Page 5: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 5

Weight Watchers

Zustände Running, runnable, sleeping

Übergänge?

Zustandsübergänge teuer Schwer- vs. leichtgewichtige Prozesse

(LWP, Thread) mit viel, wenig Zustandsinfo

Page 6: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 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

Page 7: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 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

Page 8: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 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)

Page 9: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 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

Page 10: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 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

Page 11: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 11

Gemeinsame Datenstrukturen

Derselbe Speicherbereich sichtbar von mehreren Prozessen

Shared Memory

Implementation Lokal

Entfernt: Nachrichtendienst und viele Tricks

Probleme Basisadresse, Pointer

Synchronisation

Page 12: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 12

Synchronisation

Interrupts sperren

Verdrängungssperre(Context Switch Block)

Sperrvariablen

Atomare Operationen

Algorithmische Lösung

Semaphore

Deadlock (Verklemmung)

Page 13: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 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

Page 14: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 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

Page 15: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 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

Page 16: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 16

Bugs damals und heute

Page 17: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 17

Debugger

Quellprogramm

Übersetzer

Maschinen-programm

Referenz-information

Quellzustand

Debugger

Maschinen-zustand

Programmebene

Maschinenebene

Page 18: Interprozess- kommunikation (IPC) Marcel Waldvogel

Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, 15.10.2001, 18

Persistenz der Information

Dilemma Kurzlebige Prozesse

Daten oft lange wertvoll

Abhilfe Datenbanken

Dateisysteme (File system)