Rozdíl mezi zablokováním a hladověním

Obsah:

Rozdíl mezi zablokováním a hladověním
Rozdíl mezi zablokováním a hladověním

Video: Rozdíl mezi zablokováním a hladověním

Video: Rozdíl mezi zablokováním a hladověním
Video: Sociální podnikání ve Flandrech 2024, Červenec
Anonim

Deadlock vs. hladovění

Hlavní rozdíl mezi patovou situací a hladověním je ve vztahu příčiny a následku mezi nimi; je to uváznutí, které způsobuje hladovění. Dalším zajímavým rozdílem mezi patovou situací a hladověním je to, že uváznutí je problém, zatímco hladovění může někdy pomoci dostat se z patové situace. V počítačovém světě bude při psaní počítačového programu existovat více než jeden proces/vlákno, které bude probíhat souběžně jeden po druhém, aby splnily požadovanou službu programu. Proto, aby byl systém spravedlivý, programátor by měl zajistit, že všechny procesy/vlákna dostanou nebo získají dostatečný přístup ke zdrojům, které potřebují. Pokud ne, dojde k patové situaci a později to povede k hladovění. Obecně platí, že spravedlivý systém neobsahuje žádná uváznutí nebo hladovění. Zablokování a hladovění nastanou hlavně tehdy, když mnoho vláken soutěží o omezené zdroje.

Co je to Deadlock?

Zablokování je stav, ke kterému dochází, když dvě vlákna nebo procesy na sebe navzájem čekají na dokončení úlohy. Pouze zavěsí, ale nikdy nepřestanou ani nedokončí svůj úkol. V informatice jsou všude vidět uváznutí. Pokud v databázi transakcí dva procesy, každý ve své vlastní transakci, aktualizují stejné dva řádky informací, ale v opačném pořadí, způsobí uváznutí. Při souběžném programování může dojít k uváznutí, když dvě konkurenční akce budou na sebe čekat, aby pokračovaly vpřed. V telekomunikačních systémech může dojít k uváznutí v důsledku ztráty nebo poškození signálů.

V současné době je uváznutí jedním z hlavních problémů v systémech multiprocessingu a paralelních výpočtů. Jako řešení je implementován uzamykací systém zvaný synchronizace procesů pro software i hardware.

Rozdíl mezi mrtvým bodem a hladověním
Rozdíl mezi mrtvým bodem a hladověním
Rozdíl mezi mrtvým bodem a hladověním
Rozdíl mezi mrtvým bodem a hladověním

Co je hladovění?

Podle slovníku lékařské vědy je hladovění výsledkem vážného nebo úplného nedostatku živin, které jsou potřebné pro udržení života. Podobně v informatice je hladovění problém, se kterým se setkáváme, když několik vláken nebo procesů čeká na stejný zdroj, což se nazývá uváznutí.

Abyste se dostali ze zablokování, jeden z procesů nebo vláken by se měl vzdát nebo vrátit zpět, aby mohl zdroj používat druhé vlákno nebo proces. Pokud se to neustále děje a stejný proces nebo vlákno se musí pokaždé vzdát nebo vrátit zpět, zatímco nechá jiné procesy nebo vlákna používat prostředek, pak vybraný proces nebo vlákno, které se vrátilo zpět, podstoupí situaci nazývanou hladovění. Proto, abychom se dostali ze slepé uličky, je hladovění jedním z řešení. Proto se někdy hladovění nazývá druh živého zámku. Pokud existuje mnoho procesů nebo vláken s vysokou prioritou, proces nebo vlákno s nižší prioritou bude vždy hladovět v uváznutí.

Může dojít k mnoha hladovkám, jako je hladovění zdrojů a hladovění CPU. Existuje mnoho běžných příkladů hladovění. Jsou to problém čtenářů-spisovatelů a problém jídelních filozofů, což je známější. U kulatého stolu s mísami špaget sedí pět tichých filozofů. Mezi každou dvojici sousedních filozofů jsou umístěny vidličky. Každý filozof musí střídavě myslet a jíst. Filosof však může jíst špagety, pouze když má levou i pravou vidličku.

Deadlock vs hladovění
Deadlock vs hladovění
Deadlock vs hladovění
Deadlock vs hladovění

„Filosofové stravování“

Jaký je rozdíl mezi Deadlock a Hladověním?

Proces:

• V uváznutí budou dvě vlákna nebo procesy na sebe čekat a oba nebudou pokračovat.

• Při hladovění, když dvě nebo více vláken nebo procesů čekají na stejný zdroj, jedno se vrátí zpět a nechá ostatní použít zdroj jako první a poté to hladovějící vlákno nebo proces zkusí znovu. Proto všechna vlákna nebo procesy budou pokračovat vpřed.

Vrácení zpět:

• V uváznutí na sebe budou vlákna/procesy s vysokou prioritou i vlákna/procesy s nízkou prioritou nekonečně čekat. Nikdy to nekončí.

• Ale při hladovění budou ty s nízkou prioritou čekat nebo se vrátit zpět, ale ty s vysokou prioritou budou pokračovat.

Čekání nebo zámek:

• Zablokování je kruhové čekání.

• Hladovění je druh živobytí a někdy pomáhá dostat se ze slepé uličky.

Deadlock a hladovění:

• Zablokování způsobuje hladovění, ale hladovění nezpůsobuje uváznutí.

Příčiny:

• Dojde k uváznutí v důsledku vzájemného vyloučení, podržení a čekání, bez preempce nebo kruhového čekání.

• K hladovění dochází kvůli nedostatku zdrojů, nekontrolovanému řízení zdrojů a prioritám procesů.

Shrnutí:

Uváznutí vs. hladovění

Zablokování a hladovění jsou některé z problémů, ke kterým dochází v důsledku závodů dat a podmínek závodu, ke kterým dochází během programování a implementace hardwaru. V uváznutí budou dvě vlákna na sebe nekonečně čekat, aniž by se provedla, zatímco při hladovění se jedno vlákno vrátí zpět a nechá druhé vlákno používat prostředky. Zablokování způsobí hladovění, zatímco hladovění pomůže vláknu dostat se z patové situace.

Doporučuje: