Međuprocesna komunikacija (IPC) u OS-u
Što je međuprocesna komunikacija?
Međuprocesna komunikacija (IPC) koristi se za razmjenu podataka između više niti u jednom ili više procesa ili programa. Procesi se mogu izvoditi na jednom ili više računala povezanih mrežom. Potpuni oblik IPC-a je međuprocesna komunikacija.
To je skup programskog sučelja koje programeru omogućuje koordinaciju aktivnosti između različitih programskih procesa koji se mogu izvoditi istovremeno u operativnom sustavu. Ovo omogućuje određenom programu da istovremeno obrađuje mnogo korisničkih zahtjeva.
Budući da svaki pojedinačni zahtjev korisnika može rezultirati pokretanjem više procesa u operativnom sustavu, proces može zahtijevati međusobnu komunikaciju. Svaki pristup IPC protokolu ima svoju prednost i ograničenje, tako da nije neobično da jedan program koristi sve IPC metode.
Pristupi međuprocesnoj komunikaciji
Evo nekoliko važnih metoda za međuprocesnu komunikaciju:
Cijevi
Cijev se široko koristi za komunikaciju između dva povezana procesa. Ovo je poludupleksna metoda, tako da prvi proces komunicira s drugim procesom. Međutim, kako bi se postigao full-duplex, potrebna je još jedna cijev.
Prijenos poruka
To je mehanizam za komunikaciju i sinkronizaciju procesa. Koristeći prosljeđivanje poruka, proces komunicira jedan s drugim bez pribjegavanja zajedničkim varijablama.
IPC mehanizam omogućuje dvije operacije:
- Pošalji (poruka) - veličina poruke fiksna ili promjenjiva
- Primljeno (poruka)
Redovi poruka
Red poruka je povezani popis poruka pohranjenih unutar zrno. Identificira se identifikatorom reda poruka. Ova metoda nudi komunikaciju između jednog ili više procesa s full-duplex kapacitetom.
Izravna komunikacija
U ovoj vrsti međuprocesnog komunikacijskog procesa, trebali bi se izričito imenovati. U ovoj metodi veza se uspostavlja između jednog para procesa koji komuniciraju, a između svakog para postoji samo jedna veza.
Neizravna komunikacija
Neizravna komunikacija uspostavlja se samo kada procesi dijele zajednički poštanski sandučić, svaki par procesa dijeli nekoliko komunikacijskih veza. Veza može komunicirati s mnogim procesima. Veza može biti dvosmjerna ili jednosmjerna.
Zajedničko sjećanje
Zajednička memorija je memorija koju dijele dva ili više procesa koji su uspostavljeni korištenjem zajedničke memorije između svih procesa. Ova vrsta memorije zahtijeva međusobnu zaštitu sinkroniziranjem pristupa svim procesima.
FIFO
Komunikacija između dva nepovezana procesa. To je full-duplex metoda, što znači da prvi proces može komunicirati s drugim procesom, a može se dogoditi i suprotno.
Zašto IPC?
Ovdje su razlozi za korištenje međuprocesnog komunikacijskog protokola za dijeljenje informacija:
- Pomaže ubrzati modularnost
- Computational
- Razdvajanje privilegija
- Pogodnost
- Pomaže operativnom sustavu da međusobno komunicira i sinkronizira svoje radnje.
Izrazi koji se koriste u IPC-u
Slijedi nekoliko važnih pojmova koji se koriste u IPC-u:
Semaphores: Semafor je tehnika signalnog mehanizma. Ova OS metoda dopušta ili ne dopušta pristup resursu, što ovisi o tome kako je postavljen.
Signals: To je metoda za komunikaciju između više procesa putem signalizacije. Izvorni proces će poslati signal koji se prepoznaje po broju, a odredišni proces će ga obraditi.
Prijedlozi za čitanje: - Što je Semaphore? Binarno, brojanje vrsta s primjerom
Što je kao FIFOS i za razliku od FIFOS-a
Kao FIFOS | Za razliku od FIFOS-a |
---|---|
Slijedi FIFO metodu | Metoda za izvlačenje određenih hitnih poruka prije nego što stignu na početak |
FIFO postoji neovisno o procesima slanja i primanja. | Uvijek spreman, tako da ne morate otvarati ili zatvarati. |
Omogućuje prijenos podataka između nepovezanih procesa. | Nema problema sa sinkronizacijom između otvaranja i zatvaranja. |
Rezime
- Definicija: Međuprocesna komunikacija koristi se za razmjenu podataka između više niti u jednom ili više procesa ili programa.
- Cijev se široko koristi za komunikaciju između dva povezana procesa.
- Prijenos poruka je mehanizam za komunikaciju i sinkronizaciju procesa.
- Red poruka je povezana lista poruka pohranjenih unutar kernela
- Izravni proces je vrsta međuprocesnog komunikacijskog procesa, koji se međusobno treba izričito imenovati.
- Neizravna komunikacija uspostavlja se samo kada procesi dijele zajednički poštanski sandučić, svaki par procesa dijeli nekoliko komunikacijskih veza.
- Zajednička memorija je memorija koju dijele dva ili više procesa koji su uspostavljeni korištenjem zajedničke memorije između svih procesa.
- Metoda međuprocesne komunikacije pomaže ubrzati modularnost.
- Semafor je tehnika signalnog mehanizma.
- Signaling je metoda za komunikaciju između više procesa putem signalizacije.
- Kao i FIFO, slijedi FIFO metodu, dok za razliku od FIFO koristi metodu za izvlačenje određenih hitnih poruka prije nego što stignu na početak.