Ero Umpikujaan Ja Nälkään

Sisällysluettelo:

Ero Umpikujaan Ja Nälkään
Ero Umpikujaan Ja Nälkään

Video: Ero Umpikujaan Ja Nälkään

Video: Ero Umpikujaan Ja Nälkään
Video: Libera: Edelleen umpikujassa – Aika on ajanut työnantajajärjestöjenkin ohi 2024, Saattaa
Anonim

Umpikuja vs nälkä

Tärkein ero umpikujassa ja nälkään on syy-seuraussuhde niiden välillä; umpikuja aiheuttaa nälkään. Toinen mielenkiintoinen ero umpikujassa ja nälkään on, että umpikuja on ongelma, kun taas nälkään voi joskus auttaa pääsemään umpikujasta. Tietokonemaailmassa tietokoneohjelmaa kirjoitettaessa on enemmän kuin yksi prosessi / ketju, joka toimii samanaikaisesti peräkkäin täyttääkseen vaaditun palvelun ohjelmalle. Siksi oikeudenmukaisen järjestelmän saamiseksi ohjelmoijan on varmistettava, että kaikki prosessit / ketjut saavat tai saavat riittävästi pääsyä tarvitsemiinsa resursseihin. Jos ei, se on umpikujassa, ja se johtaa myöhemmin nälkään. Yleensä oikeudenmukainen järjestelmä ei sisällä umpikujia tai nälkää. Umpikuja ja nälkää esiintyy pääasiassa silloin, kun monet säikeet kilpailevat rajoitetuista resursseista.

Mikä on umpikuja?

Umpikuja on tila, joka syntyy, kun kaksi ketjua tai prosessia odottaa toistensa suorittavan tehtävän. He vain keskeyttävät puhelun, mutta eivät koskaan lopeta tai lopeta tehtäväänsä. Tietojenkäsittelytieteessä umpikujat näkyvät kaikkialla. Tapahtumatietokannassa, kun kaksi prosessia kukin omassa tapahtumassaan päivittää samat tiedot, mutta päinvastaisessa järjestyksessä, aiheuttaa umpikujan. Samanaikaisessa ohjelmoinnissa voi syntyä umpikuja, kun kaksi kilpailevaa toimintoa odottaa toistensa etenemistä eteenpäin. Televiestintäjärjestelmissä umpikuja voi tapahtua signaalien katoamisen tai vioittumisen vuoksi.

Tällä hetkellä umpikuja on yksi suurimmista ongelmista moniprosessointijärjestelmissä ja rinnakkaislaskennassa. Ratkaisuna toteutetaan lukitusjärjestelmä, jota kutsutaan prosessisynkronoinniksi, sekä ohjelmistoille että laitteistoille.

Ero umpikujaan ja nälkään
Ero umpikujaan ja nälkään

Mikä on nälkä?

Lääketieteellisen sanakirjan mukaan nälkä on seurausta elämän ylläpitoon tarvittavien ravinteiden vakavasta tai täydellisestä puutteesta. Samoin tietojenkäsittelytieteessä nälkä on ongelma, joka esiintyy, kun useat ketjut tai prosessit odottavat samaa resurssia, jota kutsutaan umpikujaan.

Jotta päästäisiin umpikujasta, jommankumman prosessin tai ketjun pitäisi joutua luopumaan tai siirtymään takaisin, jotta toinen ketju tai prosessi voi käyttää resurssia. Jos näin tapahtuu jatkuvasti ja saman prosessin tai langan on luovuttava tai palattava joka kerta samalla kun annetaan muiden prosessien tai ketjujen käyttää resurssia, valittu takaisin prosessi tai kierre, joka palasi takaisin, joutuu nälkään. Siksi nälkään pääseminen umpikujasta on yksi ratkaisuista. Siksi joskus nälkään kutsutaan eräänlaista livelockia. Kun korkean prioriteetin prosesseja tai ketjuja on paljon, matalamman prioriteetin prosessi tai ketju nälkää aina umpikujassa.

Nälkää voi olla monia, kuten resurssien nälkä ja CPU. Nälkään on monia yleisiä esimerkkejä. He ovat lukijoiden ja kirjoittajien ongelma ja ruokailufilosofien ongelma, joka on tunnetumpi. Viisi hiljaista filosofia istuu pyöreän pöydän ääressä spagettikulhoilla. Haarukat sijoitetaan vierekkäisten filosofiparien väliin. Jokaisen filosofin täytyy vuorotellen ajatella ja syödä. Filosofi voi kuitenkin syödä spagettia vain, kun hänellä on sekä vasen että oikea haarukka.

Umpikuja vs nälkä
Umpikuja vs nälkä

"Ruokailevat filosofit"

Mitä eroa on umpikujassa ja nälkään?

• Käsitellä asiaa:

• Ompelussa kaksi ketjua tai prosessia odottaa toisiaan eivätkä molemmat edetä eteenpäin.

• Nälkään, kun kaksi tai useampia ketjuja tai prosesseja odottaa samaa resurssia, toinen palaa takaisin ja antaa muiden käyttää resurssia ensin ja seuraavaksi nälkäävä lanka tai prosessi yrittää uudelleen. Siksi kaikki ketjut tai prosessit jatkavat joka tapauksessa.

• Pyöriä takaisin:

Umpikujaan sekä korkean prioriteetin säikeet / prosessit että matalan prioriteetin säikeet / prosessit odottavat toisiaan loputtomasti. Se ei lopu koskaan.

• Mutta nälänhädässä matalan prioriteetin ryhmät odottavat tai siirtyvät takaisin, mutta korkean prioriteetin omaavat etenevät.

• Odottaa tai lukita:

• umpikuja on pyöreä odotus.

• Nälänhätä on eräänlainen eläkevakuutus ja auttaa joskus pääsemään umpikujasta.

• umpikuja ja nälkä:

• umpikuja aiheuttaa nälkää, mutta nälkä ei aiheuta umpikujaa.

• Syyt:

• Umpikuja johtuu keskinäisestä poissulkemisesta, odottamisesta ja odottamisesta, ei ennakkovaroituksesta tai pyöreästä odottamisesta.

• Nälkä johtuu resurssien niukkuudesta, hallitsemattomasta resurssien hallinnasta ja prosessin prioriteeteista.

Yhteenveto:

Umpikuja vs. nälkä

Umpikuja ja nälkää ovat joitain ongelmia, joita esiintyy ohjelmakehityksen aikana tapahtuvien tietokilpailujen ja kilpailuolosuhteiden sekä laitteiston käyttöönoton vuoksi. Umpikujassa kaksi säiettä odottaa loputtomasti toisiaan suorittamatta, kun taas nälkään yksi lanka pyörii takaisin ja antaa toisen langan käyttää resursseja. Umpikuja aiheuttaa nälkää, kun taas nälkää auttaa lankaa pääsemään umpikujasta.

Kuvat Kohteliaisuus:

  1. Tietokone: Steve Jurvetson, Menlo Park, USA (CC BY 2.0)
  2. Bdeshamin “Dining Philosophers” (CC BY-SA 3.0)

Suositeltava: