Einführung Prozesskommunikation
Einführung in die Grundlagen von Prozesskommunikation
Präsentation unter:
https://essentials.coufal.at/network_basics/Prozesskommunikation.html
Klaus Coufal
17.3.2020
Prozesskommunikation
Prozesslebenszyklus
Prozesssynchronisation
Semaphoren
Pipes
RPC
RPC-SOAP
Prozesskommunikation: Prozesslebenszyklus
Prozesskommunikation: Prozesssynchronisation
Prozesse sind oft voneinander abhängig
z.B.:
Schreibprozess muß auf Daten warten
Zwei Prozesse wollen gleiche HW nutzen
=> 2 Grundklassen der Synchronisation
Wechselseitiger Ausschluss
Prozesskooperation
Prozesskommunikation: Semaphoren
Binärsemaphoren
Ampel (rot/grün)
Flag (aus/ein, wahr/falsch, up/down, ...)
...
allgemeine Semaphoren
Zähler
...
Prozesskommunikation: Pipes
Manche Betriebssysteme bzw. Prozessoren stellen für die einfachere Synchronisation sogenannte Pipes ("Röhren" für einen Datenstrom) zur Verfügung. Dabei werden die Ergebnisse eines Befehls als Eingabe für den nächsten Befehl verwendet (FIFO)
z.B.: dir | sort | more >filelist.txt
Prozesskommunikation: Pipes - Symbole
|
Anonyme Pipe
<
Named Pipe für die Eingabe
>
Named Pipe für die Ausgabe
>>
Named Pipe für die Ausgabe (append)
[unit]>
Angabe einer Ein- oder Ausgabeeinheit (z.B. 2>&1)
Prozesskommunikation: RPC
Remote Procedure Call
RFC
707
,
1057
,
5531
Viele inkompatible Implementierungen
XNS Xerox Network System
Sun ONC RPC (Open Network Computing)
DCE RPC (Distributed Computing Env.)
MSRPC → DCOM → .NET Remoting
Prozesskommunikation: RPC - Ablauf
Client sendet eine Anfrage an den Server
Server verarbeitet diese Anfrage
Server schickt eine Antwort
Client arbeitet mit der Anwort weiter
Prozesskommunikation: RPC - SOAP
Simple Object Access Protocol → Eigenständiges Acronym
Weiterentwicklung von XML-RPC
Spezifikationen:
https://www.w3.org/TR/soap/
Prozesskommunikation: RPC - SOAP Request Beispiel
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Body>
<m:TitleInDatabase xmlns:m="http://www.spg.at/db/soap">
NVS1 und Coufal
<:/m:TitleInDatabase>
</s:Body>
</s:Envelope>
Prozesskommunikation: RPC - SOAP Reply Beispiel
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope">
<s:Header>
<m:RequestID xmlns:m="http://www.spg.de/db/soap">FC</m:RequestID>
</s:Header>
<s:Body>
<m:DbResponse xmlns:m="http://www.spg.at/db/soap">
<m:title value="NVS1 und Coufal">
<m:Choice value="1">NVS1_H4.PDF</m:Choice>
<m:Choice value="2">NVS1_B78.PDF</m:Choice>
</m:title>
<:/m:DbResponse>
</s:Body>
</s:Envelope>
Quellen
Seminarreihe Netzwerke
S5: A Simple Standards-Based Slide Show System
Mein Informationsportal (www.coufal.info)
Fragen
?
Danke für Ihre Aufmerksamkeit