Keskeinen ero: Deadlock viittaa tilanteeseen, jossa prosessit ovat jumissa ympyrässä odottamassa resursseja. Toisaalta nälkä tapahtuu, kun prosessi odottaa resurssia loputtomiin. Deadlock tarkoittaa nälkää, mutta nälkä ei merkitse umpikujaa.
Yksinkertainen esimerkki siitä on järjestelmä, jossa on kaksi nauha-asemaa, ja kaksi prosessia, joissa kussakin on yksi nauha-asema ja joka odottaa toista, kun vaaditaan edetä.
On tärkeää mainita, että umpikujasta johtuva tilanne, jos nämä neljä ehtoa ovat voimassa samanaikaisesti -
- Keskinäinen syrjäytyminen - resurssia voi käyttää vain prosessi kerrallaan
- Pidä ja odota - prosessi, jossa on vähintään yksi resurssi, tarvitsee hankkia lisäresurssin, joka on jonkin muun prosessin käytössä, ja siksi tämä prosessi odottaa, että resurssi vapautuu
- Ennakkomaksua - resurssia ei vapauta vain se prosessi, joka on ottanut sen käyttöön sen tehtävän päätyttyä.
- Pyöreä odotus - kaikki sarjoissa olevat prosessit odottavat resurssia, joka on muiden prosessien hallussa ja joka sisältää jopa viimeisimmän prosessin.
Se tapahtuu niin, että pahemman prioriteetin prosessi saa resurssin sen vuoksi, että prosesseja on jatkuvasti pidetty parempana kuin se, ja prosessi saattaa joutua odottamaan ikuisesti. Ratkaisu nälänhädän käsittelemiseksi on varmistaa, että riippumaton johtaja hallinnoi resurssien kohdentamista varmistaen, että jokainen prosessi saa resurssin jonkin aikaa. Onnettomuuden välttämiseksi on vältettävä satunnaisia ja hallitsemattomia valintoja tai kilpailua. Deadlock tarkoittaa nälkää, mutta nälkä ei merkitse umpikujaa.
Siksi umpikuja ja nälkä eroavat toisistaan. Lukitus tapahtuu, kun yksikään prosessin prosesseista ei pysty siirtymään eteenpäin, koska vaadittavat resurssit ovat jonkin muun prosessin takia. Toisaalta nälkä tapahtuu, kun prosessi odottaa määräämättömän ajan, jotta se tarvitsee resurssin.
Deadlockin ja nälän vertailu:
umpikuja | nälkiintyminen | |
Määritelmä | Lukitus tapahtuu, kun yksikään prosessin prosesseista ei pysty siirtymään eteenpäin, koska vaadittavat resurssit ovat jonkin muun prosessin takia | Nälkää esiintyy, kun prosessi odottaa määräämättömän ajan, jotta se tarvitsee resurssin. |
Muu nimi | Pyöreä odotus | Lived lukko |
Nousevat olosuhteet | Nämä neljä ehtoa muodostuvat samanaikaisesti - keskinäinen syrjäytyminen, pidä ja odota, ei-ennakkoluuloja ja pyöreitä | Resurssien hallitsematon hallinta Prosessin painopisteet ovat tiukasti voimassa Resurssien niukkuus |
Vältämisen / ehkäisemisen tekniikat |
|
|
edistyminen | Mikään prosessi ei voi edistyä | Uhriprosessin lisäksi muut prosessit voivat edetä tai edetä |
pääte | Vaatii ulkoista interventiota | Voi vaatia ulkoista interventiota |