Différence entre le blocage et la famine dans le système d'exploitation

Auteur: Laura McKinney
Date De Création: 3 Avril 2021
Date De Mise À Jour: 23 Avril 2024
Anonim
Différence entre le blocage et la famine dans le système d'exploitation - La Technologie
Différence entre le blocage et la famine dans le système d'exploitation - La Technologie

Contenu


L'impasse et la famine sont les deux conditions où les processus de demande de ressources ont été retardés. Bien que l’impasse et la famine soient toutes deux différentes les unes des autres à bien des égards. Impasse est une condition dans laquelle aucun processus ne poursuit son exécution et chacun attend les ressources acquises par les autres processus. D'autre part, dans famine, processus avec des priorités élevées utilise en permanence les ressources empêchant le processus de priorité basse d’acquérir les ressources. Laissez-nous discuter de quelques autres différences entre l’impasse et la famine à l’aide du tableau de comparaison ci-dessous.

  1. Tableau de comparaison
  2. Définition
  3. Différences Clés
  4. Conclusion

Tableau de comparaison

Base de comparaisonImpassefamine
De baseLe blocage est où aucun processus ne progresse et est bloqué.La famine est le moment où les processus de faible priorité sont bloqués et le processus de haute priorité se poursuit.
État naissantL’occurrence d’exclusion mutuelle, de conservation et d’attente, d’absence de préemption et d’attente circulaire simultanément.Application des priorités, gestion des ressources incontrôlée.
Autre nomAttente circulaire.Lifelock.
RessourcesDans une impasse, les ressources demandées sont bloquées par les autres processus.En cas de famine, les ressources demandées sont utilisées en permanence par des processus hautement prioritaires.
La préventionÉviter l’exclusion mutuelle, attendre et attendre, circuler et permettre la préemption. Vieillissement.


Définition de blocage

L’interblocage est une situation dans laquelle plusieurs processus de la CPU se font concurrence pour obtenir le nombre fini de ressources disponibles dans la CPU. Ici, chaque processus contient une ressource et attend l'acquisition d'une ressource détenue par un autre processus. Tous les processus attendent les ressources de manière circulaire. Dans l'image ci-dessous, vous pouvez voir que le processus P1 a acquis la ressource R2 qui est demandée par le processus P2 et que le processus P1 demande une ressource R1 qui est à nouveau détenue par R2. Ainsi, les processus P1 et P2 forment une impasse.

Le blocage est un problème courant dans les systèmes d'exploitation multitraitement, les systèmes distribués, ainsi que dans les systèmes informatiques parallèles. Pour lever la situation de blocage, quatre conditions doivent être réunies simultanément: exclusion mutuelle, attente et attente, absence de préemption et attente circulaire.


  • Exclusion mutuelle: Un seul processus à la fois peut utiliser une ressource si un autre processus demande la même ressource, il doit attendre que le processus utilisant la ressource la libère.
  • Tenir et attendre: Un processus doit détenir une ressource et attendre l'acquisition d'une autre ressource détenue par un autre processus.
  • Aucune préemption: Le processus contenant les ressources ne peut pas être préempté. Le processus contenant la ressource doit libérer la ressource volontairement une fois sa tâche terminée.
  • Attente circulaire: Le processus doit attendre les ressources de manière circulaire. Supposons que nous ayons trois processus {P0, P1, P2}. Le P0 doit attendre la ressource détenue par P1; P1 doit attendre pour acquérir la ressource détenue par le processus P2 et P2 doit attendre pour acquérir le processus détenu par P0.

Bien que certaines applications puissent détecter les programmes susceptibles d'être bloqués. Mais le système d'exploitation n'est jamais responsable de la prévention des blocages. Il est de la responsabilité des programmeurs de concevoir des programmes sans blocage. Cela peut être fait en évitant les conditions ci-dessus nécessaires à l’apparition d’une impasse.

Définition de la famine

La famine peut être définie comme lorsqu'une demande de processus pour une ressource et que cette ressource a été utilisée en permanence par les autres processus, le processus demandeur est alors confronté à la famine. En période de famine, un processus prêt à exécuter attend que le processeur alloue la ressource. Mais le processus doit attendre indéfiniment car les autres processus bloquent en permanence les ressources demandées.

Le problème de la famine se pose généralement dans algorithme d'ordonnancement prioritaire. Dans l'algorithme d'ordonnancement prioritaire, la ressource est toujours affectée au processus de priorité supérieure, empêchant ainsi le processus de priorité inférieure d'obtenir la ressource demandée.

Vieillissement peut résoudre le problème de la famine. Le vieillissement augmente progressivement la priorité du processus qui attend depuis longtemps les ressources. Le vieillissement empêche un processus peu prioritaire d'attendre indéfiniment une ressource.

  1. Dans une impasse, aucun des processus ne poursuit son exécution, chaque processus est bloqué dans l'attente des ressources acquises par l'autre processus. En revanche, la famine est une condition qui permet aux processus possédant une priorité plus élevée d’acquérir les ressources en continu en empêchant les processus de priorité basse d’acquérir des ressources, ce qui entraîne le blocage indéfini des processus de priorité basse.
  2. Le blocage se produit lorsque quatre conditions Exclusion mutuelle, attente et attente, aucune préemption et circulaire d'attente se produit simultanément. Cependant, la famine survient lorsque le processus les priorités ont été appliquées lors de l’allocation des ressources, ou bien la gestion des ressources est incontrôlée dans le système.
  3. Le blocage est souvent appelé par son nom attente circulaire alors que la famine s'appelle Verrou vécu.
  4. Dans l’impasse, les ressources sont bloquées par le processus alors que, dans le cas de famine, les processus sont utilisés en permanence par les processus hautement prioritaires.
  5. On peut éviter l'impasse en évitant les conditions telles que l'exclusion mutuelle, le maintien en attente et l'attente circulaire et en permettant la préemption des processus qui conservent des ressources pendant une longue période. En revanche, la famine peut être prévenue en vieillissement.

Conclusion:

Les impasses et la famine retardent l'exécution du processus en le bloquant. D'une part, une impasse peut provoquer la mort de processus, et d'autre part, une famine peut permettre aux processus de sortir de l'impasse.