Interprozesskommunikation (ipc)

Definition - Was bedeutet Inter Process Communication (IPC)?

Interprozesskommunikation (IPC) ist ein Mechanismus, der den Datenaustausch zwischen Prozessen ermöglicht. Durch die Bereitstellung einer Reihe von Programmierschnittstellen für einen Benutzer hilft IPC einem Programmierer, die Aktivitäten zwischen verschiedenen Prozessen zu organisieren. Mit IPC kann eine Anwendung eine andere Anwendung steuern und so den Datenaustausch ohne Störungen ermöglichen.

IPC ermöglicht die Datenkommunikation, indem Prozesse Segmente, Semaphoren und andere Methoden verwenden, um Speicher und Informationen gemeinsam zu nutzen. IPC ermöglicht eine effiziente Nachrichtenübertragung zwischen Prozessen. Die Idee von IPC basiert auf der Task Control Architecture (TCA). Es ist eine flexible Technik, die Arrays, Datenstrukturen und Listen variabler Länge senden und empfangen kann. Es kann Publish / Subscribe- und Client / Server-Datenübertragungsparadigmen verwenden und gleichzeitig eine Vielzahl von Betriebssystemen und Sprachen unterstützen.

Technische.me erklärt Inter Process Communication (IPC)

Der IPC-Mechanismus kann in Pipes, First In, First Out (FIFO) und Shared Memory unterteilt werden. Pipes wurden im UNIX-Betriebssystem eingeführt. Bei diesem Mechanismus ist der Datenfluss unidirektional. Ein Rohr kann als Schlauchrohr vorgestellt werden, bei dem die Daten durch ein Ende eintreten und vom anderen Ende abfließen. Eine Pipe wird im Allgemeinen durch Aufrufen des Pipe-Systemaufrufs erstellt, der wiederum ein Paar Dateideskriptoren generiert. Deskriptoren werden normalerweise erstellt, um auf einen Pipe-Knoten zu verweisen. Eines der Hauptmerkmale von Pipes ist, dass die durch eine Pipe fließenden Daten vorübergehend sind, was bedeutet, dass Daten nur einmal aus dem Lesedeskriptor gelesen werden können. Wenn die Daten in den Schreibdeskriptor geschrieben werden, können die Daten nur in der Reihenfolge gelesen werden, in der die Daten geschrieben wurden.

Das Funktionsprinzip von FIFO ist dem von Rohren sehr ähnlich. Der Datenfluss im FIFO ist unidirektional und wird durch Zugriffspunkte identifiziert. Der Unterschied zwischen den beiden besteht darin, dass FIFO durch einen Zugriffspunkt identifiziert wird, bei dem es sich um eine Datei innerhalb des Dateisystems handelt, während Pipes durch einen Zugriffspunkt identifiziert werden.