Notice: Undefined index: string in /var/www/stefan/howtux.de/htdocs/article.php on line 49

Notice: Undefined index: settings in /var/www/stefan/howtux.de/htdocs/article.php on line 61
Home / Prozesse und IPC / Interprozesskommunikation

Interprozesskommunikation

Kategorie: Prozesse und IPCErstellt: 02.10.2007 - 23:58 Geändert: 23.10.2007 - 23:22
Autor: Stefan Abu Salah
0Interprozesskommunikation dient, wie der Name vermuten lässt, der Kommunikation zwischen mehreren Prozessen. Die Kommunikation kann auf unterschiedlichen Wegen erfolgen. Im folgenden sollen die wichtigsten Methoden kurz vorgestellt werden.

Pipe


Die Pipe (englisch für Rohr, Röhre) bezeichnet einen gepufferten uni- oder bidirektionalen Datenstrom zwischen zwei Prozessen nach dem First In – First Out-Prinzip. Dieses Verfahren ist Ihnen bereits von der Shell bekannt, denn das Shellkommando "|" nutzt genau dieses Verfahren um die Ausgabe eines Programms an ein anderes zu übergeben.

Message Queue


Message Queues stellen genau wie Pipes eine Warteschlange dar. Jede Nachricht erhält eine Nummer, welche sie einem bestimmten Typ zuordnet. Damit ist es möglich das strenge FIFO-Prinzip aufzubrechen, indem man beispielsweise Nachrichten eines bestimmten Typs priorisiert ausliest.

Shared Memory


Im Regelfall sind die Speicherbereiche aller Prozesse eines Systems streng voneinander getrennt. Es gibt jedoch eine Möglichkeit einigen Prozessen einen gemeinsam benutzten Speicherbereich zur Verfügung zu stellen. Dieses IPC-Verfahren nennt man Shared Memory. Wichtig ist es eine Synchronisierung zu realisieren, damit nicht mehrere Prozesse zeitgleich versuchen ein und den selben Speicherbereich zu bearbeiten. Das Synchronisieren könnte man beispielsweise mittels Signale oder Semaphoren realisieren.

Sockets / Unix-Domain-Sockets


Generell besteht natürlich die Möglichkeit zwei Prozesse mittels eines Sockets, also einer Netzwerkverbindung, miteinander kommunizieren zu lassen. Dies könnte beispielsweise über die Schnittstelle localhost/127.0.0.1 geschehen. Eine performantere Lösung bieten Unix-Domain-Sockets. Diese spezielle Art von Sockets kommuniziert mittels Dateien und nicht über IP und Port. Der hiermit mögliche Durchsatz liegt weit über dem der lokalen TCP/IP-Kommunikation. Mehrere Gigabyte/s sind mit Unix-Domain-Sockets kein Problem.


Notice: Undefined variable: urli in /var/www/stefan/howtux.de/htdocs/classes.php on line 240
Bookmark auf del.icio.usBookmark auf Mister WongBookmark auf BlinklistBookmark auf GoogleBookmark auf LinkarenaBookmark auf YiggBookmark auf FolkdBookmark auf Yahoo
Home / Prozesse und IPC / Interprozesskommunikation
simplum