* * *
IPC
[Abk. für Interprocess Communication, dt. »Kommunikation zwischen Prozessen«] die, der Austausch von Nachrichten zwischen zwei Prozessen (Datenverarbeitungsvorgängen).
Auf einem Einzelrechner unter einem Betriebssystem, das Multitasking oder Multithreading erlaubt (also einem modernen Betriebssystem), findet über IPC der Nachrichtenaustausch zwischen zwei Programmen bzw. zwischen zwei Threads eines Programms statt. Je nach System ist auch ein dynamischer Datenaustausch möglich, d. h. Daten, die in mehreren Dokumenten vorkommen, werden automatisch aktualisiert, wenn sie in einem Dokument geändert werden (ein Beispiel für dynamischen Datenaustausch ist OLE). Zu den gebräuchlichen Methoden der IPC gehören gemeinsame Speicher für mehrere Prozesse (Shared Memory), Semaphore, Pipes, Warteschlangen usw.
In einem Netzwerk benötigt die IPC Funktionen zur Initialisierung logischer Nachrichtenübertragungswege, zum Senden und Empfangen von Nachrichten über die initialisierten Wege und zum Abbau nicht mehr benötigter Verbindungen. Man unterscheidet die IPC hier u. a. nach folgenden Aspekten:
- Synchrone oder asynchrone Kommunikation: Bei synchroner Übertragung sind Sende- und Empfangsoperationen blockiert, bis beide Partner zur Kommunikation bereit sind. Die asynchrone Arbeitsweise ist durch nicht blockierendes Senden gekennzeichnet; nur beim Empfang ist der Partner blockiert.
- Direkte oder indirekte Adressierung: Bei der direkten Adressierung legt die Sendeoperation den Empfangsprozess explizit fest, bei der indirekten Adressierung wird die Nachricht an einen Stellvertreter (Port oder Mailbox) gesendet, von dem aus ein empfangswilliger Prozess die Nachricht erhalten kann.
Bei den meisten Varianten der IPC kann eine Verklemmung der beteiligten Prozesse nicht ausgeschlossen werden. Ferner besteht bei asynchroner IPC die Gefahr von Laufzeitfehlern.
Universal-Lexikon. 2012.