Sunteți pe pagina 1din 2

Retele de calculatoare 1 CURS 11

NIVELUL DE APLICATIE
-este ultimul in care utilizatorul lucreaza efectiv. Aplicatia isi creeaza niste entitati si beneficiaza de serviciile stivei de
la acest nivel;utilizatorului ii este ascunsa arhit. de sist distribuit.
Despre fisiere, posta, lucrul la distanta, terminale virtuale, serviciila distanta.
Acest nivel are leg cu realitatea. Entit.de la nivelul de aplicatie cumunica intre ele si faptul ca comunica local sau la
distanta este ascuns.Aceasta activ este ascunsa de anumite servicii pe care acest nivel le ascunde. Aceste servicii pot
aparea cind ptr o aplicatie mai multe entitati formeaza un complex ce se ocupa cu o anumita pb. Se formeaza o
asociatie de entitati. Aceasta asoc. de entitati are viata efemera cit timp pb. nu este rezolvata. Dupa ce apare o alta pb
se formeaza alta asociatie. Gestiunea unei asociatii se face de niste module care stab regulile de comunicare si le
respecta prin protocolul intre entitatile unei asociatii. Aceste module se cheama ACSE (Association Control Service
Element). Fiecare aplicatie a utilizatorului va trebui sa fie legata la astfel de module , ce ii ofera posib de a crea asoc ,
local sau la distanta. Deasemenea in afara operatiunilor banale de transfer cu care se ocupa ACSE mai sunt si oper de
gestiune specifice dialogului pentru entit la distanta. Pentru acest tip de servicii avem module CCR (Comitement
Concurency Recovery ). Sunt un fel de supraveghere a eventualelor legaturi. CCRv se ocupa cu fen nedorite (caderi de
retea ). CCR are ca principiu transform activ generale comune de la niv de asoc in operatii (actiuni) atomice ->
aceste actiuni atomice sunt urmarite. Intre entit de la niv de aplicatie dialogul se face in principiu pe sistemul master-
slave . entit sunt impartite in mai multe categ: entit care ofera servicii , entit care cer servicii. In principiu aplicatiile
utilizator nu sunt altceva decit o suita de procese client .
O activitate client - server se desfasora in citeva faze:
-intr-o prima faza masterele emit mesaje broadcast spre toti clientii ( entit din jur ) cind sunt dispuse sa ofere servicii
-clientii vor incepe prin a-si memora datele curente in primul rind , dupa care lanseaza oper atomica de la un anumit
server . Aceste date memorate initial sunt blocate in client in asa numita memorie stabila. Memoria stabila este de
obicei partea reflectata, la care nu se umbla (mem de tip mirror ing). Daca activ nu s-a indeplinit se poate stabili in
client starea dinaintea solicitarii serviciului si se pot lua alte decizii.

ORGANIZAREA FISIERELOR LA NIVEL DE APLICATIE


Fisierul este o cutie neagra in care utilizatorul poate sa bage orice. Aplicatiile cu fisiere folosesc fisiere virtuale
pentru ca fiecare sist de operare are un anumit sistem de gestiune particular si exista pe fiecare masina o conversie la
acest fisier virtual. Aplicatiile nu vor lucra decit cu aceste fisiere virtuale. Fisierele virtuale sunt de mai multe feluri:
-fisierele nestructurate (flat-file) nu permite decit operatii cu intregul fisier. Nu exista acces in interiorul unui flat-file (
nu i se cunoaste compozitia pentru ca nu are nici o structura ). Astfel de oper sunt numite oper de transfer, citire,
copiere
-structurate -> cu struct liniara -> cu structura ierarhica. Se ofera accesul in interior. Pentru struct liniara articolele se
afla de fapt intr-o lista de articole si poate fi exprimata cu ajutorul unui pointer care incrementeaza cu o pozitie pentru
accesarea unui articol. Pentru struct ierarhica articolele se organizeaza intr-un arbore astfel incit in afara de articolele
propriu-zise struct fisierului mai contine si noduri de arbore. Existenta nodurilor de arbore implica si un mecanism de
gestionare a nodurilor astfel incit se permit oper cu grupuri de articole. Nodurile pot fi examinate conform unei
scheme de utilizare a arborelui. In cazul in care avem fisiere structurate serviciile se refera la insertie sau eliminare de
articole (pentru struct lin) sau insertie sau eliminare a unui grup de articole reprezentate printr-un nod radacina
(pentru struct ierarhice).

ACCESUL CONCURENT LA FISIERE PE SERVERE


Prob se pune in special la serverele de fisiere dar aspectele de concurenta sunt legate si de alte servicii care pot fi
oferite de servere. In cazul retelelor mari serverele sunt prin def niste calc mari care trebuie sa serveasca niste clienti.
Prin def serverele terbuie sa realizeze multitasking . In leg cu activit de multitasking apar pb de servire eficienta a
serviciilor , pb de blocaj a proceselor si pb de sincronizare intre procese. Serverele sunt masini in care se exploateaza
zone critice (se creeaza zone critice in functie de pb care sunt de rezolvat in curs). Se creeaza pb de sincronizare a
cestor zone critice ( gestiunea lor ). In principiu lucrul intr-un astfel de server se bazeaza pe separarea activ cu clientii
si pe baza duplicitatii fisierelor in lucru fata de niste fisiere etalon. Problema- daca mai multi clienti solicita lucrul cu
acelasi fisier se creeaza duplicate , fiecere modif dupa bunul plac; pb alegerii finale ; pb resatabilirii fisierului.
Posibilitati ca un client sa blocheze un fisier sunt oferite tot de servicii care sunt dipuse pe server:
-in momentul in care unul dintre clienti doreste sa aiba acces exclusiv poate solicita o blocare a unui fisier.
Blocajul unui fisier poate fi facut in 2 feluri: partajare si exclusiv . Blocajul exclusiv este blocajul care se efectueaza de
catre server numai daca fisierul respectiv nu a fost blocat de altcineva. Blocajul partajat este acel blocaj care este
acordat unui client ,care a solicitat blocaj partajat , numai daca fisierul solicitat este disponibil sau blocat partajat
anterior.
Fisierele pot sta in 3 stari: liber, blocat partajat, blocat excusiv. In momentul in care dorim sa citim din fisier vrem
obligatoriu altcineva sa nu mai scrie in el -> coresp cu blocajul partajat. O aplic trebuie sa cunoasca foarte clar starea
fisierului ( aceasta sa nu se schimbe cit timp aplicatia lucreaza cu el). In momentul in care se lucreaza cu o entit de
catre un subiect , subiectul trebuie sa cunoasca determinist entitatea. In momentul in care cineva doreste sa scrie ,
cind serverul este foarte aglomerat niciodata nu gaseste fisierul liber - activ de scriere nu poate fi efectuata pe server,
va trebui sa existe organizat un mecanism care sa acorde sanse si oper de scriere -> 2 cozi scriere si citire. Cind oper
de citire evolueaza si se pune problema. urmatoarei operatii , se va testa mereu coada de scriere , daca nu exista
elemente in coada -> se executa o noua citire. In momentul in care avem acces concurent avem mai multe metode prin
care putem sa dirijam la server activ cu fisiere. La sistemul multiserver adoptam politica de multiplicare - avem copii
de fisiere , se imparte sarcina pe mai multe servere , se asigura accesul la fisiere chiar si cind cade serverul , se
acceseaza mai repede si mai sigur. Problema este cum se administreaza lucrul cu fisiere prezente pe mai multe servere
Retele de calculatoare 2 CURS 11
si cum se gestioneaza fisiere modificate . O solutie este ca aceasta sa fie lasata clientului . Dar ea este prea
complicata si trebuie sa fie automatizata. Se lucreaza pe principiul stabilirii unui fisier primar (copie primara) .
Modificarea este facuta doar in copia primara , niste programe aux (daemon) se ocupa de actualizarea celorlalte copii.
Daca pica serverul cu copia primara mecanismul se distruge ( dezavantaj). Trebuie adoptata o solutie ceva mai
distribuita : solutia cu votare . Se presupune ca exista N versiuni ale unui fisier la care avem drepturi de scriere si de
citire . Pentru ca o aplicatie sa poata scrie in fisier trebuie sa avem Nw voturi de la cele N servere care contin
copia.Idem la citire avem Nr. Trebuie sa avem Nw+Nr>N. Ex. Daca pe 9 servere avem copii ale unui fisier dintre care
se citeste de pe 2 copii (Nr) pentru a putea scrie in fisier trebuie obtinut acordul de la 8 servere (Nw) -> 8+2=10>9.
Cind se primeste un vot se da si versiunea copiei astfel incit se face si actualizarea copiilor catre ultima versiune. O
alta problema care apare in sisteme sunt blocajele . O versiune de evitare a blocajului este prin spargerea ciclului -
daca sunt constrinse fisierele serverelor la anumite restrictii pe care aplicatiile nu le impun pentru a sparge blocajul .
O alta posibilitate este aceea prin care serverele sa fie instiintate de aparitia blocajului. Aceasta se face astfel: - un
client isi va desfasura activ prin tranzactii . In momentul in care lucreaza pe tranzactii el paseaza executia unei
tranzactii pe un server axat pe exec unei tranzactii. In momentul in care executa o tranzactie serverul izoleaza clientul
de restul clientilor. Daca serverul vede ca un client paraseste un server in acel moment serverul poate sa reia
activitatea de la fisierele initiale . Daca tranzactiile se incheie cu bine copiile inlocuiesc originalele. Dca nu se incheie
cu bine originalele ramin neschimbate . Modulele CCR gestioneaza o parte din aceasta activ de protectie intre entitati.
O varianta de gestiune care sa permita securitatea gestionarii de fisiere este gestiunea cu fisiere imuabile. Exista
posibilitatea ca fisierele sa fie de neatins (nemodificabile). La orice solicitare fiecare client isi creaza o versiune
proprie a fisierului si va lucra intotdeauna cu o versiune cunoscuta. Legat de blocaj avem notiunea de granularitate a
blocarii . Blocajul se poate face pe fisiere sau articole - cu cit granularitatea este mai bruta cu atit posibilitatea de acces
la fisiere este mai mica pt ca sunt interzise zone mai mari. Prob pot aparea si cind clientii care si-au blocat anumite
fisiere proprii. In acel moment exista posibilitatea creerii acelor circuite deschise .In acel moment exista posibilitatea
ca serverele sa vada prin niste timere daca se lucreaza sau nu cu acele fisiere blocate.
Atribute de fisiere (folosite de servere)
Sunt de 3 feluri : -fixe; - la latitudinea operatorului; - introduse automat (timp , data) . Atrib fixe -puse de sistem (fat-
ul). Atribute - numele , marimea , localizarea.
Atribute speciale - specifica ce operatii sunt admise cu acel fisier; - artibute de control si acces ; - atribute de legalitate
-> anumite fisiere care trebuie sa atentioneze ca acolo sunt date care sunt folosite in mod necorespunzator duc la
consecinte legale.
Prob de securitate a fisierului ( a accesului la ele). Cea mai
simpla securitate este atunci cind se considera toti clientii de incredere . Un astfel de sistem se considera ca este sigur
cind este realizat numai de utilizatori cunoscuti. Diverse accese pot fi :
-verificarea tuturor emitatorilor de cereri de servicii prin parole si semnaturi digitale. Parolele sunt mai usor de
detectat . Cheile digitale sunt de fapt niste verificatoare cu o anumita regula care insotesc documentele .