Documente Academic
Documente Profesional
Documente Cultură
2009/2010
Conf.Dr. Florin Fortis
Cursul #8
IMPAS
Informatii generale
IMPAS
Tipul resurselor
Q: De ce?
IMPAS
Tipul resurselor
Resurse non-preemptive
Vom presupune de acum inainte ca prin termenul de resursa sunt identificate
numai resurse non-preemptive
Exista o secventa tipica pentru utilizarea resurselor. Sunt necesari trei pasi
simpli:
1.
2.
3.
Acestea sunt singurele resurse care pot fi implicate intr-o situatie de impas.
IMPAS
Tipul resurselor
Achizitia resurselor
Resursele care sunt achizitionate de catre procese pot fi
gestionate fie la nivelul sistemului de operare fie la nivelul
fiecarui proces.
Atunci cand gestiunea se realizeaza la nivel de proces, va fi
suficienta utilizarea unui dispozitiv de excludere mutuala sau
a unui semafor pentru a asigura accesul exclusiv la resurse
Impas
Definitie
O multime de procese se afla intr-o situatie de impas daca
fiecare proces din multime asteapta aparitia unui
eveniment care poate fi declansat doar de un alt proces
din multime.
Fiecare proces asteapta, nefiind astfel capabil sa
genereze niciun eveniment, inclusiv cele asteptate de
alte procese:
Impas
Definitie
1.
2.
3.
4.
Impas
Definitie
Impas
Modelarea impasului
Detine resursa.
(b)
(c)
Impas
Modelarea impasului
Aparitia impasului
Un exemplu de aparitie a unei situatii de impas
si evitarea acesteia
Aparitia impasului
Un exemplu de aparitie a unei situatii de impas
si evitarea acesteia
Aparitia impasului
Un exemplu de aparitie a unei situatii de impas
si evitarea acesteia
Impasuri
1.
2.
3.
4.
Impas
Algoritmul strutului
Algoritmul strutului
Ignorarea problemei
Impas
Preventie
Impas. Preventie
Conditia de excludere mutuala
Situatiile de impas pot fi prevenite prin atacarea uneia dintre
cele patru conditii.
Atacarea conditiei de excludere mutuala,
Impas. Preventie
Conditia hold and wait
Atacarea conditiei hold and wait
1.
Se poate impune proceselor care detin resurse sa astepte ca
resursele sa fie disponibile intai atunci cand cer noi resurse.
2.
Impas. Preventie
Conditia de non-preemptiune
Atacarea conditiei de non-preemptiune
Resursele non-preemptive sunt extrem de
importante intr-un sistem de operare.
Q:
Impas. Preventie
Conditia de asteptare circulara
Atacarea conditiei de asteptare circulara
1.
Prin limitarea resurselor care sunt la dispozitia proceselor (de
exemplu, o singura resursa la un moment dat).
Astfel, pentru a obtine noi resurse, procesele ar putea fi obligate sa
renunte la resursele curente.
2.
1.
2.
Resurse numerotate.
Graful de alocare pentru acestea.
Impas
Detectie si recuperare
Algoritmul:
1.
2.
3.
4.
5.
6.
3.
Impas
Evitare
Impas. Evitare
Tipuri de stari
Impas. Evitare
Tipuri de stari
Starea din (a) (linia 1) este sigura; cea din (b) (linia 2) este nesigura
Impas. Evitare
Algoritmul bancherului
Impas. Evitare
Algoritmul bancherului pentru o singura resursa
Aceasta descrie o situatie extrem de
simpla.
In acest algoritm, fiecare cerere este
tratata indata ce apare:
Impas. Evitare
Algoritmul bancherului pentru o singura resursa
Impas. Evitare
Algoritmulbancheruluipentruo singuraresursa
Daca Avail=1, aceasta stare devine nesigura!
De asemenea, daca procesul A primeste o
singura resursa, prin oferirea acesteia catre
procesul A se va atinge o stare nesigura.
Urmand algoritmul simplu al Bancherului, din
aceasta stare orice cerere din partea
procesului A va fi refuzata.
Si procesul C ar putea fi refuzat, chiar daca
alocarea unei singure resurse catre acesta nu
schimba pentru moment starea sistemului!
Impas. Evitare
Algoritmul bancherului pentru o singura resursa
Situatia initiala
Cereri demo
Has
Max
Available: 10
Impas. Evitare
Algoritmul bancherului pentru o singura resursa
Situatia initiala
Cereri demo
Has
Max
70
45
60
40
60
15
Total: 150
Impas. Evitare
Algoritmul bancherului pentru o resurse multiple
Versiunea generalizata a acestui algoritm.
Pentru acest algoritm vom folosi din nou
Matricea
Impas. Evitare
Algoritmul bancherului pentru o resurse multiple
1.
2.
3.
Impas. Evitare
Algoritmul bancherului pentru o resurse multiple
Descrierea matricelor de stare
The R Matrix
2
A=(2,1,0,0)
The C Matrix
0
Se considera
Determinati valoarea
vectorului E.
Este
aceasta o situatie
de impas?
Impas. Evitare
Algoritmul bancherului pentru o resurse multiple
Descrierea matricelor de stare
The MAX Matrix
Considerati
The C Matrix
0
A=(2,1,0,0)