Les interblocages surviennent lorsque chaque processus d'un ensemble de processus contrôle une ressource requise par un autre processus de l'ensemble. Chaque processus se bloque en attendant que la ressource requise soit disponible. Quatre conditions sont indispensables pour qu'un interblocage survienne : une exclusion mutuelle, une détention et une attente, l'absence de préemption, une attente circulaire.
Il est possible d'éviter l'interblocage à condition que les quatre conditions ne soient pas réunies. Cependant, au lieu d'essayer d'éliminer l'une des conditions nécessaires à l'apparition des interblocages, les systèmes peuvent également les laisser se produire (en espérant que cela reste peu fréquent) pour les corriger lorsqu'ils surviennent.
Une telle stratégie fait appel à des mécanismes de détection et de correction des interblocages. Un graphe d'allocation des ressources peut être utilisé pour modéliser l'état des allocations de ressources et celui des requêtes : c'est ce formalisme que nous adopterons dans l'implémentation du projet.
[...] Le mécanisme de sélection peut-il lui éviter de prendre fin ? DIAGRAMME DE SIMULATION : Cas de la solution interactive : Etape 1 : Création des processus et des ressources Fig 1.1 Situation initiale de création des processus et des ressources Etape 2 : Création d'une requête entre un processus et une ressource Fig 1.2 Situation de création / libération d'un processus et d'une ressource Cas de la solution dynamique : Etape 1 : La situation initiale. Cette image représente l'état initial de l'animation interblocage qui consiste à simuler un exemple d'interblocage dans un trafic routier. [...]
[...] Le contexte : Cette animation a été conçue dans l'objectif de montrer une situation d'interblocage ainsi qu'une manière de la corriger. C'est dans cette optique que nous proposons deux solutions à savoir une solution interactive et une autre dynamique. La solution interactive permet de montrer à l'utilisateur par ses propres manipulations l'ensemble des aspects du phénomène d'interblocage tel qu'il se présente dans un système d'exploitation moderne. De manière explicite il s'agit de montrer les quatre conditions ci-dessus citées nécessaires pour l'obtention d'un interblocage. [...]
[...] Etape 3 : La situation d'interblocage. On observe une situation d'interblocage d'une part entre les voitures 1 et 2 et d'autre part entre les voitures 3 et 4. L'ensemble de ces situations dans l'image est matérialisé par des cercles rouges qui mettent en valeur les points de collision entre les véhicules. Etape 4 : La correction de l'interblocage Le processus de correction commence par le retour arrière de la voiture 2 qui suspend ensuite son mouvement en laissant le passage à la voiture 1. [...]
[...] Du point de vue solution dynamique, la correction de l'interblocage par la méthode de la préemption automatique pose quelques problèmes majeurs pour mettre en œuvre cette stratégie : Sélection : quelles ressources de quels processus vont être préemptées ?Si la décision est prise de préempter une ressource d'un processus, toutes ces autres ressources doivent-elles être préemptées ? D'autres facteurs permettant de prendre la décision sont les suivants : Quelle est la priorité d'un processus ? Depuis combien de temps s'exécute-t-il ? De combien de temps un processus a-t-il besoin pour s'exécuter ? Combien de ressources un processus contient-il habituellement ? Quelle est la taille des différents ensembles de ressources qui, s'ils étaient libérés, interrompraient l'interblocage ? Combien de processus seraient affectés ? Conséquence : qu'arrive-t-il aux processus qui ont leurs ressources préemptées ? [...]
[...] La correction de toute situation d'interblocage créée par la méthode précédente. La solution dynamique quant à elle présente un modèle d'interblocage basé sur le trafic routier, des voitures se rencontrent à un carrefour et chacune d'entre elles veut absolument la voie pour poursuivre son trajet. En supposant que chaque voiture en cours de mouvement représente un processus en exécution, arrivé au carrefour on aura un verrou mortel c'est la raison pour laquelle il faudra absolument donner à chaque processus une priorité de manière à les ordonnancer, seul s'exécute le processus ayant la priorité la plus élevée : c'est la méthode par préemption automatique qui consiste à préempter un sous ensemble de ressources allouées ;c'est la méthode de correction que nous allons adopter pour résoudre ce problème. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture