Úvod
Základné
východiská IPC
Vzhľadom k tomu, že sieťové programovanie zahrňuje interakciu medzi dvoma
alebo viacerými procesmi, musíme veľmi dobre skúmať metódy, ktoré sú k
dispozícii pre vzájomnú komunikáciu medzi rôznymi procesmi. Pre tradičným
programovaní môžu medzi sebou v rámci jedného procesu komunikovať rôzne
moduly, ktoré používajú globálne premenné, volania funkcií, argumenty a
návratové hodnoty, rôzne predávané medzi funkciami a tými, kto ich volá.
Pokiaľ sa však zaoberáme oddelenými procesmi, z nich každý je spustený od
svojej vlastnej adresy, musíme uvážiť mnoho ďalších faktorov. Keď boli
pred dvadsiatimi rokmi vyvinuté multiprogramové operačné systémy
zdieľaného času, patrilo k jednému cieľu ich konštruktérov zaistiť, aby sa
oddelené procesy vzájomne nerušili. Pokiaľ spolu majú dva procesy
komunikovať, musia s tým obidve súhlasiť a operačný systém musí ponúkať
určité predpoklady pre multiprocesorovu komunikáciu – IPC (Interprocess
Communication).
//---
Napriek tomu, že určitá podoba IPC je potrebná i pre sieťové programovanie,
nie je IPC v žiadnom prípade obmedzené len na procesy spustené na rôznych
systémoch, ktoré spolu komunikujú po nejakej sieti. Existuje mnoho
príkladov, kedy IPC je (a malo by byť) použité medzi procesmi na jednom
počítačovom systéme.
//---
Diagram dvoch procesov používajúcich IPC na jednom počítači:
Tento obrázok ukazuje, ako informácia medzi dvoma procesmi prechádza
jadrom. Napriek tomu, že táto situácia je typická, nie je pre IPC úplne
nutná.
// Úvod koniec
Nahor
|