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

GEF 435 Principes des systèmes dexploitation Interblocage (Tanenbaum 3.1, 3.2, 3.3)

Présentations similaires


Présentation au sujet: "GEF 435 Principes des systèmes dexploitation Interblocage (Tanenbaum 3.1, 3.2, 3.3)"— Transcription de la présentation:

1 GEF 435 Principes des systèmes dexploitation Interblocage (Tanenbaum 3.1, 3.2, 3.3)

2 Revue Quels facteurs sont pris en ligne de compte quand on veut désigner une grandeur de quantum pour lordonnance tourniquet ( Round-Robin )? Comment est-ce que lordonnance du processus le plus court le prochain fonctionne dans un système interactif?

3 Synopsis Ressources Introduction aux interblocages Conditions pour linterblocage Modélisation des interblocages Stratégies pour faire face aux interblocages Lalgorithme de lautruche (Plus à la prochaine classe)

4 Ressources Les processus on souvent besoin daccès exclusifs aux ressources (mémoire, fichiers, périphériques, …) pour exécuter leurs fonctions Peut être du matériel, ie: tape drive Peut être de linformation, ie: enregistrement dans une base de données On peut avoir plusieurs copies des ressources qui existent, ie, on peut avoir deux CD-ROMs sur un PC Pour cette section sur les interblocages, nous référons à la collection dobjets qui peuvent être réservés exclusivement par un processus comme étant des ressources

5 Ressources Les ressources nous viennent en deux saveurs: Une ressource qui est non-préemptible ne peut pas être enlevé à un processus eg: un écrivain de CD-ROM durant un enregistrement Une ressource qui peut être préemptée est une ressource qui peut être enlevée La mémoire est une ressource. Un processus qui exécute dans la mémoire peut être swapé pour un autre processus pour exécuter Considérez: deux processus où un seul à la fois peur être en mémoire. Si le premier processus obtient limprimante et est ensuite swapé; et que par la suite le deuxième processus a besoin de limprimante, on pourrait avoir un interblocage. Cependant parce que la mémoire est préemptive la situation peut être résolue en suspendant un des processus.

6 Ressources En général les ressources non-préemptives sont un requis pour avoir un interblocage Ce cours se penche sur les ressources qui ne sont pas préemptives Notre abstraction des processus qui utilisent les ressources: Demande la ressource (bloque si la ressource nest pas disponible) Utilise la ressource Relâche la ressource

7 Définition de linterblocage Définition formelle: Un ensemble de processus sont en interblocage si chaque processus attend pour un événement que seulement un autre processus dans lensemble peut causer Donc les processus dans lensemble ne vont pas séveiller parce quils attendent après dautres processus dans lensemble qui ne séveilleront jamais Supposition: chaque processus a un seul fil dexécution et aucune interruption ne peut éveiller un processus qui est bloqué

8 Conditions pour linterblocage Il y a quatre conditions pour engendrer un interblocage. Si une de ces conditions est absente, linterblocage est impossible 1.Condition dexclusion mutuelle. Chaque ressource est couramment utilisée par exactement un processus ou nest pas disponible 2.Condition de tenir et attendre.(hold and wait) Les processus qui tiennent des ressources allouées plutôt, peuvent demander de nouvelles ressources (et possiblement attendre)

9 Conditions pour linterblocage Il y a quatre conditions pour engendrer un interblocage: 3.Condition de non-préemption. Les ressources qui ont étés assignées auparavant ne peuvent pas être enlevées de force à un processus. Elles doivent être relâchées explicitement par le processus qui les tient 4.Condition dattente circulaire. Il doit y avoir une chaîne dattente circulaire avec deux processus ou plus, chacun dentre eux attendant pour une ressource tenue par un autre membre dans la chaîne

10 Modélisation de linterblocage Les graphes dirigés peuvent être utilisés pour modéliser les interblocages : R A Ressource RProcessus A Ressource R donnée au processus A R A Processus A attend pour la ressource R

11 Modélisation de linterblocage Comment est-ce que les interblocages sont représentés graphiquement? Cest une boucle fermée dans un graphe dirigé

12 Modélisation de linterblocage Comment peut-on utiliser les graphes dirigés? Ce sont des outils qui nous laissent voir si une séquence dallocation et relâche de ressources vont entraîner un interblocage Exemple: trois processus, A, B, et C et trois ressources R, S, et T. A peut utiliser R et S, B peut utiliser S et T, et C peut utiliser T et R

13 Modélisation de linterblocage A demande R B demande S C demande T Est-ce que cela nous aide à prévenir les interblocages? Pas encore; plus tard nous allons voir comment cette vérification visuelle peut être implémentée comme un algorithme pour détecter les interblocages A demande S B demande T C demande R interblocage!

14 Stratégies pour les interblocages On sait comment les interblocages arrivent, mais que peut-on faire pour les arrêter? Quatre stratégies: Ignorer le problème (Lalgorithme de lautruche) Détection et reprise Laisser linterblocage arriver, mais les détecter et prendre action pour les corriger Évitement dynamique Allouer les ressources très judicieusement Prévention Empêcher une des quatre conditions discutées plus tôt

15 Stratégies pour les interblocages Lalgorithme de lautruche Accepter les interblocages et navoir aucun plan pour les régler Entre amis que veut dire lécran bleue de la mort de toute façon?

16

17 Stratégies pour les interblocages Lalgorithme de lautruche Actuellement une solution très viable Si la probabilité dinterblocage est dune fois par année, et que le matériel demande dêtre redémarré chaque jour, est-ce quune solution dinterblocage très robuste est requise (temps et $)? Ce genre dalgorithme est utilisé pour Unix et Windows: Il y a un nombre de processus limité (N) qui peut être démarré. Si X processus ont (N-1) processus enfants qui exécutent, et que cinq processus de plus sont requis par les processus pour finir leurs job, vous avez un interblocage

18 Quiz Time! Questions?


Télécharger ppt "GEF 435 Principes des systèmes dexploitation Interblocage (Tanenbaum 3.1, 3.2, 3.3)"

Présentations similaires


Annonces Google