Folyamatközi kommunikáció (IPC) az operációs rendszerben
Mi az a folyamatközi kommunikáció?
Folyamatközi kommunikáció (IPC) több szál közötti adatcserére szolgál egy vagy több folyamatban vagy programban. A folyamatok futhatnak egyetlen vagy több hálózaton keresztül csatlakoztatott számítógépen. Az IPC teljes formája a folyamatok közötti kommunikáció.
Ez egy olyan programozási felület, amely lehetővé teszi a programozó számára, hogy koordinálja a tevékenységeket a különböző programfolyamatok között, amelyek egyidejűleg futhatnak egy operációs rendszerben. Ez lehetővé teszi, hogy egy adott program egyszerre több felhasználói kérést kezeljen.
Mivel minden egyes felhasználói kérés több folyamatot eredményezhet az operációs rendszerben, előfordulhat, hogy a folyamatoknak kommunikálniuk kell egymással. Minden IPC protokoll-megközelítésnek megvan a maga előnye és korlátja, ezért nem szokatlan, hogy egyetlen program az összes IPC-módszert használja.
A folyamatok közötti kommunikáció megközelítései
Íme néhány fontos módszer a folyamatok közötti kommunikációhoz:
Pipes
A csövet széles körben használják két kapcsolódó folyamat közötti kommunikációra. Ez egy félduplex módszer, tehát az első folyamat kommunikál a második folyamattal. A full-duplex eléréséhez azonban egy másik csőre van szükség.
Üzenet átadása
Ez a folyamat kommunikációjának és szinkronizálásának mechanizmusa. Az üzenettovábbítást használva a folyamat kommunikál egymással anélkül, hogy megosztott változókat használna.
Az IPC mechanizmus két műveletet biztosít:
- Küldés (üzenet) – az üzenet mérete rögzített vagy változó
- Megérkezett (üzenet)
Üzenetsorok
Az üzenetsor a következőben tárolt üzenetek linkelt listája mag. Az üzenetsor azonosítója azonosítja. Ez a módszer egy vagy több teljes duplex kapacitású folyamat közötti kommunikációt kínál.
közvetlen Kommunikációs
Az ilyen típusú folyamatok közötti kommunikációs folyamatokban kifejezetten meg kell nevezni egymást. Ebben a módszerben egy kapcsolat jön létre egy pár kommunikáló folyamat között, és mindegyik pár között csak egy kapcsolat létezik.
Közvetett kommunikáció
A közvetett kommunikáció csak akkor jön létre, ha a folyamatok egy közös postafiókon osztoznak, minden folyamatpár több kommunikációs kapcsolatot oszt meg. Egy link sok folyamattal kommunikálhat. A link lehet kétirányú vagy egyirányú.
Megosztott memória
Az osztott memória két vagy több folyamat között megosztott memória, amely az összes folyamat között megosztott memóriával jön létre. Az ilyen típusú memóriákat meg kell védeni egymástól a hozzáférés szinkronizálásával az összes folyamat között.
FIFO
Kommunikáció két független folyamat között. Ez egy full-duplex módszer, ami azt jelenti, hogy az első folyamat kommunikálhat a második folyamattal, és ennek ellenkezője is megtörténhet.
Miért az IPC?
Íme, miért használja a folyamatok közötti kommunikációs protokollt információmegosztásra:
- Segít felgyorsítani a modularitást
- Computational
- Kiváltságok elkülönítése
- Kényelem
- Segíti az operációs rendszert, hogy kommunikáljon egymással és szinkronizálja tevékenységeiket.
Az IPC-ben használt kifejezések
Íme néhány fontos kifejezés, amelyet az IPC-ben használnak:
Semaphores: A szemafor egy jelzőmechanizmus-technika. Ez az operációs rendszer-módszer engedélyezi vagy letiltja az erőforráshoz való hozzáférést, ami a beállítás módjától függ.
Signals: Ez egy módszer több folyamat közötti kommunikációra jelzés útján. A forrásfolyamat jelet küld, amelyet szám alapján ismer fel, és a célfolyamat kezeli.
Olvasási javaslat: - Mi a Semaphore? Bináris, számláló típusok példával
Mi olyan, mint a FIFOS és a FIFOS ellentétben?
Mint a FIFOS | A FIFOS-szal ellentétben |
---|---|
A FIFO módszert követi | A konkrét sürgős üzenetek előhívásának módszere, mielőtt azok elérnék a frontot |
A FIFO a küldő és fogadó folyamatoktól függetlenül létezik. | Mindig készen áll, így nem kell kinyitni vagy bezárni. |
Lehetővé teszi az adatátvitelt a független folyamatok között. | Nincsenek szinkronizálási problémák a nyitás és bezárás között. |
Összegzésként
- Meghatározás: A folyamatok közötti kommunikációt több szál közötti adatcserére használják egy vagy több folyamatban vagy programban.
- A csövet széles körben használják két kapcsolódó folyamat közötti kommunikációra.
- Az üzenettovábbítás a folyamat kommunikációjának és szinkronizálásának mechanizmusa.
- Az üzenetsor a kernelen belül tárolt üzenetek linkelt listája
- A közvetlen folyamat a folyamatok közötti kommunikációs folyamat egy fajtája, kifejezetten meg kell nevezni egymást.
- A közvetett kommunikáció csak akkor jön létre, ha a folyamatok egy közös postafiókon osztoznak, minden folyamatpár több kommunikációs kapcsolatot oszt meg.
- Az osztott memória két vagy több folyamat között megosztott memória, amely az összes folyamat között megosztott memóriával jön létre.
- A folyamatközi kommunikációs módszer segít felgyorsítani a modularitást.
- A szemafor egy jelzőmechanizmus-technika.
- SignalAz ing egy módszer több folyamat közötti kommunikációra jelzés útján.
- A FIFO-hoz hasonlóan a FIFO-módszert követi, míg a FIFO-val ellentétben a módszert használja bizonyos sürgős üzenetek előhívására, mielőtt azok elérnék a frontot.