Zablokování a hladování v operačním systému OS

Anonim

Operační systém je nejzákladnější software, který běží na počítači. Je zodpovědný za správu paměti a procesů počítače, stejně jako s ochranou detailů hardwaru z aplikačních programů. Operační systém počítače také zajišťuje spravedlivé přidělování zdrojů uživatelům a programům, na rozdíl od rovnoměrné distribuce mezi procesy. Správný plánovací systém umožňuje, aby jeden proces využíval procesor, zatímco druhý čeká ve frontě. Výsledkem je, že každý podproces dostává dostatečný přístup k omezeným zdrojům, které brání dvěma nejčastějším podmínkám, které by jinak zpozdily proces: Zablokování a hladomor. Oba jsou související pojmy, kde procesy nemají přístup k prostředkům. Tento článek zdůrazňuje některé klíčové body, které porovnávají tyto dva na různých frontách.

Co je Deadlock?

Uzavřený stav je stav, kdy je soubor bloků blokován, protože každý proces, který drží zdroj, se pokouší získat přístup k jiným zdrojům, které jsou drženy jiným procesem, což nakonec zabraňuje spravedlivému plánování systému. Situace zablokování nastává, pokud platí následující čtyři podmínky: Vzájemné vyloučení znamená, že jediný proces může přistupovat ke zdroji najednou; Žádná podmínka předem nepředpokládá, že zdroj může být uvolněn pouze dobrovolně procesem, který tento zdroj uchovává; Podržení a čekání znamená, že přidržení prostředků v procesu může vyžadovat další zdroje uchovávané jinými procesy a; Okrouhlé čekání znamená, že dva nebo více procesů jsou uvízlé v kruhovém řetězci a čekají na to, aby každý proces uvolnil své příslušné zdroje.

Co je hladovění?

Hladovění je stav, který vzniká, když proces přejde do čekací doby na neurčito, protože proces s nízkou prioritou nikdy nemá příležitost k přístupu k prostředku kvůli neustálému toku procesů s vysokou prioritou, které přistupují ke stejnému zdroji. Jedná se o problém správy zdrojů, protože procesu je odepřen přístup k prostředku, který vyžaduje, a tím tlačí proces do neurčité čekací doby. Stává se to proto, že zdroj, který vyžaduje, není nikdy přidělen procesu, který způsobuje, že proces ztratí hladinu zdrojů, a proto se jmenuje. Nejlepším způsobem, jak se vyhnout hladovění, je použít technologii stárnutí, která postupně zvyšuje prioritu procesů, které jsou v době čekání dlouhou dobu, aby byl zajištěn spravedlivý plánovací systém.

Rozdíl mezi zablokováním a hladovění v systému OS

  1. Definice zablokování a hladovění

Jak zablokování, tak hladovění jsou související pojmy, které brání spravedlivému plánování systému, kde jsou procesy blokovány z přístupu k prostředkům. Uzavřený klíč, jak naznačuje název, odkazuje na stav, kdy je soubor bloků nebo procesů zablokován, protože každý proces čeká na získání zdroje, který je držen jiným procesem, což vede k zablokování situace, kdy programy přestanou fungovat. Hladovění je na druhé straně způsobeno zablokováním, které způsobí zmrazení procesu, protože procesu s nízkou prioritou je odepřen přístup k prostředku, který je přidělen procesu s vysokou prioritou.

  1. Stav

Zablokování znamená konkrétní stav, ke kterému dochází, když vlákno nebo proces přejde do čekací doby, protože systémový zdroj, který požaduje, je držen jiným procesem, který na oplátku čeká na další proces uvolnění svého prostředku, čímž vznikne zablokování. To je způsobeno špatným využíváním zdrojů. Hladovění je podmínkou neurčitého odkladu, kdy proces s nízkou prioritou je odepřen přístup k potřebným zdrojům, protože zdroje jsou přiděleny jinému procesu s vysokou prioritou. Jedná se o problém správy zdrojů, který nutí systém přidělit zdroje pouze pro procesy s vysokou prioritou.

  1. Charakterizace zablokování a hladovění

Zablokování je konečná podoba hladovění, která je způsobena tehdy, když se současně vyskytují následující čtyři stavy: Vzájemné vyloučení, Žádná předběžná, Hold & Wait a Kruhová čekání. Podmínka zablokování nastane pouze v systémech, ve kterých jsou splněny všechny čtyři podmínky. Starvation se objevuje na základě různých podmínek, například když není dostatek prostředků k procházení a priorita procesů se začíná snižovat nebo když procesy začínají předávat zdroje jiným procesům bez kontroly. Pokud proces s nízkou prioritou požaduje zdroj vyhrazený pro procesy s nejvyšší prioritou, proces se vyhladí navždy. Starvation také nastane, když jsou zdroje přiděleny libovolně, což způsobí, že procesy čekají na delší časové období.

  1. Prevence

Hladovění lze zabránit použitím vhodného plánovacího algoritmu s prioritní frontou, který ve skutečnosti také používá metodu stárnutí - plánovací techniku, která přidává faktor stárnutí k prioritě každé žádosti, což znamená, že zvyšuje prioritní úroveň procesů s nízkou prioritou, které čekají na dlouhou dobu. Poskytování více zdrojů programům by mělo zabránit dalšímu přetížení zdrojů. Aby nedošlo k zablokování systému, musí být procesům odepřen přístup k jednomu nebo více zdrojům, zatímco současně čeká na druhé a jediný proces by měl mít přístup ke zdroji najednou.

Deadlock vs. hladovění: Srovnávací graf

Přehled Deadlock VS. Hladovění

Jak zablokování, tak hladovění jsou související pojmy v operačních systémech s více procesy nebo v distribuovaných systémech, které způsobují, že jeden nebo více závitů nebo procesů uvízne v čekání na potřebné zdroje. Zablokování je situace, která nastává, když jeden nebo více procesů vyžaduje přístup ke stejnému zdroji, který způsobuje zmrazení procesu, zatímco hladovění je způsobeno zablokováním, které tlačí proces do neurčitého stavu odložení, protože procesům je odepřen přístup k prostředku, proces s vysokou prioritou a musí čekat navždy.