Telechargé par Charles Somda

4 Interblocage-1-1

publicité
L2 / Systèmes d'exploitation
TD - Interblocages
Exercice 1 - Graphe d'allocation
Objectif : utilisation du graphe d’allocation de ressources
On considère un système constitué de 9 processus A, … I et comportant 7 ressources R,
… X. L'attribution des ressources est la suivante :
Le processus A détient R et demande S.
Le processus B ne détient pas de ressource et demande T.
Le processus C ne détient pas de ressource et demande S.
Le processus D détient U et demande S et T.
Le processus E détient T et demande V.
Le processus F détient W et demande S.
Le processus G détient V et demande U.
Le processus H détient X et demande U.
Le processus I ne détient pas de ressource et demande X.
Construisez le graphe d'allocation de ressources correspondant. Y a-t-il interblocage, et si
oui, quels sont les processus directement concernés ? Cela a-t-il une incidence sur les
autres ?
Exercice 2 – Ressources multi instances
Objectif : Utilisation de l’algorithme de détection de blocages dans le cas de ressources
multi-instances
On suppose qu'un système possède 5 processus, qu'il dispose de 6 périphériques de
stockage (R1), de 3 scanners (R2), de 4 imprimantes (R3) et de 2 lecteurs DVD (R4).
La matrice d'allocation est :
La matrice des demandes maximales est :
R1 R2 R3 R4
R1 R2 R3 R4
P1 3
0
1
1
P1 4
1
1
1
P2 0
1
0
0
P2 0
2
1
2
P3 1
1
1
0
P3 4
2
1
0
P4 1
1
0
1
P4 1
1
1
1
P5 0
0
0
0
P5 2
1
1
0
Donnez la matrice des besoins et le vecteur dispo.
Peut-on éviter le blocage ? Y a t-il des scénarios qui conduisent à des blocages ?
On suppose que la demande de P1 en scanners (R2) est maintenant nulle et celle de P4
égale à 2. Que peut-on dire cette fois ?
Exercice 3 – Étude de la sûreté du système
Objectif : étude d’un système, distinction entre évitabilité et impossibilité
a – On considère un système comportant 5 processus et une ressource R à 11 instances
(par exemple des emplacements sur le disque). Chaque processus a besoin d’au maximum
3 instances de la ressource.
1
Montrez qu’il ne peut pas y avoir d’interblocage.
b – On généralise l’exemple précédent : N processus se partagent M instances d’une
ressource R. Chaque processus a besoin d’au maximum T instances (et on suppose que T
<= M sinon, il est clair que ça ne peut pas marcher du tout). On suppose, de plus, que la
somme totale de toutes les demandes des processus est plus petite que M + N. Montrez
qu’il ne peut pas y avoir d’interblocage.
c – On suppose maintenant qu’il y a 5 processus, et deux ressources R1 et R2. R1
possède 6 instances et R2 possède 11 instances. Chaque processus a besoin d’au
maximum 2 instances de R1 et de 3 instances de R2. Si l’on considère chaque ressource
indépendamment (les processus ont besoin des instances de l’une des ressources, les
libèrent puis prennent les instances de l’autre ressource), le résultat de la question 2 assure
qu’il n’y aura pas d’interblocage. Montrez que par contre, si l’on prend en compte les deux
ressources (i.e. les processus ont besoin des instances des deux ressources
conjointement), il peut y avoir interblocage.
d – On suppose maintenant que l’on dispose de 7 instances de la ressource R1 et de 14
instances de R2, et on garde les hypothèses de la question 3. Montrez que cette fois, il ne
peut pas y avoir d’interblocage.
Exercice 4 – Evitement
Objectif : analyse d’un système multi-ressources et multi-instances
1 - On considère un système comportant 4 types de ressources (r1, r2, r3 et r4). Il y a 5
processus P1, P2, P3, P4 et P5. On donne la matrice des besoins maximaux et la matrice
d'allocation.
r1 r2 r3 r4
r1 r2 r3 r4
4 1 0 1 P1
7
2 0 1 P1
2 0 1 2 P2
14 1 1 2 P2
Max = 6 2 1 2 P3 et Alloc = 1 2 1 0 P3 .
3
3 0 0 P4
2 1 0 0 P4
2 2 0 0 P5
5
4 2 1 P5
( )
( )
Par ailleurs, on donne Dispo = (4 1 1 0).
a – Calculez la matrice Besoin et le vecteur Exist.
b – Peut-on éviter l'interblocage ?
2 – On considère maintenant un système de 4 processus P1, P2, P3 et P4, possédant deux
ressources multi-instances R1 et R2.
Les besoins des processus sont les suivants :
P1 : 2 instances de R1 et 1 de R2
P2 : 2 instances de R1 et 2 de R2
P3 : 3 instances de R1 et 3 de R2
P4 : 3 instances de R1 et 1 de R2
Existe-t-il des situations d'interblocage :
a – S'il y a 7 instances de R1 et 5 de R2 ?
b – S'il y a 9 instances de R1 et 6 de R2 ?
2
Téléchargement