Rozdíl Mezi Zablokováním A Hladem

Obsah:

Rozdíl Mezi Zablokováním A Hladem
Rozdíl Mezi Zablokováním A Hladem

Video: Rozdíl Mezi Zablokováním A Hladem

Video: Rozdíl Mezi Zablokováním A Hladem
Video: První poválečné roky. Východní Prusko. Profesorské příběhy 2024, Smět
Anonim

Deadlock vs Hladovění

Hlavním rozdílem mezi zablokováním a hladem je vztah příčin a následků mezi nimi; je to slepá ulička, která způsobuje hladovění. Dalším zajímavým rozdílem mezi zablokováním a hladem je, že zablokování je problém, zatímco hladování může někdy pomoci dostat se z mrtvého bodu. V počítačovém světě bude při psaní počítačového programu existovat více než jeden proces / podproces, který bude současně spuštěn jeden po druhém, aby splnil požadovanou službu programu. Proto, aby měl spravedlivý systém, měl by programátor zajistit, aby všechny procesy / vlákna dostaly nebo získaly dostatečný přístup ke zdrojům, které potřebují. Pokud ne, dojde k zablokování a později to povede k hladovění. Spravedlivý systém obecně neobsahuje žádná zablokování ani hladovění. Zablokování a hladovění nastane hlavně tehdy, když mnoho vláken soutěží o omezené zdroje.

Co je zablokování?

Zablokování je stav, ke kterému dochází, když dva podprocesy nebo procesy čekají na dokončení úkolu. Pouze zavěsí, ale nikdy nezastaví ani nedokončí svůj úkol. Ve výpočetní technice lze uvést zablokování všude. V databázi transakcí, když dva procesy každý v rámci své vlastní transakce aktualizují stejné dva řádky informací, ale v opačném pořadí, způsobí zablokování. Při současném programování může dojít k zablokování, když dvě konkurenční akce počkají, až se navzájem postupují vpřed. V telekomunikačních systémech může dojít k zablokování v důsledku ztráty nebo poškození signálů.

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

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

Co je to hladovění?

Ze slovníku lékařské vědy je hladovění výsledkem vážného nebo úplného nedostatku živin potřebných pro udržení života. Podobně v počítačové vědě je hladovění problém, s nímž se setkáváme, když více vláken nebo procesů čeká na stejný prostředek, který se nazývá zablokování.

Aby bylo možné se dostat z mrtvého bodu, jeden z procesů nebo vláken by se musel vzdát nebo vrátit zpět, aby jiné vlákno nebo proces mohl prostředek použít. Pokud k tomu dochází nepřetržitě a stejný proces nebo podproces se musí pokaždé vzdát nebo vrátit zpět, zatímco umožní jiným prostředkům nebo podprocesům použít prostředek, pak vybraný proces nebo podproces, který se vrátil zpět, projde situací zvanou hladovění. Abychom se dostali z mrtvého bodu, 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 podprocesů s vysokou prioritou, proces nebo podproces s nižší prioritou vždy hladovějí v mrtvém bodě.

Může existovat mnoho hladů, například hladovění na zdrojích a hladovění na CPU. Existuje mnoho běžných příkladů hladovění. Jsou to problém čtenářů a spisovatelů a problém jídelních filozofů, který je slavnější. Sedí pět tichých filozofů u kulatého stolu s miskami špaget. Mezi každou dvojicí sousedních filozofů jsou umístěny vidličky. Každý filozof musí střídavě myslet a jíst. Filozof však může jíst špagety, pouze pokud má levou i pravou vidličku.

Deadlock vs Hladovění
Deadlock vs Hladovění

„Jídelní filozofové“

Jaký je rozdíl mezi zablokováním a hladem?

• Proces:

• Ve slepé uličce budou dvě vlákna nebo procesy na sebe čekat a obě nepokračují vpřed.

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

• Vrácení zpět:

• Ve slepé uličce budou vlákna / procesy s vysokou prioritou i vlákna / procesy s nízkou prioritou na sebe nekonečně čekat. Nikdy to nekončí.

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

• Čekání nebo zámek:

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

• Hladovění je druh zablokování a někdy pomáhá dostat se z mrtvého bodu.

• Zablokování a hladovění:

• Zablokování způsobí hladovění, ale hladovění nezpůsobí zablokování.

• Příčiny:

• K zablokování dojde v důsledku vzájemného vyloučení, zadržení a čekání, žádné preempce nebo kruhového čekání.

• K hladovění dochází v důsledku nedostatku zdrojů, nekontrolovaného řízení zdrojů a priorit procesu.

Souhrn:

Zablokování vs. hladovění

Zablokování a starvations jsou některé z problémů, ke kterým dochází v důsledku datových závodů a podmínek závodu, ke kterým dochází během programování a implementace hardwaru. Ve slepé uličce budou dvě vlákna na sebe nekonečně čekat bez provedení, zatímco v 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 niti dostat se ze zablokování.

Obrázky se svolením:

  1. Počítač Steve Jurvetson z Menlo Park, USA (CC BY 2.0)
  2. „Jídelní filozofové“od Bdeshama (CC BY-SA 3.0)

Doporučená: