Rozdíl mezi zablokováním a hladem v OS

Autor: Laura McKinney
Datum Vytvoření: 3 Duben 2021
Datum Aktualizace: 23 Duben 2024
Anonim
Rozdíl mezi zablokováním a hladem v OS - Technologie
Rozdíl mezi zablokováním a hladem v OS - Technologie

Obsah


Deadlock i Starvation jsou podmínky, kdy procesy vyžadující zdroj byly zpožděny dlouhou dobu. Ačkoli slepá ulička a hladovění se od sebe v mnoha aspektech liší. Deadlock je stav, kdy žádný proces nepostupuje k provedení a každý čeká na zdroje, které byly získány jinými procesy. Na druhé straně, v Hladovění, proces s vysokými prioritami nepřetržitě používá prostředky zabraňující procesu s nízkou prioritou získávání zdrojů. Pojďme diskutovat o některých dalších rozdílech mezi zablokováním a hladováním pomocí srovnávací tabulky níže.

  1. Srovnávací tabulka
  2. Definice
  3. Klíčové rozdíly
  4. Závěr

Srovnávací tabulka

Základ pro srovnáníDeadlockHladovění
ZákladníDeadlock je místo, kde žádný proces neprobíhá a je blokován.Hladovění je místo, kde se zablokují procesy s nízkou prioritou a pokračuje proces s vysokou prioritou.
Vznikající stavVýskyt vzájemného vyloučení, přidržení a čekání, žádné preempce a kruhové čekání současně.Prosazování priorit, nekontrolované řízení zdrojů.
Jiné jménoKruhové čekání.Záchranný kruh.
ZdrojeV zablokovaném stavu jsou požadované prostředky blokovány ostatními procesy.V hladovění jsou požadované zdroje nepřetržitě využívány procesy s vysokou prioritou.
PrevenceVyhněte se vzájemnému vyloučení, držte a čekejte, a kruhové čekání a umožněte preempci. Stárnutí.


Definice mrtvého úhlu

Deadlock je situace, kdy několik procesů v CPU soupeří o konečný počet zdrojů dostupných v CPU. Zde každý proces obsahuje prostředek a čeká na získání prostředku, který je držen jiným procesem. Všechny procesy čekají na zdroje kruhovým způsobem. Na obrázku níže vidíte, že proces P1 získal zdroj R2, který je požadován procesem P2, a proces P1 požaduje zdroj R1, který je opět držen R2. Takže proces P1 a P2 tvoří zablokování.

Deadlock je běžný problém v multiprocesových operačních systémech, distribuovaných systémech a také v paralelních výpočetních systémech. Současně se musí vyskytnout čtyři podmínky, které zvýší stav zablokování, a to vzájemné vyloučení, přidržení a čekání, žádné vyloučení a kruhové čekání.


  • Vzájemné vyloučení: Zdroj může používat pouze jeden proces, pokud jiný proces požaduje stejný prostředek, musí počkat, až ho uvolní proces využívající prostředek.
  • Počkejte a čekejte: Proces musí držet zdroj a čekat na získání jiného zdroje, který je držen jiným procesem.
  • Žádná výjimka: Proces, který drží zdroje, nelze předvídat. Proces, který drží zdroj, musí uvolnit zdroj dobrovolně, jakmile splní svůj úkol.
  • Kruhové čekání: Proces musí čekat na zdroje kruhovým způsobem. Předpokládejme, že máme tři procesy {P0, P1, P2}. P0 musí čekat na zdroj v držení P1; P1 musí počkat, až získá zdroj držený procesem P2, a P2 musí počkat, až získá proces držený P0.

I když existují některé aplikace, které mohou detekovat programy, které se mohou zablokovat. Ale operační systém není nikdy zodpovědný za prevenci zablokování. Je odpovědností programátorů navrhnout programy bez zablokování. To lze dosáhnout vyhnutím se výše uvedeným podmínkám, které jsou nezbytné pro výskyt zablokování

Definice hladovění

Hladovění lze definovat jako případ, kdy procesní požadavek na zdroj a tento prostředek byl nepřetržitě používán jinými procesy, pak se žádající proces potýká s hladováním. Při hladovění čeká proces připravený ke spuštění, až CPU přidělí zdroj. Proces však musí čekat neomezeně dlouho, protože ostatní procesy neustále blokují požadované zdroje.

Problém hladovění se obecně vyskytuje v algoritmus plánování priorit. V algoritmu plánování priority je procesu s vyšší prioritou vždy přidělen prostředek, což brání procesu nižší priority získat požadovaný prostředek.

Stárnutí může vyřešit problém hladovění. Stárnutí postupně zvyšuje prioritu procesu, který dlouho čekal na zdroje. Stárnutí zabraňuje procesu s nízkou prioritou čekat na zdroj po dobu neurčitou.

  1. Ve slepé uličce žádný proces neprobíhá k provedení, každý proces je blokován čekáním na zdroje získané jiným procesem. Na druhé straně hladovění je podmínka, kdy procesy, které mají vyšší prioritu, mohou získávat zdroje nepřetržitě tím, že zabraňují procesům s nízkou prioritou získat zdroje, což má za následek neurčité blokování procesů s nízkou prioritou.
  2. Deadlock nastane, když čtyři podmínky Vzájemné vyloučení, Hold and wait, No preemption a Circular wait dochází současně. K hladovění však dochází při procesu priority byly vynucovány při přidělování zdrojů nebo v systému je nekontrolované řízení zdrojů.
  3. Deadlock se často nazývá jménem kruhové čekání zatímco hladovění se nazývá Živý zámek.
  4. V Deadlock jsou prostředky blokovány procesem, zatímco v hladovění jsou procesy nepřetržitě využívány procesy s vysokými prioritami.
  5. Deadlock lze zabránit tím, že se vyhneme podmínkám, jako je vzájemné vyloučení, Hold and wait a Circular wait a tím, že se umožní preemption procesů, které drží zdroje po dlouhou dobu. Na druhou stranu Starvationu lze zabránit stárnutí.

Závěr:

Deadlock i Starvation zpožďují provádění procesu jeho blokováním. Na jedné straně, kde zablokování může způsobit hladovění procesů, a na druhé straně hladovění může dostat procesy z mrtvého bodu.