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 : Évitement et prévention Partie III É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 : Évitement et prévention Partie III École Normale Supérieure Tétouan Département Informatique 2008-2009."— Transcription de la présentation:

1 Module Systèmes dexploitation Chapitre 8 Interblocage : Évitement et prévention Partie III École Normale Supérieure Tétouan Département Informatique

2 2 Revue Comment est-ce que lon détecte des interblocages avec des instances multiples de ressources? Quelles sont les quatre conditions des interblocages?

3 3 Synopsis Évitement des interblocages Prévention des interblocages

4 4 Évitement des interblocages Jusquà date nous avons vue deux solutions aux problème des interblocages: On ignore ou on les détectes et on reprend Ne serait til pas mieux si, avec une allocation de ressources prudente, nous pourrions empêcher les interblocages? Ceci sappel lÉvitement des interblocages ( Deadlock Avoidance )

5 5 Évitement des interblocages Pour éviter les interblocages, il est important de ne pas savancer vers un état non sécuritaire –Un état est dit sécuritaire (sûr) si il nest pas en interblocage et quil existe un ordre dordonnancement dans lequel chaque processus peut exécuter jusquà la fin, même si tout les processus demanderaient immédiatement toutes les ressources dont ils ont besoin pour finir leurs travaux

6 6 Évitement des interblocages Un état est sûr si le système peut en sortir sans interblocages Ne pas allouer une ressource à un processus si létat qui en résulte nest pas sûr États sûrs É. non-sûrs Impasse

7 7 Évitement des interblocages Si tout les processus demandent leurs maximum de ressources, est-ce que létat de départ est sécuritaire? Parce que tout les processus pouvaient exécuter jusquà la fin, létat initial était sécuritaire!

8 8 Et si le processus A a demandé une ressource simple en premier et quil la obtenu? Parce que pas tout les processus ne peuvent pas compléter, létat vers lequel on est allé était non sécuritaire!!! Cest ce déplacement vers un état non sécuritaire que nous devons détecter... Évitement des interblocages

9 9 Une façon déviter les interblocages pour plusieurs instances dune seul ressource est lalgorithme du banquier ( Bankers Algorithm ) –Modélisé sur la façon quun banquier pourrait approuver des demandes de prêts pour ses clients –Lidée est que chaque client a un montant de crédit maximum qui est établit. Il est garantie que si ils sont alloués leurs crédit maximum, quils seront capables de compléter leurs travaux pour lesquels les prêts étaient requis et quils vont repayer la banque

10 10 SAFE UNSAFE Évitement des interblocages Algorithmes du banquier: –Quand un client fait une demande dargent, lalgorithme vérifie si la demande mènerait à un état non sécuritaire, si oui, la demande est refusée La détermination est comme nous avons vue précédemment

11 11 Lalgorithme du banquier fonctionne pour une ressource avec des instances multiples. Mais que faisons-nous pour les ressources multiples? –Lalgorithme peut être généralisé en utilisant des structures de données similaires à celles utilisées pour la détection des interblocages Un vecteur des ressources existantes (E) et disponibles (A) Une matrice de ressources couramment assignées à chaque processus (C) Une matrice des ressources que chaque processus pourraient encore avoir besoin (le maximum) pour compléter (R) Évitement des interblocages

12 12 Algorithme du banquier pour les ressources multiples: 1)Trouve une rangé dans, R, pour laquelle les ressources requises (ie: maximum potentiel) est plus petit ou égale au vecteur A. Si cette rangé nexiste pas, le système est non sécuritaire parce que si tout les processus demanderaient leurs maximum de ressources, aucun ne pourrait terminer 2) Assumez que le processus de la rangé choisi demande toutes les ressources dont il a besoin pour terminer. Marquez ce processus comme terminé et ajoutez les ressources au vecteur A 3) Répétez les étapes 1 et 2 jusquà ce que tout les processus soient marqués comme terminé (dans ce cas létat est sécuritaire) ou jusquà ce quil soit démontré quun état non sécuritaire est présent Évitement des interblocages

13 13 Est-ce que cet état est sécuritaire? Évitement des interblocages

14 14 Évitement des interblocages Est-ce que lévitement des interblocages avec lallocation prudente des ressources pratique? –Désavantage: La vérification pour chaque demande prend du temps: overhead –Désavantage : Les processus doivent savoir a priori toutes les ressources dont ils ont besoin –Désavantage : Les processus sur le système peuvent changer, ce qui complique lalgorithme –Réponse: peu de système, si il y en a, utilise lalgorithme du banquier pour éviter les interblocages

15 15 Prévention des interblocages Si on brise une des quatre conditions pour linterblocage, ils narriveront jamais –Attaquer la condition de lexclusion mutuelle Presque impossible à enlever. Au lieu davoir des interblocages, nous allons avoir des concurrences critiques et des données corrompus sur les CD-ROMs qui ont acceptés de linformation de deux processus simultanément Cependant, des fois les ressources peuvent être abstraites. Au lieu décrire sur une imprimante, dans Windows on écrit sur un spooler et les jobs sortent à leurs tour

16 16 Attaquer la condition de Tenir et Attendre –Requiert que tout les processus demande toutes les ressources dont ils ont besoin avant de commencer lexécution. Cela fonctionne (et est utilisé parfois) mais il y a des problèmes Problème: Habituellement les processus ne savent pas de quelles ressources ils vont avoir besoin. Si ils le savaient tout le temps, on pourrait utiliser lalgorithme du banquier sans problèmes Problème: Si le traitement des données prend du temps avant que le périphérique est utilisé, on a une perte de ressources et un déclin de multiprogrammation –Alternative: Demander à un processus de relâcher toutes les ressources quil a avant den demander un autre Prévention des interblocages

17 17 Prévention des interblocages (note) Verrouillage à deux phases ( Two-Phase Locking ) –Une méthode qui brise la condition de tenir et attendre et qui est utilisé dans la vraie vie pour les bases de données –Un processus qui veut mettre à jour un nombre denregistrements ( records ) essaie de tout les verrouillés. Si un des enregistrements est déjà verrouillé, il relâche tout les enregistrements et essaie encore –Si il réussi, il met à jour tout les records et relâche les verrous Pas un choix santé pour les systèmes en temps réel par contre...

18 18 Prévention des interblocages Attaquer la condition de non préemption –Ceci est essentiellement pas possible. Très peux de périphériques peuvent souffrir une préemption durant lutilisation et cela prendrait une grande quantité de matériel pour le permettre (si cela est possible en premier lieu!) –Cest la même chose pour les ressources virtuelles. Il est très difficile de faire de la préemption sur les bases de données sans faire beaucoup de travail.

19 19 Prévention des interblocages Attaquer la condition de lattente circulaire –Permettre au processus de tenir seulement une ressource à la fois Pas faisable. Pourquoi? –Donner un numérotage des ressources global; exiger que tout les programmes demandes les ressources dans cet ordre De cette façon, un cycle ne peut jamais ce produire… un processus va toujours demander une ressource qui a été demandé et va bloquer Problème: Cela peut-être difficile de trouver un ordre qui fait à tout les processus. On peut ne pas savoir quel genre de brûleur CD à demander jusquà ce que nous ayons certaine autre information

20 20 Sommaire –Les méthodes suivantes sont disponibles pour nous permettre de prévenir les interblocages. La plus part sont difficile ou non pratique. La plus part des systèmes utilisent la méthode de lautruche... ConditionApproche Exclusion MutuelleSpool tout Tenir et attendre Demander toutes les ressources initialement Pas de PréemptionEnlever les ressources Attente circulaireOrdre numérique des ressources Prévention des interblocages

21 21 Quiz Time! Questions?


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

Présentations similaires


Annonces Google