Interprozesskommunikation Flashcards
Wofür steht IPC?
Interprozesskommunikation
Was ermöglicht IPC?
Möglichkeit für Prozesse zu kommunizieren und Nachrichten über einen Kommunikationskanal zwischen Sender & Empfänger auszutauschen
Was ist ein Socket in IPC?
Kommunikationsendpunkt
Wofür steht RPC?
Remote Procedure Call
Was ist RPC?
Remote IPC, entfernter Aufruf von Prozeduren nach Client-Server-Modell
Eigenschaften von RPC Kommunikation
- Sockets als Endpunkte
* Synchrone Kommunikation
Probleme mit RPC
- RPC Prozeduraufrufe sind deutlich langsamer als lokale
- Zusätzliche Fehlerquelle durch das Kommunikationssystem
- Kommunikationsoverhead durch Kommunikationsprotokolle
Was ist ein Stub?
Eine Stellvertreter-Prozedur in RPC, sie übernehmen die Rolle von lokalen Funktionen und verbergen die Kommunikation und Verteilung
Client-Stub
Stellvertreter der entfernten Server-Prozedur auf Client Seite
Server-Strub
Stellvertreter des aufrufenden Client-Codes
Parameterübergabe in RPC
Client- und Server-Stub müssen über gleiche Schnittstellenbeschreibung für die aufzurufende Server-Prozedur verfügen um Parameter und Rückgabewerte mit Nachrichten auszutauschen
Wie können Parameter sich in verschiedene Systemen unterscheiden?
- Datentypen
- Zeichencodierung
- Zahlendarstlelung
- Byteordnung
Welche RPC-Verfahren existieren um heterogene Parameter-Implementierungen auszugleichen?
- RMI
* Binding
Wie können heterogene Parameter-Implementierungen in RPC ausgeglichen werden?
Festlegung bezüglich Syntax und Übertragung
RPC-Binding
Zuordnung zwischen aufrufendem und ausführendem Prozess
RPC-Binding Formen
- Statisch
- Semi-Statisch
- Dynamisch
RPC-Binding Statisch
Feste Sever-Adresse im Client-Programm, keine Änderung ohne Neukompilierung
RPC-Binding Semi-Statisch
Server-Adresse wird als Programmparameter übergeben, Änderung zum Client-Start möglich
Wofür steht RMI?
Remote Method Invocation
Was ist RMI?
Java eigener RPC
Was ermöglicht RMI?
Zugriff auf entfernte Objekte wie auf lokale
Kann aber auch zur Interprozesskommunikation von Anwendungen auf einer Maschine verwendet werde
RMI Architektur
- Server
- Client
- rmiregistry
RMI Server
Stellt Dienst und muss Remote Interface umsetzen
RMI Client
Nutzt Dienst und holt sich Referenzen auf remote Objekte von rmiregistry mit Hilfe der Schnittstellenbeschreibung