Inter Process Communication (IPC) im Betriebssystem
⚡ Intelligente Zusammenfassung
Die Interprozesskommunikation (IPC) ist eine Reihe von Betriebssystemmechanismen, die es Prozessen und Threads ermöglichen, Daten auszutauschen, Aktivitäten zu koordinieren und Aktionen zu synchronisieren, unabhängig davon, ob sie auf einem einzelnen Computer oder auf mehreren, über ein Netzwerk verbundenen Rechnern ausgeführt werden.

Was ist Interprozesskommunikation?
Interprozesskommunikation (IPC) Dient dem Datenaustausch zwischen mehreren Threads in einem oder mehreren Prozessen oder Programmen. Die Prozesse können auf einem einzelnen Computer oder auf mehreren, über ein Netzwerk verbundenen Computern laufen. IPC steht für Interprozesskommunikation.
Es handelt sich um eine Reihe von Programmierschnittstellen, die es einem Programmierer ermöglichen, Aktivitäten zwischen verschiedenen Programmprozessen zu koordinieren, die gleichzeitig in einem Betriebssystem ausgeführt werden können. Dadurch kann ein einzelnes Programm viele Benutzeranfragen gleichzeitig bearbeiten.
Da jede Benutzeranfrage die Ausführung mehrerer Prozesse im Betriebssystem auslösen kann, müssen diese Prozesse unter Umständen miteinander kommunizieren. Jeder IPC-Ansatz hat seine eigenen Vor- und Nachteile, daher ist es nicht ungewöhnlich, dass ein einzelnes Programm mehrere IPC-Methoden verwendet.
Ansätze für die Kommunikation zwischen Prozessen
Hier sind einige wichtige Methoden zur Interprozesskommunikation:
Ansätze zur prozessübergreifenden Kommunikation
Rohre
Eine Pipe wird häufig zur Kommunikation zwischen zwei zusammenhängenden Prozessen verwendet. Dies ist ein Halbduplex-Verfahren, d. h. der erste Prozess kommuniziert mit dem zweiten. Um jedoch eine Vollduplex-Kommunikation zu erreichen, ist eine weitere Pipe erforderlich.
Nachrichtenübermittlung
Es handelt sich um einen Mechanismus zur Kommunikation und Synchronisierung von Prozessen. Mithilfe des Nachrichtenaustauschs kommunizieren Prozesse miteinander, ohne auf gemeinsame Variablen zurückgreifen zu müssen.
Der IPC-Mechanismus bietet zwei Operationen:
- Senden (Nachricht) – die Nachrichtengröße kann fest oder variabel sein.
- Empfangen (Nachricht)
Nachrichtenwarteschlangen
Eine Nachrichtenwarteschlange ist eine verknüpfte Liste von Nachrichten, die in der Nachrichtenwarteschlange gespeichert sind Kern. Es wird durch eine Nachrichtenwarteschlangenkennung identifiziert. Diese Methode ermöglicht die Kommunikation zwischen einzelnen oder mehreren Prozessen mit Vollduplex-Kapazität.
Direkte Kommunikation
Bei dieser Art der Interprozesskommunikation müssen sich die Prozesse gegenseitig explizit benennen. In diesem Verfahren wird zwischen jeweils zwei kommunizierenden Prozessen eine Verbindung hergestellt, und zwischen jedem Paar existiert nur eine einzige Verbindung.
Indirekte Kommunikation
Indirekte Kommunikation findet nur statt, wenn Prozesse ein gemeinsames Postfach nutzen. Jedes Prozesspaar kann mehrere Kommunikationsverbindungen nutzen, und eine einzelne Verbindung kann mit mehreren Prozessen kommunizieren. Die Verbindung kann bidirektional oder unidirektional sein.
Geteilte Erinnerung
Gemeinsamer Speicher ist ein Speicherbereich, der von zwei oder mehr Prozessen gemeinsam genutzt wird. Dieser Speicher muss vor gleichzeitigem Zugriff geschützt werden, indem die ihn nutzenden Prozesse synchronisiert werden.
FIFO
FIFO wird zur Kommunikation zwischen zwei unabhängigen Prozessen verwendet. Es handelt sich um ein Vollduplex-Verfahren, was bedeutet, dass sowohl der erste Prozess mit dem zweiten Prozess als auch umgekehrt kommunizieren kann.
Warum IPC?
Hier die Gründe für die Verwendung des Interprozesskommunikationsprotokolls zum Informationsaustausch:
- Es trägt dazu bei, die Modularität zu beschleunigen.
- Rechenbeschleunigung.
- Trennung von Privilegien.
- Bequemlichkeit.
- Es hilft Prozessen und dem Betriebssystem, miteinander zu kommunizieren und ihre Aktionen zu synchronisieren.
Im IPC verwendete Begriffe
Im Folgenden sind einige wichtige Begriffe aufgeführt, die im IPC verwendet werden:
Semaphores: Ein Semaphor ist ein Signalmechanismus. Diese Betriebssystemmethode erlaubt oder verbietet den Zugriff auf eine Ressource, je nachdem, wie sie konfiguriert ist.
Signals: Ein Signal ist eine Methode zur Kommunikation zwischen mehreren Prozessen mittels Signalisierung. Der Quellprozess sendet ein Signal, das durch eine Zahl erkannt wird, und der Zielprozess verarbeitet dieses Signal.
Lesevorschlag: Was ist Semaphore? Binär, Zähltypen mit Beispiel
Was ist wie FIFOS und was ist anders als FIFOS?
Die folgende Tabelle vergleicht gleichartige und ungleichartige FIFO-Systeme:
| Wie FIFOS | Im Gegensatz zu FIFOS |
|---|---|
| Es folgt dem FIFO-Prinzip. | Es verwendet eine Methode, um bestimmte dringende Nachrichten abzufangen, bevor sie die Hauptnachrichten erreichen. |
| FIFO existiert unabhängig vom Sende- und Empfangsprozess. | Immer einsatzbereit, daher besteht keine Notwendigkeit, es zu öffnen oder zu schließen. |
| Ermöglicht die Datenübertragung zwischen unabhängigen Prozessen. | Es gibt keine Synchronisationsprobleme zwischen Öffnen und Schließen. |

