Examen final du système d'exploitation - blocage de classe 5 (1)

1. La notion d'impasse

1. Définition de l'impasse

Chaque processus attend la ressource entre les mains de l'autre, ce qui entraîne le phénomène selon lequel chaque processus est bloqué et incapable d'avancer.
Faites attention à la distinction entre impasse et famine
insérez la description de l'image ici

2. Conditions nécessaires à l'impasse

L'impasse doit remplir les quatre conditions suivantes en même temps, tant que l'une des conditions n'est pas vraie, l'impasse ne se produira pas
(1) conditions d'exclusion mutuelle.
Les interblocages ne peuvent résulter que d'un conflit pour des ressources qui doivent être utilisées exclusivement (par exemple, des baguettes de philosophe, des périphériques d'impression).
(2) Conditions de demande et de maintien.
Le processus a conservé au moins une ressource, mais il soumet une nouvelle demande de ressource, et la ressource est occupée par d'autres processus. A ce moment, le processus demandeur est bloqué, mais il ne lâche pas ses ressources existantes.
(3) Condition d'attente de la boucle.
Il existe une chaîne d'attente circulaire pour les ressources de processus, et la ressource obtenue par chaque processus de la chaîne est demandée simultanément par le processus suivant.
Remarque : Il doit y avoir une attente circulaire lorsqu'un blocage se produit, mais il peut ne pas y avoir de blocage lorsqu'une attente circulaire se produit.
(4) Aucune privation de conditions.
Les ressources obtenues par un processus ne peuvent pas être prélevées de force par d'autres processus avant qu'elles ne soient épuisées, mais ne peuvent être libérées qu'activement.

2. Prévention des impasses

Le traitement de l'impasse consiste à ne pas permettre l'apparition d'une impasse, qui est divisée en stratégie statique (pour éviter l'impasse) et stratégie dynamique (pour éviter l'impasse)

1. Prévenir les impasses

Cassez une ou plusieurs des quatre conditions nécessaires pour que l'impasse se produise.

2. Évitez les impasses

Utilisez une méthode pour empêcher le système d'entrer dans un état dangereux, évitant ainsi un blocage (algorithme du banquier)

3. Détection et libération des impasses

L'interblocage est autorisé, mais le système d'exploitation sera chargé de détecter l'occurrence d'un interblocage, puis de prendre certaines mesures pour résoudre l'interblocage.
(1) Destruction des conditions d'exclusion mutuelle
Si les ressources qui ne peuvent être utilisées que pour l'exclusion mutuelle sont transformées pour permettre une utilisation partagée, le système n'entrera pas dans un état de blocage. Par exemple : technologie SPOOLing, le système d'exploitation peut utiliser la technologie SPOOLing pour transformer logiquement l'appareil exclusif en appareil partagé.
Inconvénients : Toutes les ressources ne peuvent pas être transformées en ressources partagées et, pour la sécurité du système, l'exclusion mutuelle doit être protégée en de nombreux endroits. Par conséquent, les conditions d'exclusion mutuelle ne peuvent pas être brisées dans de nombreux cas.
(2) Détruire la condition de non-privation
Lorsqu'un processus demande de nouvelles ressources et ne peut être satisfait, il doit immédiatement libérer toutes les ressources qu'il détient, et réappliquer lorsqu'il en a besoin plus tard. Autrement dit, certaines ressources doivent être activement libérées même si elles n'ont pas été utilisées, brisant ainsi la condition inaliénable.
Inconvénients :
a. C'est plus compliqué à mettre en œuvre.
b. La libération des ressources acquises peut entraîner l'invalidation de la phase de travail précédente. Par conséquent, cette méthode ne convient généralement qu'aux ressources faciles à enregistrer et à restaurer, telles que le processeur.
c. L'application et la libération répétées de ressources augmenteront la surcharge du système et réduiront le débit du système.
d) Ce type de destruction signifie que tant qu'une certaine ressource est temporairement indisponible, les ressources obtenues auparavant doivent être abandonnées et réappliquées plus tard. Si cela se produit tout le temps, cela peut entraîner une famine du processus.
(3) Détruire la requête et conserver les conditions
L'allocation statique peut être utilisée, c'est-à-dire que le processus a demandé toutes les ressources dont il a besoin avant de s'exécuter, et il ne sera pas mis en service tant que ses ressources ne seront pas satisfaites. Une fois mises en service, ces ressources lui appartiennent toujours, et le processus ne demandera aucune autre ressource.
Cette stratégie est simple à mettre en œuvre, mais elle présente également des inconvénients évidents : certaines ressources ne peuvent être utilisées que pendant une courte période, donc si toutes les ressources sont conservées pendant toute la période d'exécution du processus, cela entraînera un grave gaspillage de ressources et une faible utilisation des ressources. . De plus, cette stratégie peut affamer certains processus.
(4) Destruction des conditions d'attente circulaires
Méthode : Trier linéairement tous les types de ressources du système (méthode d'allocation séquentielle des ressources). Tout d'abord, numérotez les ressources dans le système et stipulez que chaque processus doit demander des ressources dans l'ordre croissant du nombre, et les ressources du même type (c'est-à-dire les ressources avec le même numéro) peuvent être demandées en même temps.
Analyse du principe : un processus n'est éligible pour postuler à une ressource avec un nombre plus élevé que s'il occupe déjà une ressource avec un petit nombre. Selon cette règle, il est impossible qu'un processus qui détient déjà une ressource avec un grand nombre demande à l'envers une ressource avec un petit nombre, de sorte qu'il n'y aura pas de phénomène d'attente circulaire.
Inconvénients de cette stratégie :
a) Les numéros de série spécifiés pour les différentes ressources du système doivent être relativement stables, ce qui limite la multiplication de nouveaux types d'équipements.
b. Bien que l'ordre dans lequel la plupart des travaux utilisent réellement ces ressources ait été pris en compte lors de l'attribution des numéros de série aux types de ressources, il arrive souvent que l'ordre dans lequel les travaux utilisent diverses ressources soit différent de l'ordre spécifié par le système, ce qui entraîne gaspillage de ressources.
c. Pour la commodité des utilisateurs, le système devrait imposer le moins de restrictions possible aux utilisateurs lors de la programmation.Cependant, cette méthode de demande de ressources dans un ordre prescrit empêchera inévitablement les utilisateurs d'effectuer une programmation simple et indépendante.
insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_52030647/article/details/130659254
conseillé
Classement