Différence entre l'impasse et la famine

Différence entre l'impasse et la famine

Blocage vs famine
 

La principale différence entre l'impasse et la famine est la relation de cause et d'effet entre eux; c'est l'impasse qui provoque la famine. Une autre différence intéressante entre l'impasse et la famine est que l'impasse est un problème tandis que la famine peut parfois aider à sortir d'une impasse. Dans le monde de l'informatique, lors de l'écriture d'un programme informatique, il y aura plus d'un processus / thread qui en exécutera simultanément les autres afin de réaliser le service requis au programme. Par conséquent, pour avoir un système équitable, le programmeur doit avoir pour s'assurer que tous les processus / threads recevront ou auront suffisamment d'accès aux ressources dont ils ont besoin. Sinon, il y aura une impasse, et cela conduira à une famine plus tard. Généralement, un système équitable ne contient aucune impasse ni mise en vedette. Les impasses et les familles se produiront principalement lorsque de nombreux threads concourront pour des ressources limitées.

Qu'est-ce que l'impasse?

Une impasse est Une condition qui se produit lorsque deux threads ou processus attendent les uns les autres pour terminer la tâche. Ils ne feront que raccrocher mais ne s'arrêteront ni ne termineront leur tâche. En informatique, les impasses peuvent être vues partout. Dans une base de données de transactions, lorsque deux processus chacun dans sa propre transaction mettent à jour les deux mêmes rangées d'informations, mais dans l'ordre opposé, provoquera une impasse. Dans la programmation simultanée, une impasse peut se produire lorsque deux actions concurrentes attendront les uns les autres pour avancer. Dans les systèmes de télécommunications, une impasse peut se produire en raison de la perte ou de la corruption des signaux.

À l'heure actuelle, l'impasse est l'un des principaux problèmes des systèmes multiprocesseurs et de l'informatique parallèle. En tant que solution, un système de verrouillage appelé Synchronisation du processus est implémenté pour les logiciels ainsi que le matériel.

Qu'est-ce que la famine?

Du dictionnaire des sciences médicales, la famine est le résultat d'un manque grave ou total de nutriments nécessaires pour le maintien de la vie. De même, en informatique, la famine est un problème qui est rencontré Lorsque plusieurs threads ou processus attendent la même ressource, ce qui est appelé une impasse.

Afin de sortir d'une impasse, l'un des processus ou des threads devrait avoir à abandonner ou à revenir en arrière afin que l'autre thread ou processus puisse utiliser la ressource. Si cela se produit en continu et que le même processus ou le même fil doit abandonner ou faire reculer à chaque fois tout en laissant d'autres processus ou threads pour utiliser la ressource, le processus ou le thread sélectionné, qui en arrière subira une situation appelée famine. Donc, Afin de sortir d'une impasse, la famine est l'une des solutions. Par conséquent, parfois la famine est appelée Une sorte de vie. Lorsqu'il y a de nombreux processus ou threads de grande priorité, un processus ou un thread de priorité inférieur meurera toujours de faim dans une impasse.

Il peut y avoir de nombreuses familles telles que mourir de faim sur les ressources et affamé sur le processeur. Il existe de nombreux exemples courants sur la famine. Ce sont le problème des lecteurs-écrivains et le problème des philosophes, qui est plus célèbre. Il y a cinq philosophes silencieux assis à une table ronde avec des bols de spaghetti. Les fourchettes sont placées entre chaque paire de philosophes adjacents. Chaque philosophe doit alternativement penser et manger. Cependant, un philosophe ne peut manger des spaghettis que lorsqu'il a à la fois des fourches gauche et droite.

Les «philosophes de restauration»

Quelle est la différence entre l'impasse et la famine?

• Processus:

4.

• Dans la famine, lorsque deux ou plusieurs threads ou processus attendent la même ressource, on reviendra et laissera les autres utiliser la ressource d'abord et ensuite le thread ou le processus de faim . Par conséquent, tous les threads ou processus avanceront de toute façon.

• Reculer:

4. Ça ne finit jamais.

• Mais, dans une famine, celles de faible priorité attendront ou reculeront, mais celles de grande priorité continueront.

• attente ou verrouillage:

• Une impasse est une attente circulaire.

• Une famine est une sorte de vie et aide parfois à sortir d'une impasse.

• Siège et faim:

• Une impasse provoque la famine, mais la famine ne provoque pas une impasse.

• Causes:

• Une impasse se produira en raison de l'exclusion mutuelle, de la maintien et de l'attente, pas de préemption ou d'attente circulaire.

• La famine se produit en raison de la rareté des ressources, de la gestion incontrôlée des ressources et des priorités de processus.

Résumé:

Blocage vs. famine

L'impasse et les familles sont quelques-uns des problèmes qui se produisent en raison des races de données et des conditions de course qui se produisent pendant la programmation ainsi que la mise en œuvre du matériel. Dans une impasse, deux threads s'attendront infiniment les uns les autres sans s'exécuter tandis que, dans une famine, un fil se retournera et laissera l'autre fil pour utiliser les ressources. Une impasse provoquera la famine tandis que la famine aidera un fil à sortir d'une impasse.

Images gracieuseté:

  1. Computer de Steve Jurvetson de Menlo Park, États-Unis (CC par 2.0)
  2. Les «philosophes de restauration» de Bdesham (CC By-Sa 3.0)