Erinevus ummikus ja näljas

Ummik vs nälg
 

Peamine erinevus ummikseisu ja nälgimise vahel on nendevaheline põhjuse ja tagajärje seos; nälg põhjustab ummikseisu. Veel üks huvitav erinevus ummikseisu ja nälgimise vahel on see, et ummik on probleem, samas kui nälgimine võib mõnikord aidata ummikust välja tulla. Arvutimaailmas toimub arvutiprogrammi kirjutamisel rohkem kui üks protsess / niit, mis käivitavad samaaegselt üksteise järel programmi vajaliku teenuse täitmiseks. Seetõttu peaks õiglase süsteemi olemasolu tagamiseks programmeerija tagama, et kõik protsessid / lõimed saavad või saavad piisavalt juurdepääsu vajalikele ressurssidele. Kui ei, siis toimub ummik ja see viib hiljem nälgimisele. Üldiselt ei sisalda õiglane süsteem ummikseisu ega nälgimist. Ummikud ja nälgimine ilmnevad peamiselt siis, kui paljud lõimed konkureerivad piiratud ressursside pärast.

Mis on ummik?

Ummikseis on seisund, mis tekib siis, kui kaks lõime või protsessi ootavad üksteist ülesande täitmist. Nad ainult ripuvad, kuid ei lõpe ega lõpe kunagi oma ülesannet. Arvutiteaduses võib ummikseisu näha igal pool. Kui tehingute andmebaasis värskendavad kaks tehingut mõlemat oma tehingus, ajakohastavad samad kaks infarida, kuid vastupidises järjekorras, see põhjustab ummikseisu. Samaaegse programmeerimise korral võib ummik tekkida, kui kaks konkureerivat toimingut ootavad üksteise edasiliikumist. Telekommunikatsioonisüsteemides võib ummik juhtuda signaalide kadumise või riknemise tõttu.

Praegu on ummikseis mitmeprotsessiliste süsteemide ja paralleelse andmetöötluse peamisteks probleemideks. Lahendusena kutsus lukustussüsteem protsessi sünkroonimine on rakendatud nii tarkvara kui ka riistvara jaoks.

Mis on nälg?

Arstiteaduste sõnastikust nälgimine on elu säilitamiseks vajalike toitainete tõsise või täieliku puuduse tagajärg. Samamoodi on arvutiteaduses nälgimine tekkinud probleem kui mitu lõime või protsessi ootavad sama ressurssi, mida nimetatakse ummikseisuks.

Ummikust pääsemiseks peaks üks protsessidest või lõimedest loobuma või tagasi kerima, et teine ​​teema või protsess saaks ressurssi kasutada. Kui see juhtub pidevalt ja sama protsess või niit peab iga kord loobuma või tagasi kerima, lastes ressursil kasutada teisi protsesse või lõime, toimub valitud protsess või niit, mis tagasi keris, olukorra, mida nimetatakse nälgimiseks. Seetõttu, ummikust väljumiseks on nälgimine üks lahendusi. Seetõttu kutsutakse mõnikord nälgimist omamoodi livelock. Kui on palju kõrge prioriteediga protsesse või lõime, jääb madalama prioriteediga protsess või lõim alati ummikseisu.

Nähtusi võib olla palju, näiteks nälgib ressursse ja nälgib protsessorit. Nälgimise kohta on palju levinud näiteid. Nad on lugejate-kirjanike probleem ja söögifilosoofide probleem, mis on kuulsam. Spageti kaussidega ümarlaua taga istub viis vaikivat filosoofi. Kahvlid asetatakse iga külgneva filosoofipaari vahele. Iga filosoof peab vaheldumisi mõtlema ja sööma. Kuid filosoof saab spagette süüa ainult siis, kui tal on nii vasak kui ka parem kahvel.

„Söögifilosoofid“

Mis vahe on ummikus ja nälgimisel??

• Protsess:

• Ummistuses ootavad kaks lõime või protsessi üksteist ja mõlemad ei liigu edasi.

• Nälgimise ajal, kui kaks või enam lõime või protsessi ootavad sama ressurssi, kerib üks tagasi ja laseb teistel kõigepealt ressurssi kasutada ning järgmine kord proovib näljutav niit või protsess uuesti. Seetõttu lähevad kõik niidid või protsessid niikuinii edasi.

• Tagasi veeremine:

• Ummistuses ootavad nii kõrge prioriteediga niidid / protsessid kui ka madala prioriteediga niidid / protsessid üksteist lõpmata. See ei lõpe kunagi.

• Kuid näljas ootavad madala prioriteediga inimesed tagasi või pöörduvad tagasi, kuid kõrge prioriteediga jätkatakse.

• ootamine või lukustamine:

• Ummik on ümmargune ootamine.

• Nälg on omamoodi eluslokk ja aitab mõnikord ummikust välja tulla.

• Ummik ja nälg:

• Ummik põhjustab nälga, kuid nälg ei põhjusta ummikseisu.

• põhjused:

• Ummistus toimub vastastikuse tõrjutuse tõttu, hoidke ja oodake, ei mingit eelistust ega ümmargust ootamist.

• Nälgimine toimub ressursside nappuse, ressursside kontrollimatu haldamise ja protsesside prioriteetide tõttu.

Kokkuvõte:

Ummik vs nälg

Ummik ja nälg on mõned probleemid, mis tekivad seoses programmeerimise ja riistvara rakendamise ajal toimuvate andmesõitude ja võistlustingimustega. Ummikusse jõudes ootavad kaks lõime lõpmatult üksteist, käivitamata, nälgides aga keerab üks niit tagasi ja laseb teisel lõimil ressursse kasutada. Ummik põhjustab nälga, nälgimine aga aitab niidil ummikseisust välja tulla.

Pildid viisakalt:

  1. Arvuti autor: Steve Jurvetson, Menlo Park, USA (CC BY 2.0)
  2. Bdeshami „Söögifilosoofid” (CC BY-SA 3.0)