Rozdiel medzi zablokovaním a hladovaním v OS

Autor: Laura McKinney
Dátum Stvorenia: 3 Apríl 2021
Dátum Aktualizácie: 23 Apríl 2024
Anonim
Rozdiel medzi zablokovaním a hladovaním v OS - Technológie
Rozdiel medzi zablokovaním a hladovaním v OS - Technológie

Obsah


Zablokovanie a hladovanie sú podmienky, v ktorých boli procesy vyžadujúce zdroj dlho oneskorené. Aj keď uviaznutie na mŕtvom bode a hladovanie sú v mnohých ohľadoch navzájom odlišné. deadlock je stav, keď na vykonanie neprebieha žiadny proces a každý čaká na zdroje, ktoré získali iné procesy. Na druhej strane, v hladovania, proces s vysokými prioritami nepretržite využíva zdroje, ktoré bránia procesu s nízkou prioritou na získanie zdrojov. Poďme diskutovať o niektorých ďalších rozdieloch medzi zablokovaním a hladovaním pomocou porovnávacej tabuľky uvedenej nižšie.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnávaniedeadlockhladovania
základnéZablokovanie je miesto, kde nepostupuje žiadny proces a je zablokovaný.Hladovanie je miesto, kde sa blokujú procesy s nízkou prioritou a pokračuje proces s vysokou prioritou.
Vznikajúci stavVýskyt vzájomného vylúčenia, pozastavenie a čakanie, žiadna preempcia a cirkulárne čakanie súčasne.Presadzovanie priorít, nekontrolované riadenie zdrojov.
Iné menoKruhové čakanie.LifeLock.
zdrojeV zablokovanom stave sú požadované zdroje blokované ostatnými procesmi.Pri hladovaní sú požadované zdroje nepretržite využívané procesmi s vysokou prioritou.
prevenciaVyhnite sa vzájomnému vylúčeniu, čakajte a počkajte a cyklicky čakajte a umožňujte vylúčenie. Starnutie.


Definícia mŕtveho bodu

Deadlock je situácia, keď niekoľko procesov v CPU súťaží o konečný počet zdrojov dostupných v CPU. Každý proces tu drží prostriedok a čaká na získanie prostriedku, ktorý má v držbe iný proces. Všetky procesy čakajú na zdroje kruhovým spôsobom. Na obrázku nižšie vidno, že proces P1 získal prostriedok R2, ktorý je požadovaný procesom P2 a proces P1 požaduje zdroj R1, ktorý je opäť držaný R2. Proces P1 a P2 teda predstavuje patovú situáciu.

Deadlock je bežný problém v multiprocesových operačných systémoch, distribuovaných systémoch a tiež v paralelných počítačových systémoch. Súčasne sa musia vyskytnúť štyri podmienky, aby sa zvýšil stav zablokovania, a to vzájomné vylúčenie, pozastavenie a čakanie, žiadne vylúčenie a kruhové čakanie.


  • Vzájomné vylúčenie: Zdroj môže použiť naraz iba jeden proces, ak iný proces vyžaduje rovnaký prostriedok, musí počkať, kým ho proces pomocou prostriedku neuvoľní.
  • Počkajte a čakajte: Proces musí držať zdroj a čakať na získanie iného prostriedku, ktorý má v držbe iný proces.
  • Žiadna výnimka: Proces držania zdrojov nemožno vylúčiť. Proces, v ktorom sa nachádza zdroj, musí zdroj dobrovoľne uvoľniť, keď dokončí svoju úlohu.
  • Kruhové čakanie: Proces musí čakať na zdroje v kruhovej podobe. Predpokladajme, že máme tri procesy {P0, P1, P2}. P0 musí čakať na zdroj, ktorý vlastní P1; P1 musí čakať na získanie prostriedku držaného procesom P2 a P2 musí čakať na získanie procesu držaného P0.

Aj keď existujú niektoré aplikácie, ktoré dokážu zistiť programy, ktoré sa môžu zablokovať. Ale operačný systém nikdy nie je zodpovedný za zabránenie uviaznutiu na mŕtvom bode. Je zodpovednosťou programátorov navrhnúť programy bez zablokovania. Môže sa to dosiahnuť vylúčením vyššie uvedených podmienok, ktoré sú nevyhnutné pre výskyt zablokovania

Definícia hladu

Hladovanie sa dá definovať ako vtedy, keď procesová požiadavka na zdroj a tento prostriedok bol nepretržite používaný ostatnými procesmi, potom je žiadajúci proces vystavený hladovaniu. Pri hladovaní proces pripravený na vykonanie čaká na pridelenie prostriedku CPU. Proces však musí čakať donekonečna, pretože ostatné procesy nepretržite blokujú požadované zdroje.

Problém hladovania sa všeobecne vyskytuje v roku 2007 algoritmus plánovania priorít, V algoritme plánovania priority je prostriedku s vyššou prioritou vždy pridelený prostriedok, ktorý bráni procesu s nižšou prioritou získať požadovaný prostriedok.

starnutie môže vyriešiť problém hladovania. Starnutie postupne zvyšuje prioritu procesu, ktorý dlho čaká na zdroje. Starnutie zabraňuje procesu s nízkou prioritou čakať neurčito na zdroj.

  1. V slepej uličke žiadny z procesov neprebieha na vykonanie, každý proces sa zablokuje čakaním na prostriedky získané iným procesom. Na druhej strane hladovanie je stav, keď procesy, ktoré majú vyššiu prioritu, môžu získať prostriedky nepretržite tak, že zabránia procesom s nízkou prioritou získať zdroje, čo vedie k neurčitému blokovaniu procesov s nízkou prioritou.
  2. Zablokovanie nastane, keď nastanú štyri podmienky Vzájomné vylúčenie, pozastavenie a čakanie, žiadne vylúčenie a kruhové čakanie vyskytuje sa súčasne. Hladovanie však nastane, keď sa proces vykonáva priority boli presadené pri prideľovaní zdrojov alebo v systéme je nekontrolované spravovanie zdrojov.
  3. Deadlock sa často nazýva menom kruhové čakanie zatiaľ čo hladovanie sa volá Prežil zámok.
  4. V deadlocke sú zdroje blokované procesom, zatiaľ čo v hladovaní procesy neustále využívajú procesy s vysokými prioritami.
  5. Patovej situácii sa dá zabrániť tým, že sa vyhneme podmienkam, ako je vzájomné vylúčenie, pozastavenie a čakanie a cyklické čakanie, a umožnením preempcie procesov, ktoré zadržiavajú zdroje na dlhú dobu. Na druhej strane Hladom môže zabrániť starnutie.

záver:

Deadlock aj Starvation oneskorujú vykonávanie procesu jeho zablokovaním. Na jednej strane, kde zablokovanie môže spôsobiť hladovanie procesov, a na druhej strane hladovanie môže dostať procesy z mŕtveho bodu.