Međuprocesna komunikacija
Appearance
Međuprocesna komunikacija se u programiranju koristi za razmjenu poruka, dijeljenje resursa i sinhronizaciju različitih procesa unutar jednog računarskog sistema. Pod ovim terminom se najčešće podrazumijevaju semafori, redovi za poruke i dijeljena memorija, koji su proizvod razvojnog tima juniksa „System V release 4“ (UNIX SVR4) a danas postoje na većini modernih operativnih sistema, ali tu potpada i bilo koji vid komunikacije različitih procesa, poput signala, protočnih cijevi („pajpova“), zaključavanja datoteka radi sinhronizacije pristupa resursima, pa čak i lokalnog mrežnog interfejsa poput soketa juniksa BSD.
Glavne IPC postupci[uredi | uredi izvor]
Postupak | Kratak opis | Obezbeđuje (operativni sistemi ili druga okruženja) |
---|---|---|
Datoteke | Zapis koji se čuva na disku kojem može pristupiti po imenu bilo koji proces | Većina operativnih sistema |
Signali | Sistem poruka poslatih od jednog procesa drugome, obično se ne koristi za skladištenje informacija, već za slanje komandi. | Većina operativnih sistema; neki sistemi, poput Vindous NT podsistema, primenjuju signale samo u C bibliotekama i ne pružaju nikakvu podršku za njihovu upotrebu kao metod IPC-a. |
Soket | Tok podataka poslat preko mrežnog interfejsa, ili nekom drugom procesu na istom ili na drugom računaru | Većina operativnih sistema |
Red poruka | Anonimni tok podataka sličan kanalu, međutim podaci se čuvaju i preuzimaju u paketima. | Većina operativnih sistema |
Kanali | Dvosmerni tok podataka povezan preko standardnog ulaza i izlaza i čita se znak po znak. | Svi POSIKS sistemi, Vindous |
Naznačeni kanali | Tok koji se sprovodi kroz datoteku na fajl sistemu, umesto standardnog ulaza i izlaza. | Svi POSIKS sistemi, Vindous |
Semafori | Jednostavna struktura koja sinhronizuje niti ili procese koji deluju nad zajedničkim resursima. | Svi POSIKS sistemi, Vindous |
Deljena memorija | Pristup dat višestrukim procesima nad istom memorijom, omogućavajući sve da je menjaju i čitaju izmene izvršene od strane drugih procesa. | Svi POSIKS sistemi, Vindous |
Pprosleđivanje poruka (ništa se ne deli) | Slično redu poruka. | Koristi se u MPI paradigmi, Java RMI, CORBA, drugi |
Memorijski mapirana datoteka | Datoteka mapirana na RAM koja može biti izmenjena direktnom promenom memorijske adrese. | Svi POSIKS sistemi, Vindous |