Comunicatia Intre Procese (IPC)

Extras din referat Cum descarc?

1.1. Mecanismul IPC
Comunicatia intre procese este un mecanism prin care diferite procese interactioneaza si comunica date intre ele. Aplicatiile, care folosesc IPC pentru interactiune pot fi impartite in doua categorii: aplicatii server si aplicatii client. Aplicatia server asigura aplicatiei client serviciile care i-au fost cerute. Exista mai multe mecanisme IPC care sunt suportate de WIN32 SDK. Pipe-urile sunt unele din aceste mecanisme. Pipe-urile permit transferul de date intre procese intr-o maniera FIFO. Aplicatia care creeeaza pipe-ul se numeste aplicatie pipe server iar, aplicatia care se conecteaza la ea se numeste aplicatie pipe client.
FIFO inseamna ca procesele citesc datele in aceeasi ordine in care a fost scrisa. Sistemul se asigura ca datele nu se pierd la mijloc (unul dintre procese iese prematur). Odata citita din pipe data este stearsa din pipe, eliberand astfel spatiu pentru procesul care scrie in pipe.
Exista doua tipuri de pipe: pipe-uri nenumite (anonime) si pipe-uri numite.

Un pipe nenumit este o conducta de date care transfera datele intre procesele inrudite (exemplu: intre procesul tata si fiu). Nu suporta comunicatia in retea si sunt intotdeauna orientate byte-stream.
Un pipe numit asigura comunicatia intr-un sens sau in ambele intre pipe server si pipe client. Poate fi folosita sa interactioneze intre procese nu neaparat inrudite pe masini diferite, in retea. [3]
Pipe-ul numit mai este intalnit si sub denumirea de pipe FIFO. Numele unui pipe numit este de fapt un fisier in sistemul de fisiere. Pipe-urile numite sunt vizibile cu comanda ls ca orice alt fisier cu cateva diferente:
% ls -l fifo1
prw-r--r-- 1 mconstan e214 0 May 22 20:15 fifo1|

Litera p din stanga indica faptul ca fifo1 este un pipe, deasemenea caracterul | din coloana dreapta.
Pe sistemele Linux mai vechi pipe-urile numite se creau prin comanda mknod. Pe sistemele moderne acest lucru se face prin comanda mkfifo ce primeste unul sau mai multe nume de fisiere ca argumente si creeaza pipe-uri cu aceste nume. De exemplu pentru a crea un pipe numit cu numele pipe1 se da comanda:
mkfifo pipe

Pentru a evidentia cum lucreaza un pipe numit se executa in console separate comenzile :
ls -l > pipe
cat < pipe

Rezultatul primei comenzi se va afisa in cea de-a doua consola. [4]


Fisiere in arhiva (1):

  • Comunicatia Intre Procese (IPC).doc

Imagini din acest proiect Cum descarc?

Descarca gratuit aceast referat (0 €)

Completezi numele, prenumele și adresa de email. După aceea primesti prin email link-ul pentru descărcare. Completeaza o adresă de email validă.

1. Numele, Prenumele si adresa de email:

Daca nu gasesti email-ul, verifica si directoarele spam, junk sau toate mesajele.



Hopa sus!