Zastoj vs gladovanje
Glavna razlika između zastoja i gladovanja je uzročno-posledična veza između njih; to je zastoj koji uzrokuje gladovanje. Još jedna zanimljiva razlika između ćorsokaka i izgladnjivanja je u tome što je ćorsokak problem dok gladovanje ponekad može pomoći da se izađe iz mrtve tačke. U računarskom svetu, kada se piše kompjuterski program, postojaće više od jednog procesa/niti koji će se istovremeno izvoditi jedan za drugim kako bi ispunili potrebnu uslugu za program. Stoga, da bi imao pošten sistem, programer bi trebao osigurati da će svi procesi/niti dobiti ili dobiti dovoljan pristup resursima koji su im potrebni. Ako ne, doći će do ćorsokaka i to će kasnije dovesti do gladovanja. Općenito, pošten sistem ne sadrži nikakve zastoje ili izgladnjivanje. Zastoji i izgladnjivanje će se dogoditi uglavnom kada se mnoge niti natječu za ograničene resurse.
Šta je zastoj?
Zastoj je uslov koji se javlja kada dvije niti ili procesa čekaju jedni druge da završe zadatak. Oni će samo prekinuti vezu, ali nikada neće prestati ili završiti svoj zadatak. U informatici, zastoji se mogu vidjeti posvuda. U bazi podataka transakcija, kada dva procesa svaki unutar svoje transakcije ažuriraju ista dva reda informacija, ali u suprotnom redoslijedu, to će uzrokovati zastoj. U istovremenom programiranju može doći do zastoja kada će dvije konkurentske akcije čekati jedna drugu da nastavi naprijed. U telekomunikacijskim sistemima može doći do zastoja zbog gubitka ili oštećenja signala.
U ovom trenutku, zastoj je jedan od glavnih problema u višeprocesnim sistemima i paralelnom računarstvu. Kao rješenje, implementiran je sistem zaključavanja koji se zove procesna sinhronizacija kako za softver tako i za hardver.
Šta je gladovanje?
Iz rječnika medicinske nauke, glad je rezultat ozbiljnog ili potpunog nedostatka hranjivih tvari koje su potrebne za održavanje života. Slično, u kompjuterskoj nauci, gladovanje je problem koji se javlja kada više niti ili procesa čekaju na isti resurs, što se naziva zastoj.
Da bi se izvukli iz mrtve tačke, jedan od procesa ili niti treba da odustane ili da se vrati nazad tako da druga nit ili proces može koristiti resurs. Ako se to kontinuirano događa i isti proces ili nit moraju svaki put odustati ili se vratiti nazad dok puštaju druge procese ili niti da koriste resurs, tada će odabrani proces ili nit, koja je vraćena nazad, proći kroz situaciju koja se zove gladovanje. Stoga je gladovanje jedno od rješenja za izlazak iz mrtve tačke. Stoga se izgladnjivanje ponekad naziva nekom vrstom zarobljeništva. Kada postoji mnogo procesa ili niti visokog prioriteta, proces ili nit nižeg prioriteta će uvijek pasti u zastoj.
Može biti mnogo gladovanja, kao što je izgladnjivanje resursa i CPU. Mnogo je uobičajenih primjera gladovanja. To su problem čitalaca i pisaca i problem filozofa restorana, koji je poznatiji. Pet tihih filozofa sede za okruglim stolom sa činijama špageta. Vilice su postavljene između svakog para susjednih filozofa. Svaki filozof mora naizmjenično misliti i jesti. Međutim, filozof može jesti špagete samo kada ima i levu i desnu viljušku.
The “Dining Philosophers”
Koja je razlika između zastoja i gladovanja?
Proces:
• U zastoju, dvije niti ili procesa će čekati jedan na drugog i oba ne nastavljaju naprijed.
• U stanju gladovanja, kada dvije ili više niti ili procesa čekaju na isti resurs, jedan će se vratiti i pustiti drugima da prvo koriste resurs, a zatim će izgladnjela nit ili proces pokušati ponovo. Stoga će sve niti ili procesi ionako nastaviti naprijed.
Povratak:
• U zastoju, i niti/procesi visokog prioriteta, kao i niti/procesi niskog prioriteta, čekaće jedan na drugog beskonačno. Nikada ne završava.
• Ali, u izgladnjivanju, oni niskog prioriteta će čekati ili se povući, ali oni visokog prioriteta će nastaviti.
Čekanje ili zaključavanje:
• Zastoj je kružno čekanje.
• Glad je neka vrsta blokade i ponekad pomaže da se izađe iz mrtve tačke.
Zastoj i glad:
• Zastoj uzrokuje gladovanje, ali gladovanje ne uzrokuje zastoj.
Uzroci:
• Do zastoja će doći zbog međusobnog isključivanja, čekanja i čekanja, bez prevencije ili kružnog čekanja.
• Do gladovanja dolazi zbog oskudice resursa, nekontrolisanog upravljanja resursima i prioriteta procesa.
Sažetak:
Zastoj vs. gladovanje
Zastoj i izgladnjivanje su neki od problema koji se javljaju zbog trka podataka i uslova trke koji se javljaju tokom programiranja, kao i implementacije hardvera. U zastoju, dvije niti će beskonačno čekati jedna na drugu bez izvršavanja, dok će se jedna nit vratiti nazad i pustiti drugu nit da koristi resurse. Zastoj će uzrokovati gladovanje, dok će gladovanje pomoći niti da izađe iz mrtve tačke.