Zastoj protiv gladi
Glavna razlika između slijepe ulice i gladovanja je uzročno-posljedična veza među njima; bezizlaznost je ta koja uzrokuje gladovanje. Još jedna zanimljiva razlika između mrtve točke i gladovanja je ta što mrtva pozicija predstavlja problem, dok gladovanje ponekad može pomoći da se izađe iz mrtve točke. U svijetu računala, prilikom pisanja računalnog programa postojat će više od jednog procesa/niti koje će se istovremeno izvoditi jedna za drugom kako bi se ispunila potrebna usluga programu. Stoga, kako bi imao pošten sustav, programer bi trebao osigurati da će svi procesi/niti dobiti ili dobiti dovoljno pristupa resursima koji su im potrebni. Ako ne, doći će do zastoja, a to će kasnije dovesti do gladovanja. Općenito, pravedan sustav ne sadrži nikakve zastoje ili gladovanja. Do zastoja i izgladnjivanja dolazi uglavnom kada se mnoge niti natječu za ograničene resurse.
Što je Deadlock?
Mrtva blokada je stanje koje se događa kada dvije niti ili procesi čekaju jedan drugog da dovrše zadatak. Oni će samo poklopiti slušalicu, ali nikada neće prestati ili završiti svoj zadatak. U informatici se posvuda mogu vidjeti zastoji. U transakcijskoj bazi podataka, kada dva procesa svaki unutar svoje transakcije ažuriraju ista dva reda informacija, ali suprotnim redoslijedom, uzrokovat će zastoj. U paralelnom programiranju može doći do zastoja kada dvije konkurentne radnje čekaju jedna drugu da nastave naprijed. U telekomunikacijskim sustavima do zastoja može doći zbog gubitka ili kvara signala.
Trenutno je zastoj jedan od glavnih problema u višeprocesnim sustavima i paralelnom računanju. Kao rješenje, sustav zaključavanja koji se zove sinkronizacija procesa implementiran je za softver kao i za hardver.
Što je gladovanje?
Rječnikom medicinske znanosti, gladovanje je posljedica ozbiljnog ili potpunog nedostatka hranjivih tvari potrebnih za održavanje života. Slično, u računalnoj znanosti, izgladnjivanje je problem koji se javlja kada više niti ili procesa čeka na isti resurs, što se naziva zastoj.
Kako bi se izašlo iz mrtve točke, jedan od procesa ili niti trebao bi odustati ili se vratiti kako bi druga nit ili proces mogli koristiti resurs. Ako se to kontinuirano događa i isti proces ili nit moraju odustati ili se vratiti svaki put dok dopuštaju drugim procesima ili nitima da koriste resurs, tada će odabrani proces ili nit, koji su vraćeni, proći kroz situaciju koja se zove gladovanje. Stoga je za izlazak s mrtve točke gladovanje jedno od rješenja. Stoga se ponekad izgladnjivanje naziva i svojevrsnom klopom. Kada postoji mnogo procesa ili niti visokog prioriteta, proces ili nit nižeg prioriteta uvijek će biti u zastoju.
Može biti mnogo gladovanja kao što je gladovanje resursa i gladovanje CPU-a. Mnogo je uobičajenih primjera gladovanja. To su problem čitatelja i pisaca i problem filozofa u restoranu, koji je poznatiji. Pet tihih filozofa sjedi za okruglim stolom sa zdjelama špageta. Između svakog para susjednih filozofa stavljaju se vilice. Svaki filozof mora naizmjence misliti i jesti. Međutim, filozof može jesti špagete samo ako ima i lijevu i desnu vilicu.
“Filozofi za blagovanje”
Koja je razlika između slijepe blokade i gladovanja?
Proces:
• U zastoju, dvije niti ili procesa čekat će jedna drugu i obje ne nastavljaju dalje.
• U stanju izgladnjivanja, kada dvije ili više niti ili procesa čekaju na isti resurs, jedna će se vratiti unatrag i dopustiti drugima da prvi koriste resurs, a sljedeći će izgladnjela nit ili proces pokušati ponovno. Stoga će sve niti ili procesi nastaviti dalje.
Vraćanje:
• U zastoju, obje niti/procesi visokog prioriteta, kao i niti/procesi niskog prioriteta, čekat će jedna drugu beskonačno. Nikad kraja.
• Ali, u stanju gladovanja, oni niskog prioriteta će čekati ili se vratiti, ali oni visokog prioriteta će nastaviti.
Čekanje ili zaključavanje:
• Zastoj je kružno čekanje.
• Izgladnjivanje je vrsta lonca i ponekad pomaže da se izađe iz mrtve točke.
Zastoj i glad:
• Zastoj uzrokuje izgladnjivanje, ali izgladnjivanje ne uzrokuje zastoj.
Uzroci:
• Zastoj će se dogoditi zbog uzajamnog isključivanja, čekanja i čekanja, bez prioriteta ili kružnog čekanja.
• Do gladovanja dolazi zbog nedostatka resursa, nekontroliranog upravljanja resursima i prioriteta procesa.
Sažetak:
Zastoj protiv gladi
Zastoj i izgladnjivanje neki su od problema koji se javljaju zbog utrkivanja podataka i uvjeta utrke koji se javljaju tijekom programiranja, kao i implementacije hardvera. U zastoju, dvije će niti beskonačno čekati jedna drugu bez izvršavanja, dok će se, u stanju gladovanja, jedna nit vratiti unatrag i pustiti drugu nit da koristi resurse. Zastoj će uzrokovati izgladnjivanje, dok će izgladnjivanje pomoći niti da izađe iz zastoja.