La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009.

Présentations similaires


Présentation au sujet: "Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009."— Transcription de la présentation:

1 Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique

2 2 Revue Quelles sont les quatre conditions pour linterblocage? Comment peut-on résoudre les interblocages? (quatre façons…)

3 3 Synopsis Détection de linterblocage –Une ressource de chaque type –Plusieurs ressources de chaque type Reprise à partir de la détection dun interblocage

4 4 Interblocages Pour cette solution du problème de linterblocage, nous acceptons que les interblocages vont arrivées –mais on construit un système pour la détection de linterblocage, et –ceci veut dire que nous devons faire une reprise Est-ce que cest pratique dans la vie réel?

5 5 Détection de linterblocage Graphes dallocation ressources Un ensemble de sommets V et darêtes E V est partitionné dans: –P = {P 1, P 2, …, P n }, lensemble qui consiste de tous les procs dans le système –R = {R 1, R 2, …, R m }, lensemble qui consiste de tous les types de ressources dans le système arête requête – arête dirigée P i R k arête affectation – arête dirigée R i P k

6 6 Détection de linterblocage Graphes dallocation ressources Processus Ressource dont il y a 4 exemplaires (instances) Pi a (ou aura) besoin pour terminer dun exemplaire de Ri, dont il y en a 4 Pj a saisi (et utilise) un exemplaire de Rj PiPi PiPi RjRj RiRi

7 7 Détection de linterblocage Graphes dallocation ressources Regardons un ensemble dallocations et dattentes: –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

8 8 Y a-t-il un interblocage? Détection de linterblocage Graphes dallocation ressources

9 9 Y a-t-il un interblocage?

10 10 Détection de linterblocage Graphes dallocation ressources Nous supposons lexistence des 3 premières conditions –Excl. Mutuelle, saisie et attente, pas de préemption Pour montrer quil ny a pas dinterblocage, nous devons montrer quil ny a pas de cycle, car il y a un processus qui peut terminer sans attendre aucun autre, et puis les autres de suite est un ordre de terminaison de processus: tous peuvent terminer dans cet ordre

11 11 Détection de linterblocage Graphes dallocation 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é den sortir

12 12 Détection de linterblocage Graphes dallocation ressources Y a-t-il un interblocage?

13 13 Détection de linterblocage Graphes dallocation ressources Constations: –Les cycles dans le graphe alloc ressources ne signalent pas nécessairement une attente circulaire –Sil ny 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é dinterblocage –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?

14 14 Détection de linterblocage Graphes dallocation ressources P1 P2P3 P4

15 15 Détection de linterblocage Graphes dallocation 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.

16 16 Détection de linterblocage Graphes dallocation 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 P2P3 P4

17 17 Détection de linterblocage Algorithme de banquier Comment peut-on implémenter un algorithme qui détecte un interblocage de la même façon que nos yeux?

18 18 Détection de linterblocage Algorithme de banquier La solution est basée sur les matrices/vecteurs et utilise quatre structures de données pour identifier les conditions dinterblocage –m classes de ressource (ie: m=2, imprimante, scanner) –E i instances pour chaque classe de ressource (1 i m) –E est le vecteur des ressources existantes –A est le vecteur des ressources disponibles –Deux matrices: allocation courante (C) et demandes (R)

19 19 Requis par processus 1 C 11 C 12 C 13...C 1m C 21 C 22 C 23...C 2m C n1 C n2 C n3...C nm R 11 R 12 R 13...R 1m R 21 R 22 R 23...R 2m R n1 R n2 R n3...R nm Ressources en Existence (E 1, E 2, E 3,..., E m ) Ressources Disponibles (A 1, A 2, A 3,..., A m ) Matrice dallocation courante Matrice de demande Imprimante Scanneur Modem Périphérique apocalyptique Allouée au processus 2 Détection de linterblocage Algorithme de banquier

20 20 Détection de linterblocage Algorithme de banquier Comment utiliser ces structures de données pour détecter les interblocages? –Comparaison de vecteurs. Définit A B qui veut dire que chaque élément dans A est moins que ou égal à lélément correspondant dans B Mathématiquement, A B est vraie ssi A i B i pour 1 i m –Commence par désigner chaque processus comme non- marqué Quand un processus est marqué cela indique quil est capable de compléter et nest donc pas en interblocage (CE processus en particulier)

21 21 Détection de linterblocage Algorithme de banquier Comment utiliser ces structures de données…? –Maintenant on applique cet algorithme: 1.Cherche pour un processus non marqué, P i, 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, lalgorithme termine –Tout processus non marqué(s) quand lalgorithme termine sont interbloqués

22 22 Détection de linterblocage Exemple: Est-ce quil y a un interblocage ici?

23 23 Reprise de linterblocage Maintenant nous pouvons détecter linterblocage, comment pouvons nous reprendre un fonctionnement normal? –Il ny a pas de bon choix, juste un plus petit mal à partir dun nombre de candidats Reprise par la préemption Reprise par le retour en arrière Reprise par lélimination de processus (un ou plusieurs)

24 24 Reprise par la préemption –Il peut être possible denlever une ressource dun processus et la donner à un autre –Ceci peut nécessiter lintervention manuel ie: aller à limprimante et enlever les feuilles déjà imprimées pour ne pas mélanger les feuilles dun 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 linterblocage

25 25 Reprise de linterblocage Reprisse par retour en arrière ( rollback ) –Les processus sont marqué avec des points de reprise ( checkpoints ) périodiquement. Tout ce que lon 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 quun nouveau interblocage arrive –Désavantage: Le temps et les ressources prisent pour sauver les états des processus Comment choisir lintervalle des checkpoints

26 26 Reprise de linterblocage Reprise en éliminant des processus –Pas élégant, efficace, mais potentiellement dommageable –Il vaut mieux déliminer un processus dans le cycle sil ne dérangera pas les autres processus dans le cycle. –Alternativement, un autre victime qui tient une ressource requise (quil utilise et quil ne planifie jamais lâcher nest 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 quune base de données.

27 27 Quiz Time! Questions?


Télécharger ppt "Module Systèmes dexploitation Chapitre 8 Interblocage : Détection et reprise Partie II École Normale Supérieure Tétouan Département Informatique 2008-2009."

Présentations similaires


Annonces Google