Différence clé: le blocage correspond à la situation où des processus sont bloqués dans une circulaire en attente des ressources. D'autre part, la famine survient lorsqu'un processus attend indéfiniment une ressource. Une impasse implique la famine mais la famine n'implique pas une impasse.
Un exemple simple en est un système avec deux lecteurs de bande, et deux processus occupent chacun un lecteur de bande et attendent l’autre comme condition préalable.
Il est important de mentionner que la situation de blocage se produit si ces quatre conditions sont réunies -
- Exclusion mutuelle - une ressource ne peut être utilisée que par un processus à la fois
- Mettre en attente et attendre: un processus occupant au moins une ressource doit acquérir une ressource supplémentaire occupée par un autre processus. Ce processus attend donc que cette ressource soit libérée.
- Pas de préemption - la ressource est libérée uniquement par le processus qui l'a occupée, une fois sa tâche accomplie.
- Attente circulaire - tous les processus des ensembles attendent une ressource détenue par d'autres processus, y compris le dernier processus de l'ensemble.
Il s’agit d’un processus dont la priorité est pire et qui ne reçoit pas la ressource en raison d’un flux constant de processus de meilleure priorité que celui-ci et, par conséquent, le processus peut devoir attendre indéfiniment. La solution au problème de la famine consiste à faire en sorte qu'un gestionnaire indépendant gère les allocations de ressources, en veillant à ce que chaque processus obtienne la ressource à un moment donné. Les sélections ou les concours aléatoires et incontrôlés doivent être évités pour éviter la famine. Une impasse implique la famine, mais la famine n'implique pas une impasse.
Par conséquent, l'impasse et la famine diffèrent les unes des autres. Une impasse se produit lorsqu'aucun des processus de l'ensemble n'est capable d'avancer en raison de l'occupation des ressources requises par un autre processus. D'autre part, la famine survient lorsqu'un processus attend une période indéterminée pour obtenir la ressource dont il a besoin.
Comparaison entre impasse et famine:
Impasse | famine | |
Définition | Une impasse se produit lorsqu'aucun des processus de l'ensemble n'est capable d'avancer en raison de l'occupation des ressources requises par un autre processus. | La famine survient lorsqu'un processus attend une période indéterminée pour obtenir la ressource dont il a besoin. |
Autre nom | Attente circulaire | Verrou vécu |
Conditions naissantes | Ces quatre conditions naissent simultanément: exclusion mutuelle, attente et attente, non-préemption et esprit circulaire | Gestion incontrôlée des ressources Les priorités de processus étant strictement appliquées Rareté des ressources |
Techniques d'évitement / de prévention |
|
|
Le progrès | Aucun processus ne peut progresser | Outre le processus de la victime, d'autres processus peuvent progresser ou se poursuivre |
Fin | Nécessite une intervention externe | Peut nécessiter ou non une intervention externe |