Operatsioonisüsteem on kõige põhilisem tarkvara, mis töötab arvutis. See vastutab arvuti mälu ja protsesside haldamise ning riistvara üksikasjade varjestuse eest seda kasutavate rakendusprogrammide eest. Arvuti opsüsteem tagab ka ressursside õiglase jaotamise kasutajatele ja programmidele, mitte võrdsele jaotusele protsesside vahel. Õiglane ajastamissüsteem võimaldab ühel protsessil kasutada protsessorit, samal ajal kui teine järjekorras ootab. Selle tulemusel saab iga niit piisava juurdepääsu piiratud ressurssidele, vältides kahte kõige tavalisemat tingimust, mis muidu oleks protsessi edasi lükanud: ummik ja nälg. Mõlemad on omavahel seotud mõisted, kus protsessidel puudub juurdepääs ressurssidele. Selles artiklis tuuakse välja mõned põhipunktid, võrreldes neid kahte erineval rindel.
Ummistus on seisund, kus lõimede komplekt blokeeritakse, kuna iga ressurssi hoidev protsess üritab juurde pääseda mõnele muule ressursile, mida mõni muu protsess hoiab, takistades lõpuks süsteemi õiglast ajastamist. Ummikseis tekib siis, kui kehtivad järgmised neli tingimust: Vastastikune välistamine tähendab, et ressursile pääseb korraga juurde vaid ühele protsessile; Ükski eeltingimus ei tähenda, et ressurssi saab ressurssi valdava protsessi kaudu vabatahtlikult vabastada; Hoia ja oota - ressursside hoidmise protsess võib taotleda muude protsesside valduses olevaid lisaressursse; Ringikujuline ootamine tähendab, et kaks või enam protsessi on kinni ringikujulises ahelas, mis ootab, kuni iga protsess vabastab vastavad ressursid.
Nälg on seisund, mis tekib siis, kui protsess läheb ooteajasse määramata ajaks, kuna madala prioriteediga protsess ei saa kunagi ressursile juurde pääseda, kuna samal ressursil on juurdepääs pidevale prioriteetsele protsessile. Tegemist on ressursside haldamise probleemiga, kuna protsessil keelatakse juurdepääs vajaminevale ressursile, lükates protsessi määramatuks ooteajaks. See juhtub seetõttu, et vajalikku ressurssi ei eraldata kunagi protsessile, põhjustades protsessi ressursside nälga, sellest ka nimi. Parim viis nälgimise vältimiseks on vananemistehnika kasutamine, mis suurendab järk-järgult pikka aega ooteajal olevate protsesside tähtsust, et tagada õiglane ajakava.
Nii ummikseis kui ka nälgimine on omavahel seotud mõisted, mis takistavad õiglast süsteemi ajastamist, kus protsessid on blokeeritud ressurssidele juurdepääsu saamisel. Ummik, nagu nimigi viitab, osutab olukorrale, kus lõimede või protsesside komplekt on blokeeritud, kuna iga protsess ootab ressurssi hankimist, mida hoiab mõni muu protsess, mille tulemuseks on ummikseis, mille korral programmid lakkavad töötamast. Nälgimist seevastu vallandab ummik, mille tõttu protsess külmub, kuna madala prioriteediga protsessil keelatakse juurdepääs ressursile, mis on eraldatud kõrge prioriteediga protsessile.
Ummik tähendab konkreetset seisundit, mis tekib siis, kui niit või protsess läheb ooteajasse, kuna tema taotletud süsteemiressurssi hoiab teine protsess, mis omakorda ootab teist protsessi oma ressursi vabastamiseks, luues sellega ummikseisu. Selle põhjuseks on ressursside halb kasutamine. Nälgimine on määramatu edasilükkamise tingimus, mille korral madala prioriteediga protsessil keelatakse juurdepääs vajalikele ressurssidele, kuna ressursid eraldatakse teisele kõrge prioriteediga protsessile. See on ressursside haldamise probleem, mis sunnib süsteemi eraldama ressursse ainult kõrge prioriteediga protsessidele.
Ummik on nälgimise lõplik vorm, mis põhjustab järgmiste nelja seisundi samaaegset ilmnemist: vastastikune välistamine, eeltöötlemine, hoidmine ja ootamine ning ringikujuline ootamine. Ummikseisund ilmneb ainult süsteemides, kus kehtivad kõik neli tingimust. Nälgimine toimub erinevatel tingimustel, näiteks kui liikumiseks pole piisavalt ressursse ja protsesside prioriteedid muutuvad madalamaks või kui protsessid hakkavad ressursse teistele juhtimisele andma. Kui madala prioriteediga protsess nõuab ressurssi, mis on reserveeritud kõrgeima prioriteediga protsessidele, nälgib protsess igavesti. Nälgimine toimub ka siis, kui ressursse eraldatakse meelevaldselt, põhjustades protsesse pikema aja ootamiseni.
Nälgimist saab ära hoida, kasutades sobivat ajastamisalgoritmi koos prioriteedijärjekorraga, mis tegelikult kasutab ka vananemistehnikat - sõiduplaanide koostamise tehnika, mis lisab vananemisteguri iga taotluse prioriteedile, mis tähendab, et see suurendab madala ootusega protsesside prioriteeditaset, mis on oodanud pikka aega. Programmidele rohkem ressursse pakkudes tuleks vältida ressursside jätkuvat ülekoormamist. Süsteemi ummikseisu vältimiseks tuleb protsessidel keelata juurdepääs ühele või mitmele ressursile, samal ajal teisi oodates, ja ressursile korraga peaks olema lubatud pääseda ainult ühel protsessil.
Nii ummikseis kui ka nälgimine on seotud mitmeprotsessiliste operatsioonisüsteemide või hajutatud süsteemide kontseptsioonidega, mis põhjustavad ühe või mitme lõime või protsessi takerdumist vajalike ressursside ootamisse. Ummistus on olukord, mis tekib siis, kui üks või mitu protsessi taotlevad juurdepääsu samale ressursile, põhjustades protsessi külmutamist, samas kui nälgimine on tingitud ummikseisust, mis viib protsessi edasi määramatuks edasilükkamisseisundiks, kuna protsessidel keelatakse juurdepääs ressursile, mida omab kõrge prioriteediga protsess ja tuleb oodata igavesti.