Aide en ligne ESET

Rechercher Français (France)
Sélectionner la rubrique

Blocage

Un blocage est une situation dans laquelle chaque processus informatique attend une ressource qui est attribuée à un autre processus. Dans cette situation, aucun des processus ne peut être exécuté puisque la ressource requise est détenue par un autre processus qui attend également la libération d'une autre ressource. Il est important de prévenir un blocage avant qu'il ne se produise. Un blocage peut être détecté par le planificateur de ressources, qui permet au système d'exploitation de garder la trace de toutes les ressources allouées aux différents processus. Un blocage peut se produire si les quatre conditions suivantes sont réunies simultanément :

Aucune action préemptive : une ressource ne peut être libérée que volontairement par le processus qui la détient après que celui-ci ait terminé sa tâche.

Exclusion mutuelle : type spécial de sémaphore binaire utilisé pour contrôler l'accès à la ressource partagée. Il permet de bloquer les tâches actuelles dont la priorité est plus élevée pendant le moins de temps possible.

Retenir et attendre : dans cette condition, les processus doivent être empêchés de retenir une ou plusieurs ressources tout en attendant simultanément une ou plusieurs autres.

Attente circulaire : elle impose un ordonnancement total de tous les types de ressources. L'attente circulaire requiert également que chaque processus demande des ressources dans l'ordre croissant de l'énumération.

 

Trois méthodes permettent de gérer un blocage :

Ne pas laisser le système dans un état de blocage.

Laisser le blocage se produire, puis faire de la préemption pour le gérer lorsqu’il se produit.

Si un blocage se produit, redémarrer le système.