Sunteți pe pagina 1din 5

37)Detectarea interblocajului este o solutie opimista care permite producerea

inetrblocajului , o identifica si incearca respontabilitatea sistemului. In acest scop


interblocajul trebuie spart cea ce presupune eliberarea a cel putin unei surse de la
un proces chiar daca utilizarea sa nu a fost incheiata . Procesul interrupt poate fi
tarziu restabilit printr-un mecanism de returnare de la starea de dinainte de
interblocaj .
O metoda simpla de detectare a interblocajului este cea de timeout utilizata
frecvent in sistemele de timp real . Aceasta abordare nu ingaduie un proces sa
astepte la infinit pentru ca o resursa sa devina disponibila. Dupa scurgerea unui
timp de asteptare impuls, proces va fi abandonat si resursele eliberate problema
fiind rezolvata .Char daca nu e vorba de un interblocaj va fi abandonnat si resursele
eliberate problema fiind rezolvata.Chiar daca nu a fost vorba despre un interblocaj
abandonarea unei tranzactii, asa cum s-a mai aratat, conduce dara la o penalizare
in performanta.
Daca un ciclu este detectat, atunci unul sau mai multe procese trebuie abandonate.
Exista mai multi algorimi bazati pe aceasta tehnica dintre care se perzinta in
continuare algoritmul Chandy-Misra-Haas, aplicat in sisteme distribuite . Atunci
cand un proces s-a blocat in asteptarea sa o resura va initia o sesiune de detectare
prin apelarea algoritmului. Ca urmare se generaza de catre nodul respectiv un
mesaj de proba , care se trensmite tuturor proceselor se setul sau de dependenta.
Mesajul consta dintr-o tripla de numere si anume indicatorul procesului destinatie.

38)

Scopul fazei de restabilire din starea de eroare. Problema starii consistente in sistemele monoproces, respectiv multiproces.
Arborele de accesabilitate.
Scopul fazei de restabilire din eroare este de a elimina eroarea din starea sistemului si a aduce sistemul intr-o stare consistenta lipsita de eroare.
Eliminarea efectului care a cauzat eroarea intra in sarcina fazei urmatoare a scenariului de toleranta. Daca se detecteaza o eroare si sistemul

ajunge intr-o stare invalida , restabilirea se poate face in oricare din starile consistemnte cu conditia ca noua stare sa fie conforma si cu efectele
externe ale evolutiei trecute a sistemului.
Definirea starii consistente isi pastreaza acelasi sens in cazul unui sistem monoproces , unde pentru o anumita intrare secventa starilor parcurse in
timpul unei executii corecte este intotdeauna aceeasi . In cazul unui sistem cu procese multiple paralele , sunt posibile mai multe secvente de stari
valide pornind de la aceeasi stare initiala. Starea urmatoare in care se produce tranzitia dintr-o stare actuala a sistemului nu este unica si nu poate
fi fixata . Ca urmare avand aplicate aceleasi intrari, sistemul poate urma diferite secvente de stari , fiecare dintre ele constituind cate o executie
valida .

39) Principiul restabilirii inainte. Tehnici de restabilire inainte. Metoda RFCS. Restabilirea cu mecanism inclus de detectare a erorii.
Avantajele restabilirii inainte.
Tehnicila bazate pe redundanta utilizeaza un anumit grad de replicare pentru toleranta defectelor si un mecanism de decizie asupra iesirilor.Din
aceasta categorie fac parte tehnicile de masurarte a defecgtelor prin vot majoritar cum ar fi reductanta TMR si NMR sau programarea N-versonala
.

Principul metodei este ilustrat in gugura 4.12 . Presupand ca un defect a fost detectat in momentul t1, au loc urmatoarele actiuni:
-

Starea salvata in t0 se incarca intru-un modul de rezerva, pe care se reoprneste procesul aferent intervalul i1. Procesele de pe
modulele A si B vor executa in continjuare intervalui i2
-La momentul t2 starea rezervei se compara cu starile salvate ale modulelor A si B. Rezulta o neconcordanta cu B deci aceasta a fost
afectuat de defect
Starea lui A in B pentru restabili consistenta sistemului

Responsabilitarea inainte urmareste restaurarea straii sistemului prin intreprinderea unor actiuni asupra partii eronate din starea curenta in scopul
de a elimina rorile si a permite mersul inainte al sistemului fara defecte . De aceea metoda este adecvata pentru cazul defectelor antisipate pentru
care se pot prevedea prin proiectare masuri eficiente de deplimitare a erorilor. Aceasta face ca imlementare restabiliri inainte la aparitia erorii sa
aiba un caracter specific pentru un anumit sistem .
40) Principiul restabilirii inapoi, conditii. Punctul de restabilire, operatii, regiunea de restabilire. Metoda bazata pe punctul de control.
Metoda bazata pe jurnalul de evenimente.
Restabilirea inapoi realizeaza eliminarea erorii prin inlocuirea intregii stari a sistemului cu o stare prealabila , care se presupune a fi lipsita de
eroare . Se simuleaza astfel o reintoarcere in timp a sistemului la o stare deja ocupata inainte de manifestarea defectului . Reluarea executiei se va
efectua dintr-un punct in timp situat anterior punctului in care eroarea a fost detectata. Restabilirea inapoi poate fi considerata ca si un concept
general de refacere a starii corecte , care este implementabila sub forma unui mecanism la orice sistem . Pentru a functiona corespunzator
trebuiesc indeplinite 2 conditii :
1. Starea anterioara sa fie restaurata cu succes.
2. Starea restaurata sa fi precedat manifestarea defectului.
Acel punct din timpul actuvitatii sistemului in care se va efectua o enetuala responsabilitate ulterioara a starii sistemului se numeste prunc de
responsabilitate .In cadrul protocolului care tine de mecanismul de restabilire inapoi se identifica urmatoarele operatii: Constituirea unui punc de
restabilire cea ce insemna asigurarea stocarii unor date de restabilire care sa permita in orce moment ulterior revenirea in punc de restabilire
Restaurarea care repezinta operatia de refacere a starii pe care a avut-o sistemului in punctului de restabilire .
41) Principiul luarii punctului de control. Metoda bazata pe memoria cache de restabilire. Metoda bazata pe ierarhia de memorii.
Metoda combinata. Modelul RR.
Implementarea mecanismului de restabilire inapoi presupune stocarea intr-un loc sigur a unei informatii de stare neeronate ,care sa poata fi
folosita la reluarea executiei dintr-o stare consistenta dupa detectarea unei erori. Cea mai uzuala metoda pentru realizarea acestui lucru consta in
salvarea starii sistemului de fiecare data cand executia ajunge intr-un punct punct de restabilire care se va numi punct de control . In caz de eroare
, prin reactivarea starii salvate procesul este practic derulat inapoi la un asemenea punct , de unde urmeaza sa fie pornit din nou.
Implementarea mecanismului de restabilire inapoi presupune stocarea intr-un loc sigur
a unei informatii de stare neeronate, care sa poate fi folosita la reluarea executiei dintr-o stare consistenta dupa detectarea unei erori. Cea mai
uzuala metoda pt realizarea acestui deziderat consta in salvarea starii sistemului (operatie denumita checkpointing) de fiecare data cand executia

ajung intr-un punct de restabilire, care se va numi punct de control (checkpoint). In caz de eroare, prin reactivarea starii salvate procesul este
practic derulat inapoi (rollback) la un asemenea punct, de unde urmeaza sa fie pornit din nou.
Ce anume sa contina starea salvata depinde de la caz la caz, dar in general ea curpinde,
continutul registrelor CPU si a datelor din memorie cu care lucreaza procesul. In privinta
locului in care se efectueaza salvarea, acesta poate fi un suport de memorie de gen disc magnetic sau o memorie sigura care foloseste coduri
corectoare de eroare, duplicare si eventaul este prevazuta si cu alimentare de la baterie. De regula salvarea intregii stari a sistemului este
costisitoare sub aspectul timpului consumat si a spatiului de memorie pe care o necesita. Se prefera de aceea adoptarea unei tehnici de salvare
partiala (partial checkpointing), referitoare numai la datele care sufera modificari intre doua puncte de control consecutive.
42) Problema restabilirii in sisteme cu procese concurente. Mesajul pierdut. Mesajul orfan. Efectul domino. Linia de retabilire. Conditii.
Abordarea statica. Conversatia. Abordarea dinamica. Graful de evenimente.
In cazul sistemelor cu mai multe procese concurente , restabilirea in caz de eroare poate ridica probleme suplimentare fata de cazul unui proces
singular . Dca procesele sunt independente intre ele , neavand acces la obiecte comune , atunci restabilirea fiecarui proces poate fi tratata
individual , fara a tine seama de celelalte procese din sistem . In schimb la procesele concurente cooperante intre care exista schimburi de date ,
comunicatiile dintre procese implica interdependente intre ele care ingreuneaza gasirea unei stari consistente cu ocazia restabilirii.
Abordarea statica, pesimista, presupune proiectarea sistemului de asa maniera ca o linie de restabilire sa fie totdeauna disponibila si planificata
dinainte. Pentru aceasta se
impune fortarea unro restrictii asupra comunicarilor dintre procese, respetiv prevederea
unor masuri de sincronizare intre procese. O solutie ar putea fi stabilirea simultana a punctelor de restabilire pt toate procesele, care ar avea
avantajul unui efort minim de restabilire. Pe de alta parte insa, necesarul mare de memorie pt pastrarea datelor de restabilire si timpul consumat pt
luarea unui numar mare de pucnte de control, fac ca metoda sa nu fie atractiva. Limitari in comunicatiile dintre procese se pot introduce printr-o
structurare adecvata a sistemului bazata pe conceptul actiunilor atomice. In acest caz amplasarea corelata a punctelor de restabilire la intrarea in
actiunea atomica. Aceste puncte nu sunt inlaturate in timpul actiunii, dar pt ca ea sa fie restaurabila se impune ca procesele sa paraseasca actiunea
simultan.
43.Exceptia, principiul tratarii exceptiilor. Modelul orientat pe domeniile unui program. Handlerul de exceptie. Exemplu. Handlerul
implicit. Utilizarea blocului de restabilire pentru tratarea exceptiilor. Abordarea multinivel de tratare a exceptiilor.
Tratarea exceptiilor ofera un cadru software pentru organizarea activitatiilor legate de toleranta la defecte . Se considera ca modulele soft ale
sistemului sunt dispuse ierarhic , astfel incat un modul M poate cere serviciul modulului N aflat in nivelul inferior . Rasunsul modulului N este
normal daca in timpul executiei sale nu a fost detectata nici o situatie de eroare . In caz contrar , modelul invocat va furniza un raspuns anormal
prin care indica aparitia unei nereguli la nivelul sau care poarta numele de exceptie. Modulul solicitant M dupa ce I s-a semnalat exceptia , este in
continuare responsabil de reluarea executiei lui N care a fost abandonat din cauza exceptiei.

Pentru a trata si cazul exceptiilor neanticipate, pt care nu sunt prevazute handler-e particulare, este eficienta includerea in sistem a unui handler
implicit (default handler). Acesta trebuie sa fie cat mai general, pt a putea capta toate exceptiile care nu au fost acoperite prin alte masuri. In acest
scop este adecvata utilizarea tehnicii de restabilire inapoi de catre handler-ul implicit, ceea ce nu necesita cunoasterea naturii problemei aparute.
Blocul de restabilire, care este bazat pe restabilirea inapoi, reprezinta o posibilitate de implementare a tratarii implicite a exceptiilor. Principiul
este simplu, modulul alternativ fiind considerat handler de exceptie pt cel primar. Descrierea formala, pt cazul a doua module (M0 primar si M1
alternativ) si un test de acceptare <TA> este data mai jos. La intrarea in blocul de restabilire se fixeaza un punct de restabilire prin salvarea starii

intr-o memorie cache. O eroare in modulul M0 este detectata prin utilizarea testului de acceptare. Daca acesta este refuzat, se restabileste starea
de la intrarea in bloc si se executa modulul M1. In cazul in care nici acesta nu trece testul, alternativa de eroare va informa nivelul superior despre
esuarea executiei blocului. Bineinteles eficienta tratarii exceptiilor in acest mod depinde in mare masura de capacitatea de detective a erorilor de
catre testul de acceptare.

44.Problema comiterii. Principiul comiterii in doua faze, grafurile automatelor de la coordonator si participanti. Discutarea comiterii in
doua faze. Protocolul de terminare. Restabilirea independenta. Algoritmul de comitere in doua faze.\
In cazul sistemelor distribuite , problema asigurarii si restabilirii unei stari consistente este complicata de lipsa unui control centralizat. Intre
nodurile prticipante la un proces distribuit trebuie asigurata o sincronizare astfel incat sa rezulte numai una din urmatoarele doua stari observabile
ale sistemului : comis sau abandonat.Pentru respectarea proprietatii de automicitate a tgranzactiei este deci necesar ca ea sa fie comisa numai daca
toate nodurile care iau parte sunt in stare sa comita . In acest scop au fost concepute protocolae de comitere distribuite , menite sa asigure fixarea
liniilor de restabilire preplanificate. Daca s-a produs defectarea unui nod in timpul procesului sau al comiterii , atunci se declanseaza operatie de
restabilire .
- Protocoul clasic care asigura atomicitatea actiuniide comitere intr-un sistem distribuit este comiterea in doua faze . In acest protocol , nodul care
initiaza tranzactia se numeste coordonator, iar celelalte n noduri care iau parte la tranzactie poarta numele de participanti. Langa fiecare tranzactie
reprezentata in desen se prezinta conditia asupra mesajelor receptionate prntru declansarea tranzitiei (deasupra liniei) , respecti mesajul transmis
de nod in cazul producerii tranzitiei (sub linie)
Se considera ca procesul distribuit a fixat o linie de restabilire (cate un punct de restabilire pt fiecare nod), apoi a actualizat datele in nodurile
implicate si in continuare doreste sa comita actiunea. Aceasta comitere va avea loca in doua faze, care pot fi descrise confortabil cu cate un
automat de stare al coordonatorului, respectiv al unui participant. Starile nodului sunt reprezentate prin cercuri, iar tranzactiile prin muchii
orientate. Langa fiecare tranzitie se prezinta conditia asupra mesajelor receptionate pt declansarea tranzitiei, respectiv mesajul transmis de nod in
cazul producerii tranzitiei.
Algoritmul: In prima faza coordonatorul porneste din starea initiala q0 si atunci cand este
invocat (BEGIN) de proces trimite cate un mesaj fiecarui participant (REQUESTi), prin care ii intreaba daca sunt in stare sa omita. Dupa aceea
trece in starea de asteptare w0. Patricipantul i este invocat in starea initiala qi de receptionarea mesajului REQUESTi. Daca este capabil de
omitere raspunde "da" (YESi) si trece in starea de asteptare wi. In caz contrar raspunde cu "nu" (NOi) si abandoneaza (starea ai). In faza a doua,
coordonatorul aduna raspunsurile de la toti participantii. Daca toti participantii,
inclusiv coordonatorul, au votat pt comitere, atunci trimite mesaje COMMITi catre participanti, prin care le cere sa comita. Dupa aceea,
coordonatorul trece in starea sa de omitere (c0). In schimb, daca exista vreun participant (sau chiar coordonatorul) care nu este de acord cu
comiterea, coordonatorul transmite mesaje ABORTi acelor participanti care au votat cu "da" si trece in starea de abandona a0. Fiecare dintre
acesti participanti asteapta in starea wi decizia de la coordonator.Daca soseste un mesaj COMMITi, atunci participantul comite si trece in starea
ci, iar in caz contrar (se receptioneaza ABORTi) abandoneaza in starea ai. Rolul protocolului de comitere in doua faze este de a asigura ca
ori toate nodurile sa comita, ori toate sa abandoneze, cu alte cuvinte sa lase sistemul intr-o stare consistenta. Abandonarea trebuie considerata ca
fiind echivalenta cu restaurarea sistemului la ultima linie de restabilire, fara sa se fi savarsit vreo modificare asupra bazei de date distribuite.

45.Scopul fazei de tratarea defectului si continuarea serviciului. Graful de dependenta. Tolerarea defectelor permanente. Tolerarea
defectelor tranzitorii. Tratarea defectului: localizarea defectului, repararea sistemului. Continuarea serviciului.
Scopul ultimei faze de toleranta este tocmai acela de a inlatura defectul din sistem , astfel incat el sa-si poata relua indeplinirea serviciului .
Trebuie facuta distinctia intre tratarea defectelor permanente si a celor tranzitorii. In cazul unui defect tranzitoriu nu sunt necesare masuri de
eliminare a defectului , acesta fiind considerat disparut de la sine . Sistemul poate fi repornit imediat dupa faza de restabilire din eroare . In
schimb , in cazul unui defect permanent se poate produce aceeasi eroare din nou daca nu se identifica si elimina componenta defecta .
In general capacitatea de toleranta la defecte permanente si tranzitorii se poate studia pe graful de dependenta . Nodurile grafului reprezinta
obiectele Software si resursele hardware iar acele obiecte corespund servicilor pe care le solicita un obiect de la resurse sau alte obiecte
Pentru tolerarea defectelor permanente este adecvata uitlizarea redundantei fizice.

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