Documente Academic
Documente Profesional
Documente Cultură
Lucrarea 3
Lucrarea 3
Consideraţii teoretice
Sistemele rulează pe tetele locale (LAN). O mare parte a comunicaţiei este datorată
cererilor de execuţie a operaţiilor la distanţă. Al treilea considerent se referă la erori (errors) şi
la disfuncţionalităţi (faults). Erorile se refera la alterarea conţinutului mesajelor în timpul
transmisiei sau la pierderea de pachete. Disfuncţionalităţile se referă la 'căderi' ale unor maşini
din reţea neputând fi recuperate doar prin intermediul protocolului.
3.1. Naming
Procesele nu pot sa comunice în lipsa unui mecanism de naming (denumire) care să
permită specificarea numelui celui cu care se doreşte comunicarea. În Amoeba numele se
referă la servicii. Obiectele din Amoeba sunt denumite folosind capabilităţile (capabilities).
Capabilităţile în cadrul Amoeba se împart în două părţi. Prima specifica serviciul care
gestionează obiectul la care se referă capabilitatea, iar a doua parte specifică obiectul propriu-
zis împreună cu operaţiile pe care capabilitatea le permite proprietarului să le invoce (Fig.1).
Amoeba furnizează un serviciu care mapează denumiri de genul celor din Unix pe
capabilităţi (şi astfel şi pe porturi). Acest serviciu este denumit Directory Service. Numărul
de port trebuie mapat pe spaţiul de adrese de reţea pentru a desemna unul dintre procesele
server ce aparţin serviciului. Acest lucru se numeşte localizarea unui proces server.
Procesele client sau server au de asemenea un port adiţional unic (FLIP port) care
poate fi folosit pentru a localiza un proces client sau server. Există două tipuri de operaţii de
localizare: prima care mapează un port de serviciu pe un port FLIP şi o adresă de reţea, şi o a
doua care mapează un port FLIP pe o adresă de reţea. Primul tip este permis a se executa doar
la iniţierea unui nou message transaction.
3.2. Protocoale
Amoeba furnizează două niveluri de protocoale. Cel mai de jos furnizează servicii de
rate control, securitate pentru datagrame, dar ele nu sunt total sigure (Fast Local Internet
Protocol sau FLIP). Nivelul superior, numit transaction level, furnizează un serviciu de
operaţii la distanţă care este sigur. Interfaţa de deasupra acestui nivel constă în apelurile trans,
getrequest şi putreply.
3.3. Implementarea FLIP-ului
Amoeba foloseşte packet-switching-ul.
FLIP foloseşte mecanismul stop-and-wait la nivelul pachetelor: o datagramă mare este
fragmentată în pachete şi un fragment este transmis doar după ce a sosit confirmarea de
primire a pachetului precedent.
5. Exemplu: Mercury
3. Mersul lucrării