Inter Process Communication (IPC) im Betriebssystem

Was ist Interprozesskommunikation?

Interprozesskommunikation (IPC) wird für den Datenaustausch zwischen mehreren Threads in einem oder mehreren Prozessen oder Programmen verwendet. Die Prozesse können auf einzelnen oder mehreren über ein Netzwerk verbundenen Computern ausgeführt werden. Die vollständige Form von IPC ist Interprozesskommunikation.

Dabei handelt es sich um eine Reihe von Programmierschnittstellen, die es einem Programmierer ermöglichen, Aktivitäten zwischen verschiedenen Programmprozessen zu koordinieren, die gleichzeitig in einem Programm ausgeführt werden können operatungssystem. Dadurch kann ein bestimmtes Programm viele Benutzeranfragen gleichzeitig bearbeiten.

Da jede einzelne Benutzeranfrage dazu führen kann, dass mehrere Prozesse im ausgeführt werden operating-System kann es erforderlich sein, dass der Prozess miteinander kommuniziert. Jeder IPC-Protokollansatz hat seine eigenen Vorteile und Einschränkungen, daher ist es nicht ungewöhnlich, dass ein einzelnes Programm alle IPC-Methoden verwendet.

Ansätze für die Kommunikation zwischen Prozessen

Hier sind einige wichtige Methoden für die Interprozesskommunikation:

Ansätze für die Kommunikation zwischen Prozessen
Ansätze zur prozessübergreifenden Kommunikation

Rohre

Pipe wird häufig für die Kommunikation zwischen zwei verwandten Prozessen verwendet. Das ist ein Halbduplex Methode, sodass der erste Prozess mit dem zweiten Prozess kommuniziert. Um jedoch ein Full-Du zu erreichenplex, es wird ein weiteres Rohr benötigt.

Nachrichtenübermittlung

Es ist ein Mechanismus für einen Prozess zur Kommunikation und syncchronisieren. Mithilfe der Nachrichtenübermittlung kommuniziert der Prozess untereinander, ohne auf gemeinsam genutzte Variablen zurückzugreifen.

Der IPC-Mechanismus bietet zwei operanationen:

  • Senden (Nachricht) – Nachrichtengröße fest oder variabel
  • Empfangen (Nachricht)

Nachrichtenwarteschlangen

Eine Nachrichtenwarteschlange ist eine verknüpfte Liste von Nachrichten, die in der Nachrichtenwarteschlange gespeichert sind Kern. Sie wird durch eine Nachrichtenwarteschlangen-ID identifiziert. Diese Methode ermöglicht die Kommunikation zwischen einzelnen oder mehreren Prozessen mit Full-Duplex Kapazität.

Direkte Kommunikation

Bei dieser Art der Kommunikation zwischen Prozessen sollten sich gegenseitig explizite Namen nennen. Bei dieser Methode wird eine Verbindung zwischen einem Paar kommunizierender Prozesse hergestellt, und zwischen jedem Paar besteht nur eine Verbindung.

Indirekte Kommunikation

Indirekte Kommunikation entsteht nur dann, wenn Prozesse einen gemeinsamen Nenner haben mailbox Jedes Prozesspaar teilt sich mehrere Kommunikationsverbindungen. Ein Link kann mit vielen Prozessen kommunizieren. Die Verbindung kann bidirektional oder unidirektional sein.

Geteilte Erinnerung

Shared Memory ist ein von zwei oder mehr Prozessen gemeinsam genutzter Speicher, der mithilfe des Shared Memory aller Prozesse eingerichtet wird. Diese Art von Speicher muss voreinander geschützt werden syncDer Zugriff über alle Prozesse hinweg wird chronisiert.

FIFO

Kommunikation zwischen zwei unabhängigen Prozessen. Es ist ein Vollduplex Methode, was bedeutet, dass der erste Prozess mit dem zweiten Prozess kommunizieren kann, aber auch das Gegenteil passieren kann.

Warum IPC?

Hier sind die Gründe für die Verwendung des Interprozess-Kommunikationsprotokolls für den Informationsaustausch:

  • Es hilft, die Modularität zu beschleunigen
  • Computational
  • Privilegientrennung
  • Verbraucherfreundlichkeit
  • Hilft operating-System miteinander zu kommunizieren und syncihre Handlungen chronisieren.

Im IPC verwendete Begriffe

Die folgendenwing sind einige wichtige Begriffe, die im IPC verwendet werden:

Semaphore: Ein Semaphor ist eine Signalmechanismustechnik. Diese Betriebssystemmethode erlaubt oder verbietet den Zugriff auf die Ressource, je nachdem, wie sie eingerichtet ist.

Signale: Es handelt sich um eine Methode zur Kommunikation zwischen mehreren Prozessen durch Signalisierung. Der Quellprozess sendet ein Signal, das anhand der Nummer erkannt wird, und der Zielprozess verarbeitet es.

Lesevorschlag:- Was ist Semaphor? Binäre, zählende Typen mit Beispiel

Was ist wie FIFOS und was ist anders als FIFOS?

Wie FIFOS Im Gegensatz zu FIFOS
Es folgt der FIFO-Methode Methode, um bestimmte dringende Nachrichten abzurufen, bevor sie an die Front gelangen
FIFO existiert unabhängig von Sende- und Empfangsprozessen. Immer einsatzbereit, kein Öffnen oder Schließen erforderlich.
Ermöglicht die Datenübertragung zwischen unabhängigen Prozessen. Habe keine syncProbleme bei der Harmonisierung zwischen Open und Close.

Zusammenfassung

  • Definition: Die Interprozesskommunikation wird für den Datenaustausch zwischen mehreren Threads in einem oder mehreren Prozessen oder Programmen verwendet.
  • Pipe wird häufig für die Kommunikation zwischen zwei verwandten Prozessen verwendet.
  • Message Passing ist ein Mechanismus für die Kommunikation und Kommunikation eines Prozesses syncchronisieren.
  • Eine Nachrichtenwarteschlange ist eine verknüpfte Liste von Nachrichten, die im Kernel gespeichert sind
  • Der direkte Prozess ist eine Art prozessübergreifender Kommunikationsprozess, der sich gegenseitig explizit benennen sollte.
  • Indirekte Kommunikation entsteht nur dann, wenn Prozesse einen gemeinsamen Nenner haben mailbox Jedes Prozesspaar teilt sich mehrere Kommunikationsverbindungen.
  • Shared Memory ist ein von zwei oder mehr Prozessen gemeinsam genutzter Speicher, der mithilfe des Shared Memory aller Prozesse eingerichtet wird.
  • Die Methode der Interprozesskommunikation hilft, die Modularität zu beschleunigen.
  • Ein Semaphor ist eine Signalmechanismustechnik.
  • Signalisierung ist eine Methode zur Kommunikation zwischen mehreren Prozessen durch Signalisierung.
  • Wie FIFO folgt die FIFO-Methode, während im Gegensatz zu FIFO die Methode verwendet wird, um bestimmte dringende Nachrichten abzurufen, bevor sie an die Front gelangen.