Inter Process Communication (IPC) v OS

Co je meziprocesová komunikace?

Meziprocesová komunikace (IPC) se používá pro výměnu dat mezi více vlákny v jednom nebo více procesech nebo programech. Procesy mohou běžet na jednom nebo více počítačích propojených sítí. Plná forma IPC je meziprocesová komunikace.

Jedná se o sadu programovacího rozhraní, které umožňuje programátorovi koordinovat aktivity mezi různými programovými procesy, které mohou běžet současně v operačním systému. To umožňuje konkrétnímu programu zpracovat mnoho požadavků uživatelů současně.

Vzhledem k tomu, že každý požadavek uživatele může mít za následek spuštění více procesů v operačním systému, může proces vyžadovat vzájemnou komunikaci. Každý přístup protokolu IPC má své výhody a omezení, takže není neobvyklé, že jeden program používá všechny metody IPC.

Přístupy pro meziprocesovou komunikaci

Zde je několik důležitých metod pro meziprocesovou komunikaci:

Přístupy pro meziprocesovou komunikaci
Meziprocesové komunikační přístupy

Trubky

Pipe se široce používá pro komunikaci mezi dvěma souvisejícími procesy. Jedná se o poloduplexní metodu, takže první proces komunikuje s druhým procesem. Aby však bylo dosaženo plného duplexu, je zapotřebí další potrubí.

Předávání zpráv

Je to mechanismus pro komunikaci a synchronizaci procesu. Pomocí předávání zpráv proces mezi sebou komunikuje, aniž by se uchyloval ke sdíleným proměnným.

Mechanismus IPC poskytuje dvě operace:

  • Odeslat (zprávu) - velikost zprávy pevná nebo proměnná
  • Přijato (zpráva)

Fronty zpráv

Fronta zpráv je propojený seznam zpráv uložených v jádro. Je identifikován identifikátorem fronty zpráv. Tato metoda nabízí komunikaci mezi jedním nebo více procesy s plně duplexní kapacitou.

přímá komunikace

V tomto typu meziprocesového komunikačního procesu by se měly navzájem explicitně jmenovat. V této metodě je vytvořeno spojení mezi jednou dvojicí komunikujících procesů a mezi každou dvojicí existuje pouze jedna vazba.

Nepřímá komunikace

Nepřímá komunikace navazuje jako pouze tehdy, když procesy sdílejí společnou poštovní schránku, každá dvojice procesů sdílí několik komunikačních linek. Odkaz může komunikovat s mnoha procesy. Spojení může být obousměrné nebo jednosměrné.

Sdílená paměť

Sdílená paměť je paměť sdílená mezi dvěma nebo více procesy, které jsou vytvořeny pomocí sdílené paměti mezi všemi procesy. Tento typ paměti vyžaduje, aby byla vzájemně chráněna synchronizací přístupu napříč všemi procesy.

FIFO

Komunikace mezi dvěma nesouvisejícími procesy. Jde o plně duplexní metodu, což znamená, že první proces může komunikovat s druhým procesem a může se stát i opak.

Proč IPC?

Zde jsou důvody pro použití meziprocesního komunikačního protokolu pro sdílení informací:

  • Pomáhá urychlit modularitu
  • Výpočetní
  • Oddělení výsad
  • Pohodlí
  • Pomáhá operačnímu systému komunikovat mezi sebou a synchronizovat jejich akce.

Termíny používané v IPC

Níže je uvedeno několik důležitých termínů používaných v IPC:

Semaphores: Semafor je technika signalizačního mechanismu. Tato metoda OS buď povolí, nebo zakáže přístup k prostředku, což závisí na tom, jak je nastaven.

Signals: Je to způsob komunikace mezi více procesy prostřednictvím signalizace. Zdrojový proces vyšle signál, který je rozpoznán číslem, a cílový proces jej zpracuje.

Doporučení ke čtení: - Co je to Semaphore? Binární, typy počítání s příkladem

Co je jako FIFOS a na rozdíl od FIFOS

Jako FIFOS Na rozdíl od FIFOS
Postupuje se metodou FIFO Metoda stahování konkrétních naléhavých zpráv dříve, než se dostanou na frontu
FIFO existuje nezávisle na procesech odesílání i příjmu. Vždy připraven, takže není třeba otevírat ani zavírat.
Umožňuje přenos dat mezi nesouvisejícími procesy. Nemá žádné problémy se synchronizací mezi otevřením a zavřením.

Shrnutí

  • Definice: Meziprocesová komunikace se používá pro výměnu dat mezi více vlákny v jednom nebo více procesech nebo programech.
  • Pipe se široce používá pro komunikaci mezi dvěma souvisejícími procesy.
  • Předávání zpráv je mechanismus pro komunikaci a synchronizaci procesu.
  • Fronta zpráv je propojený seznam zpráv uložených v jádře
  • Přímý proces je typ meziprocesového komunikačního procesu, který by se měl explicitně jmenovat.
  • Nepřímá komunikace navazuje jako pouze tehdy, když procesy sdílejí společnou poštovní schránku, každá dvojice procesů sdílí několik komunikačních linek.
  • Sdílená paměť je paměť sdílená mezi dvěma nebo více procesy, které jsou vytvořeny pomocí sdílené paměti mezi všemi procesy.
  • Metoda Inter Process Communication pomáhá urychlit modularitu.
  • Semafor je technika signalizačního mechanismu.
  • Signaling je způsob komunikace mezi více procesy prostřednictvím signalizace.
  • Stejně jako FIFO následuje metodu FIFO, zatímco na rozdíl od FIFO používá metodu k vytažení konkrétních naléhavých zpráv předtím, než se dostanou do popředí.

Shrňte tento příspěvek takto: