Sunteți pe pagina 1din 4

LUCRAREA 2

Comunicarea in cadrul sistemelor distribuite (I)

1. Consideraţii teoretice

1. Natura comunicaţiei în cadrul sistemelor distribuite

În cadrul sistemelor distribuite, accentul se pune pe performanţă. Exemplele din


lucrarea de faţă se vor referi in special la sistemul de operare distribuit Amoeba.

1.1. Structura interacţiunii dintre procese


Sistemele şi aplicaţiile software au o structură modulară şi distribuită pe nivele, ca în
Fig. 1. Sistemul software ocupă de obicei nivelul cel mai scăzut în timp ce aplicaţia nivelul
cel mai ridicat. În cadrul sistemelor distribuite o aplicaţie poate fi distribuită pe un număr de
procesoare prin spargerea ei în bucăţi care vor rula pe acele procesoare, aceste bucăţi
numindu-se procese.

Fig. 1. Structura sistemelor şi aplicaţiilor software

Există două tipuri de interfeţe între procese: interfeţe între procesele aparţinând
nivelelor diferite şi interfeţe între procesele care aparţin aceluiaşi nivel.
În cele mai multe interfeţe inter-nivel se poate diferenţia un nivel mai ridicat care este
considerat activ şi un nivel mai scăzut care se considera pasiv. Nivelul mai scăzut
reacţionează la comenzile nivelului ridicat. Interfaţa poate fi privită ca una procedurală între
nivelul mai ridicat pe post de apelant şi nivelul mai scăzut pe post de executor. Este de
asemenea uzual ca un nivel să ofere servicii nivelelor superioare.
Sistemele distribuite timpurii au fost structurate pornind de la punctul de vedere că o
interfaţă de reţea reprezintă un dispozitiv de I/E şi poate fi structurată ca o I/E. Acest punct de
vedere a condus la modelul 'fişier' pentru operaţiile de I/E care folosesc reţeaua. Ideea este că
o conexiune este deschisa, apoi se citeşte sau se scrie ceva, după care conexiunea se închide.
Astăzi, cea mai simplă interfaţă de tip procedură constă dintr-un mesaj de cerere
(request) expediat de procesul client către un proces server, urmat de un mesaj de răspuns
(reply).
Comunicaţia intra-nivel (între modulele care se situează pe acelaşi nivel) este
dependentă de aplicaţie. Sender-ul trebuie sa fie înştiinţat despre primirea corectă a mesajului.

1.2. Mărimea datelor transferate


În mod tradiţional, prelucrarea datelor se referă la procesarea secvenţială a unor fişiere
foarte mari. Ulterior, marile fişiere au făcut locul bazelor de date, care oferă facilităţi
îmbunătăţite de actualizare şi modificare a datelor pe care le conţin.
Trebuie proiectate protocoale care să lucreze pe nivelul transport astfel încât să
permită atât transferul unor entităţi mari cât şi transferul unor entităţi mici. Sunt necesare două
feluri de protocoale: unul pentru transportul entităţilor mici şi cu o întârziere minimă şi unul
pentru transportul entităţilor mari care să aibă o eficienţă maximă.
Există două clase principale pentru mecanismele standard de transport: orientate spre
conexiune (connection-oriented) pentru transferul entităţilor mari, şi fără conexiune
(connectionless) pentru transferul entităţilor mici. Totuşi în unele sisteme distribuite se
foloseşte un singur gen de mecanism pentru transport.

1.3. Modele de comunicaţie


Packet switching, message switching şi circuit switching
În toate reţelele datele se transmit prin intermediul pachetelor.
În reţelele packet-switched, serverul trebuie să furnizeze reţelei o serie de pachete,
care sunt transmise către destinatar în mod independent de alte pachete. Receiver-ul primeşte
pachetele separat şi nu neapărat în ordinea transmisiei.
În reţelele message-switched, serverul furnizează reţelei un mesaj logic, care este
transmis către destinatar sau ca o unitate sau în bucăţi, care sunt reasamblate în fiecare nod
intermediar înainte ca mesajul sa fie trimis mai departe.
În reţelele circuit-switched înainte de a transmite datele se stabileşte o conexiune.
Protocolul de comunicaţie optimal presupune minimizarea întârzierii end-to-end (adică
reţele packet-switched pentru cantităţi mici de date şi circuit-switched pentru cantităţi mari).
Reţelele message-switched nu lucrează optimal nici pentru date mari nici pentru date mici.
Sesiuni
Sesiunea reprezintă asocierea structurată adecvat între procesele care comunică.
Principalul punct de discuţie în acest domeniu îl constituie acordarea de nume (namimg).
Pentru a comunica cu ceva, cel care doreşte acest lucru trebuie să poată să spună sistemului
cine este acel ceva.
În sistemele distribuite numele se referă la servicii, care sunt entităţi abstracte care
răspund la cereri de un anumit tip. O sesiune se lansează dând numele unui serviciu, selectând
un proces server şi stabilind o comunicaţie cu el. Pentru a verifica autenticitatea serverului se
foloseşte un mecanism de autentificare. Procedura de autentificare constă în stabilirea unei
'chei pentru sesiune' (session key) cunoscută doar celor două procese care comunică şi
utilizată pentru criptarea datelor.
Pentru sistemele distribuite care folosesc protocoale pentru a executa operaţii la
distanţă (remote operation protocols), fiecare operaţie la distanţă poate fi considerată o
sesiune.
Protocoale blocante şi neblocante
Pentru sender-ul care utilizează primitive neblocante lucrurile decurg astfel: transmite
mesajul şi continuă să lucreze în timpul cât sistemul se ocupa de transmiterea mesajului.
Pentru receiver lucrurile sunt mai complicate.
În sistemele cu comunicaţie blocantă lucrurile decurg mult mai simplu: un proces care
apelează un receiver va fi blocat până când un mesaj va fi disponibil pentru a fi recepţionat. În
aceste sisteme un proces presupune un spaţiu de adrese şi unul sau mai multe fluxuri de
control (threads of control). Fiecare thread are propriul său contor de instrucţiuni, regiştri
generali şi stivă, dar toate partajează acelaşi spaţiu de adrese.
Fie următorul exemplu: un file server recepţionează cereri pentru citire sau scriere de
date de la mai mulţi clienţi. Dacă există mai mulţi clienţi simultan este necesar a suprapune
execuţiile cererilor clienţilor. În sistemele cu apeluri neblocante, acest lucru se realizează
astfel încât file server-ul să poată lucra simultan la deservirea cererilor. El va deveni ghidat de
evenimente: după ce depune cererea în coada relativă la disc el va cerceta coada de
evenimente unde poate găsi alte cereri. În sistemele cu apeluri blocante şi thread-uri, fiecare
cerere ce apare este deservită de un alt thread. Astfel starea cererii care este deservită este
memorată simplu în stiva asociată thread-ului.

2. Standarde de comunicaţie

Toate comunicaţiile în cadrul sistemelor distribuite se bazează pe transmiterea de


mesaje. Organizaţia Internaţională pentru Standardizare - ISO, a dezvoltat un model de
referinţă. Acest model se numeşte modelul sistemului deschis , ISO OSI sau uneori numai
OSI. Un sistem deschis este acela care este pregătit să comunice cu orice alt sistem utilizând
reguli standard ce guvernează formatul, conţinutul şi semnificaţia mesajelor emise sau
recepţionate. Aceste reguli sunt formalizate în ceea ce numim protocoale.
În cadrul modelului OSI comunicaţia este împărţită în şapte nivele (Fig. 2). Fiecare
nivel oferă o interfaţă pentru nivelul aflat deasupra sa. Când procesul A de pe maşina 1
doreşte să comunice cu procesul B de pe maşina 2, el construieşte un mesaj şi transmite
mesajul nivelului aplicaţie de pe maşina sa. Nivelul aplicaţie va adăuga un antet (header) în
faţa mesajului şi va transmite mai departe mesajul de-a lungul interfeţei nivelelor 6/7 către
nivelul prezentare. Nivelul prezentare la rândul său va adăuga propriul header şi după aceea
va trimite mesajul nivelului sesiune şi aşa mai departe. Unele nivele mai adaugă pe lângă
header şi o încheiere (trailer) la sfârşit. Când mesajul atinge ultimul nivel de jos, nivelul fizic,
acesta îl transmite efectiv.
Când mesajul ajunge la maşina 2, el urmează un drum invers de la nivelul fizic către
cel aplicaţie. Fiecare nivel prin care trece examinează porţiunea din mesaj (header sau trailer)
care se referă la el şi care a fost înscrisă anterior de nivelul asociat lui de pe maşina 1.
Informaţiile conţinute de header-ul nivelului n sunt folosite în cadrul protocolului pentru
nivelul n.

Fig. 2. Modelul ISO OSI

Protocoalele ce se referă la nivelul fizic se ocupă cu standardizarea interfeţelor


electrice, mecanice şi de semnale. Nivelul legăturii de date execută o grupare a biţilor în
unităţi, numite cadre şi verifică dacă fiecare cadru a fost recepţionat corect. . În cazul unei
reţele de arie largă WAN, pentru ca un mesaj să ajungă de la cel ce îl expediază la destinatar
el trebuie să treacă prin multe puncte de conectare a reţelelor care compun reţeaua mare
WAN. Problema care se pune este de a alege o cale optimă între cele două puncte, această
problemă fiind cunoscută sub numele de rutare. Rezolvarea acestei probleme este
îndeletnicirea principală a nivelului reţea. După ce recepţionează un mesaj de la nivelul
sesiune, nivelul transport îl împarte în bucăţi suficient de mici ca să intre într-un singur
pachet, căruia îi asignează un număr de secvenţă şi apoi le transmite. Nivelul sesiune este de
fapt o versiune lărgită a nivelului transport. El furnizează controale ale dialogului, ţine
evidenţa părţilor care au făcut obiectul transmisiei sau recepţiei şi oferă facilităţi de
sincronizare. Nivelul prezentare se ocupa cu semnificaţia biţilor, existând posibilităţi de a
defini înregistrări conţinând câmpuri. Nivelul aplicaţie constă dintr-o colecţie de diverse
protocoale pentru activităţi curente (postă electronică, transferurile de fişiere, conectările la
reţele ca şi terminal aflat la distanţă).

3. Mersul lucrării

Se vor prezenta aspectele teoretice descrise în lucrare.


Se va răspunde la întrebări:
- Sa se pună în evidenţă diferenţele dintre mecanismele de packet switching,
message switching şi circuit switching.
- Discutaţi diferenţele dintre protocoalele blocante şi cele neblocante.
- Ce înţelegeţi prin noţiunea de thread.

S-ar putea să vă placă și

  • Curs 7
    Curs 7
    Document46 pagini
    Curs 7
    torjocf
    Încă nu există evaluări
  • Lucrarea 12
    Lucrarea 12
    Document1 pagină
    Lucrarea 12
    torjocf
    Încă nu există evaluări
  • Subiecte Examen Asdn 2-1
    Subiecte Examen Asdn 2-1
    Document6 pagini
    Subiecte Examen Asdn 2-1
    torjocf
    Încă nu există evaluări
  • Lucrarea 10
    Lucrarea 10
    Document4 pagini
    Lucrarea 10
    torjocf
    Încă nu există evaluări
  • Lucrarea 09
    Lucrarea 09
    Document3 pagini
    Lucrarea 09
    torjocf
    Încă nu există evaluări
  • Calculatorul
    Calculatorul
    Document10 pagini
    Calculatorul
    torjocf
    Încă nu există evaluări
  • Lucrarea 11
    Lucrarea 11
    Document1 pagină
    Lucrarea 11
    torjocf
    Încă nu există evaluări
  • Lucrarea 12
    Lucrarea 12
    Document1 pagină
    Lucrarea 12
    torjocf
    Încă nu există evaluări
  • Lucrarea 11
    Lucrarea 11
    Document1 pagină
    Lucrarea 11
    torjocf
    Încă nu există evaluări
  • Lucrarea 3
    Lucrarea 3
    Document3 pagini
    Lucrarea 3
    torjocf
    Încă nu există evaluări
  • Lucrarea 09
    Lucrarea 09
    Document3 pagini
    Lucrarea 09
    torjocf
    Încă nu există evaluări
  • Lucrarea 2
    Lucrarea 2
    Document4 pagini
    Lucrarea 2
    torjocf
    Încă nu există evaluări
  • Lucrarea 10
    Lucrarea 10
    Document4 pagini
    Lucrarea 10
    torjocf
    Încă nu există evaluări
  • PCIII Liste Cozi Stive 97 2003
    PCIII Liste Cozi Stive 97 2003
    Document22 pagini
    PCIII Liste Cozi Stive 97 2003
    torjocf
    Încă nu există evaluări
  • Lucrarea 3
    Lucrarea 3
    Document3 pagini
    Lucrarea 3
    torjocf
    Încă nu există evaluări
  • Lucrarea 1
    Lucrarea 1
    Document3 pagini
    Lucrarea 1
    torjocf
    Încă nu există evaluări
  • 11BDI
    11BDI
    Document35 pagini
    11BDI
    torjocf
    Încă nu există evaluări
  • Test de Evaluare Pba
    Test de Evaluare Pba
    Document2 pagini
    Test de Evaluare Pba
    torjocf
    Încă nu există evaluări
  • Curs 5
    Curs 5
    Document35 pagini
    Curs 5
    torjocf
    Încă nu există evaluări
  • Laborator PCIII
    Laborator PCIII
    Document90 pagini
    Laborator PCIII
    OviDiu
    Încă nu există evaluări
  • Fituica So2
    Fituica So2
    Document2 pagini
    Fituica So2
    torjocf
    Încă nu există evaluări
  • Lucrarea 1
    Lucrarea 1
    Document3 pagini
    Lucrarea 1
    torjocf
    Încă nu există evaluări
  • Lucrarea 4
    Lucrarea 4
    Document3 pagini
    Lucrarea 4
    torjocf
    Încă nu există evaluări
  • Lucrarea 5
    Lucrarea 5
    Document3 pagini
    Lucrarea 5
    torjocf
    Încă nu există evaluări
  • Curs 6 - 7
    Curs 6 - 7
    Document42 pagini
    Curs 6 - 7
    torjocf
    Încă nu există evaluări
  • Curs 4
    Curs 4
    Document41 pagini
    Curs 4
    torjocf
    Încă nu există evaluări
  • Curs 7
    Curs 7
    Document46 pagini
    Curs 7
    torjocf
    Încă nu există evaluări
  • Curs 8 - 9
    Curs 8 - 9
    Document58 pagini
    Curs 8 - 9
    torjocf
    Încă nu există evaluări
  • 07BDI
    07BDI
    Document47 pagini
    07BDI
    torjocf
    Încă nu există evaluări