Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École...
Transcript of Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École...
![Page 1: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/1.jpg)
ModuleModuleSystèmes d’exploitationSystèmes d’exploitation
Chapitre 8
Interblocage : Détection et reprise
Partie II
École Normale SupérieureÉcole Normale SupérieureTétouanTétouan
Département InformatiqueDépartement Informatique
2008-2009
![Page 2: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/2.jpg)
2
RevueRevue
• Quelles sont les quatre conditions pour l’interblocage?
• Comment peut-on résoudre les interblocages? (quatre façons…)
![Page 3: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/3.jpg)
3
SynopsisSynopsis
• Détection de l’interblocage– Une ressource de chaque type– Plusieurs ressources de chaque type
• Reprise à partir de la détection d’un interblocage
![Page 4: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/4.jpg)
4
InterblocagesInterblocages
• Pour cette solution du problème de l’interblocage, nous acceptons que les interblocages vont arrivées
– mais on construit un système pour la détection de l’interblocage, et
– ceci veut dire que nous devons faire une reprise
• Est-ce que c’est pratique dans la vie réel?
![Page 5: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/5.jpg)
5
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
• Un ensemble de sommets V et d’arêtes E• V est partitionné dans:
– P = {P1, P2, …, Pn}, l’ensemble qui consiste de tous les procs dans le système
– R = {R1, R2, …, Rm}, l’ensemble qui consiste de tous les types de ressources dans le système
• arête requête – arête dirigée Pi Rk
• arête affectation – arête dirigée Ri Pk
![Page 6: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/6.jpg)
6
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
• Processus
• Ressource dont il y a 4 exemplaires (instances)
• Pi a (ou aura) besoin pour terminer d’un exemplaire de Ri, dont il y en a 4
• Pj a saisi (et utilise) un exemplaire de Rj
Pi
Pi Rj
Ri
![Page 7: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/7.jpg)
7
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
• Regardons un ensemble d’allocations et d’attentes:– Processus A tient R et veut S– Processus B tient rien mais veut T– Processus C tient rien mais veut S– Processus D tient U et veut S et T– Processus E tient T et veut V– Processus F tient W et veut S– Processus G tient V et veut U
![Page 8: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/8.jpg)
8Y a-t-il un interblocage?
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
![Page 9: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/9.jpg)
9
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
Y a-t-il un interblocage?
![Page 10: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/10.jpg)
10
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
• Nous supposons l’existence des 3 premières conditions– Excl. Mutuelle, saisie et attente, pas de préemption
• Pour montrer qu’il n’y a pas d’interblocage, nous devons montrer qu’il n’y a pas de cycle, car il y a un processus qui peut terminer sans attendre aucun autre, et puis les autres de suite
• <P3, P2, P1> est un ordre de terminaison de processus: tous peuvent terminer dans cet ordre
![Page 11: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/11.jpg)
11
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
Y a-t-il un interblocage?
Cycles:
P1 R1 P2 R3 P3 R2 P1
P2 R3 P3 R2 P2
aucun proc ne peut terminer
aucune possibilité d’en sortir
![Page 12: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/12.jpg)
12
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
Y a-t-il un interblocage?
![Page 13: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/13.jpg)
13
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
• Constations:– Les cycles dans le graphe alloc ressources ne
signalent pas nécessairement une attente circulaire– S’il n’y a pas de cycles dans le graphe, aucun
interblocage– S ’il y a de cycles:
• Si seulement une ressource par type, interblocage– (pourquoi?!)
• Si plusieurs ressources par type, possibilité d’interblocage– Il faut se poser la question: y-a-t-il un processus qui peut
terminer et si oui, quels autres processus peuvent terminer en conséquence?
![Page 14: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/14.jpg)
14
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
P1
P2 P3 P4
![Page 15: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/15.jpg)
15
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
• Un graphe réduit d'allocation des ressources peut être utilisé pour déterminer si l'interblocage existe ou non. Pour cela, il convient de vérifier les flèches associées à chaque processus et à chaque ressource.– Si une ressource ne possède que des départs de flèches (à
savoir si elle n'a aucune requête imminente), il faut effacer toutes ses flèches.
– Si un processus n'a que des arrivées de flèches (ce qui revient à dire que toutes ses requêtes ont été octroyées), il faut également effacer toutes ses flèches .
– Si un processus a des flèches au départ, mais qu'un point de ressource est disponible pour chacune d'elles (un point sans flèche qui s'éloigne du processus) dans la ressource dans laquelle pointe la flèche, il faut aussi supprimer toutes les flèches du processus.
![Page 16: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/16.jpg)
16
Détection de l’interblocage Détection de l’interblocage Graphes d’allocation ressourcesGraphes d’allocation ressources
• Si, en passant en revue les processus, on trouve au moins un processus dont les flèches peuvent être effacées, il faut revenir et réitérer le processus, puis continuer jusqu'à ce qu'il n'y ait plus de flèche restante ou jusqu'à ce qu'aucune flèche ne puisse plus être retirée des processus.
• Le système est en interblocage si et seulement s'il ne reste plus de flèche.
P1
P2 P3 P4
![Page 17: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/17.jpg)
17
Détection de l’interblocageDétection de l’interblocageAlgorithme de banquierAlgorithme de banquier
• Comment peut-on implémenter un algorithme qui détecte un interblocage de la même façon que nos yeux?
![Page 18: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/18.jpg)
18
Détection de l’interblocageDétection de l’interblocageAlgorithme de banquierAlgorithme de banquier
• La solution est basée sur les matrices/vecteurs et utilise quatre structures de données pour identifier les conditions d’interblocage– m classes de ressource (ie: m=2, imprimante, scanner)
– Ei instances pour chaque classe de ressource (1i m)
– E est le vecteur des ressources existantes– A est le vecteur des ressources disponibles– Deux matrices: allocation courante (C) et demandes (R)
![Page 19: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/19.jpg)
19Requis par processus 1
C11 C12 C13 ... C1m
C21 C22 C23 ... C2m...
......
...Cn1 Cn2 Cn3 ... Cnm
R11 R12 R13 ... R1m
R21 R22 R23 ... R2m...
......
...Rn1 Rn2 Rn3 ... Rnm
Ressources en Existence(E1, E2, E3, ..., Em)
Ressources Disponibles(A1, A2, A3, ..., Am)
Matrice d’allocation courante
Matrice de demande
Impr
iman
teS
cann
eur
Mod
em
Pér
iphé
rique
apoc
alyp
tique
Allouée au processus 2
Détection de l’interblocageDétection de l’interblocage Algorithme de banquierAlgorithme de banquier
![Page 20: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/20.jpg)
20
Détection de l’interblocageDétection de l’interblocageAlgorithme de banquierAlgorithme de banquier
• Comment utiliser ces structures de données pour détecter les interblocages?– Comparaison de vecteurs. Définit AB qui veut dire
que chaque élément dans A est moins que ou égal à l’élément correspondant dans B
• Mathématiquement, AB est vraie ssi AiBi pour 1im
– Commence par désigner chaque processus comme “non-marqué”
• Quand un processus est “marqué” cela indique qu’il est capable de compléter et n’est donc pas en interblocage (CE processus en particulier)
![Page 21: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/21.jpg)
21
Détection de l’interblocageDétection de l’interblocageAlgorithme de banquierAlgorithme de banquier
• Comment utiliser ces structures de données…?
– Maintenant on applique cet algorithme:1. Cherche pour un processus non marqué, Pi, pour lequel la
ième rangé (ième ligne) de R est plus petite ou égale à A
2. Si un tel processus est trouvé, ajoute la ième rangé de C à A, marque le processus et retourne à l’étape 1
3. Si aucun processus comme cela existe, l’algorithme termine
– Tout processus non marqué(s) quand l’algorithme termine sont interbloqués
![Page 22: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/22.jpg)
22
Détection de l’interblocageDétection de l’interblocage
• Exemple: Est-ce qu’il y a un interblocage ici?
![Page 23: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/23.jpg)
23
Reprise de l’interblocageReprise de l’interblocage
• Maintenant nous pouvons détecter l’interblocage, comment pouvons nous reprendre un fonctionnement normal?– Il n’y a pas de bon choix, juste un plus petit
mal à partir d’un nombre de candidats• Reprise par la préemption• Reprise par le retour en arrière• Reprise par l’élimination de processus (un ou
plusieurs)
![Page 24: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/24.jpg)
24
• Reprise par la préemption– Il peut être possible d’enlever une ressource d’un
processus et la donner à un autre– Ceci peut nécessiter l’intervention manuel
• ie: aller à l’imprimante et enlever les feuilles déjà imprimées pour ne pas mélanger les feuilles d’un autre processus
– Cette méthode est très dépendante du type de ressources – fréquemment difficile sinon impossible
• écrire à une base de données mais seulement la moitié de la job est faite...peut-on vraiment interrompe ça?
Reprise de l’interblocageReprise de l’interblocage
![Page 25: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/25.jpg)
25
Reprise de l’interblocageReprise de l’interblocage
• Reprisse par retour en arrière (rollback)– Les processus sont marqué avec des points de reprise
(checkpoints) périodiquement. Tout ce que l’on a besoin pour les repartir dans l’état exacte où ils sont est écrit dans un fichier (incluant les ressources assignées)
– Si un interblocage arrive, un état antécédent peut être restauré et certains processus retardés pour que les ressources ne soient pas demandés de la même façon et qu’un nouveau interblocage arrive
– Désavantage: Le temps et les ressources prisent pour sauver les états des processus
• Comment choisir l’intervalle des checkpoints
![Page 26: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/26.jpg)
26
Reprise de l’interblocageReprise de l’interblocage
• Reprise en éliminant des processus– Pas élégant, efficace, mais potentiellement dommageable– Il vaut mieux d’éliminer un processus dans le cycle s’il ne
dérangera pas les autres processus dans le cycle. – Alternativement, un autre victime qui tient une ressource requise
(qu’il utilise et qu’il ne planifie jamais lâcher n’est pas ‘techniquement’ dans le cycle) peut être éliminé.
– Meilleur choix: un processus qui peut être ré-exécuté du début sans effets néfastes.
– Pire choix: processus qui modifie une ressource statique tel qu’une base de données.
![Page 27: Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.](https://reader035.fdocument.pub/reader035/viewer/2022062621/551d9d7e497959293b8b5bee/html5/thumbnails/27.jpg)
27
Quiz Time!Quiz Time!
Questions?