Zastoj protiv gladi
Glavna razlika između mrtve točke i gladi je uzročno-posljedična veza između njih; zastoj je taj koji uzrokuje izgladnjivanje. Još jedna zanimljiva razlika između mrtve točke i gladi je ta što je mrtva točka problem, dok gladovanje ponekad može pomoći da se izađe iz mrtve točke. U računalnom svijetu, prilikom pisanja računalnog programa bit će više procesa / niti koji će se istodobno izvoditi jedan za drugim kako bi se ispunila potrebna usluga za program. Stoga, da 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, uslijedit će zastoj i to će kasnije dovesti do gladi. Općenito, pošten sustav ne sadrži mrtve točke ili izgladnjivanje. Zastoji i izgladnjivanje pojavit će se uglavnom kada se mnoge niti natječu za ograničene resurse.
Što je Deadlock?
Zastoj je stanje koje se događa kada dvije niti ili procesi čekaju jedna drugu da dovrše zadatak. Samo će spustiti slušalicu, ali nikada neće zaustaviti ili završiti svoj zadatak. U računalnoj znanosti zastoji se mogu posvuda vidjeti. U transakcijskoj bazi podataka, kada dva procesa unutar vlastite transakcije ažuriraju ista dva reda podataka, ali obrnutim redoslijedom, dovest će do zastoja. U istodobnom programiranju može doći do zastoja kada će dvije konkurentske akcije pričekati da se krene naprijed. U telekomunikacijskim sustavima može se dogoditi zastoj zbog gubitka ili oštećenja signala.
Trenutno je zastoj jedan od glavnih problema u višeprocesorskim sustavima i paralelnom računanju. Kao rješenje implementiran je sustav zaključavanja nazvan sinkronizacija procesa kako za softver, tako i za hardver.
Što je izgladnjivanje?
Iz rječnika medicinske znanosti, gladovanje je rezultat ozbiljnog ili potpunog nedostatka hranjivih sastojaka potrebnih za održavanje života. Slično tome, u računalnoj znanosti izgladnjivanje je problem s kojim se susreće kada više niti ili procesa čeka isti resurs, koji se naziva zastojem.
Da bi se izvukao iz mrtve točke, jedan od procesa ili niti trebao bi odustati ili se vratiti unatrag kako bi druga nit ili proces mogli koristiti resurs. Ako se to kontinuirano događa i isti postupak 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 se kotrljati podvrgnuti situaciji koja se naziva izgladnjivanje. Stoga je izgladnjivanje s mrtve točke jedno od rješenja. Stoga se ponekad izgladnjivanje naziva i vrstom života. Kada postoji mnogo procesa ili niti visokog prioriteta, proces ili nit nižeg prioriteta uvijek će izgladnjeti.
Izgladnjivanja može biti mnogo, poput gladovanja resursa i gladovanja CPU-a. Mnogo je uobičajenih primjera o gladovanju. Oni su problem čitatelja i pisca i problem filozofa koji objeduju, koji je poznatiji. Pet je nijemih filozofa koji sjede za okruglim stolom sa zdjelicama špageta. Vilice su postavljene između svakog para susjednih filozofa. Svaki filozof mora naizmjence misliti i jesti. Međutim, filozof može jesti špagete samo kad ima i lijevu i desnu vilicu.
"Filozofi za ručavanje"
Koja je razlika između mrtve točke i gladi?
• Postupak:
• U zastoju, dvije niti ili procesi čekat će jedna drugu i obje neće nastaviti dalje.
• U izgladnjivanju, kada dvije ili više niti ili procesa čekaju isti resurs, jedan će se vratiti i pustiti ostale da koriste resurs, a sljedeći izgladnjeli konac ili postupak će pokušati ponovno. Stoga će se sve niti ili procesi ionako nastaviti naprijed.
• Vraćanje unazad:
• U zastoju, niti / procesi visokog prioriteta, kao i niti / procesi niskog prioriteta, beskrajno će čekati jedni druge. To nikad ne završava.
• Ali, u gladovanju će oni s niskim prioritetom pričekati ili se vratiti, ali oni s visokim prioritetom će nastaviti.
• Čekanje ili zaključavanje:
• Zastoj je kružno čekanje.
• Izgladnjivanje je vrsta živca i ponekad pomaže izaći iz mrtve točke.
• Zastoj i izgladnjivanje:
• Zastoj uzrokuje izgladnjivanje, ali izgladnjivanje ne uzrokuje zastoj.
• Uzroci:
• Doći će do zastoja zbog međusobnog isključivanja, zadržavanja i čekanja, bez preduzimanja ili kružnog čekanja.
• Izgladnjivanje nastaje uslijed nedostatka resursa, nekontroliranog upravljanja resursima i prioriteta procesa.
Sažetak:
Zastoj protiv gladi
Zastoj i izgladnjivanje neki su od problema koji se javljaju zbog podatkovnih utrka i uvjeta utrke koji se javljaju tijekom programiranja, kao i implementacije hardvera. U zastoju, dvije niti će beskrajno čekati jedna drugu bez izvršenja, dok će se u gladovanju jedna nit vratiti, a druga nit pustiti da koristi resurse. Zastoj će uzrokovati izgladnjivanje, dok će izgladnjivanje pomoći niti da se izvuče iz mrtve točke.
Ljubaznost slika:
- Računalo Steve Jurvetson iz Menlo Parka, SAD (CC BY 2.0)
- "Blagovaonski filozofi" Bdeshama (CC BY-SA 3.0)