Ero umpikujaan ja nälkään OS-käyttöjärjestelmässä

Kirjoittaja: Laura McKinney
Luomispäivä: 3 Huhtikuu 2021
Päivityspäivä: 23 Huhtikuu 2024
Anonim
Ero umpikujaan ja nälkään OS-käyttöjärjestelmässä - Tekniikka
Ero umpikujaan ja nälkään OS-käyttöjärjestelmässä - Tekniikka

Sisältö


Umpikuja ja nälkä ovat molemmat olosuhteet, joissa resurssia pyytävät prosessit ovat viivästyneet pitkään. Vaikka umpikuja ja nälkä ovat molemmat erilaisia ​​toisistaan. umpikuja on tila, jossa mikään prosessi ei etene suorittamista varten, ja kukin odottaa resursseja, jotka muut prosessit ovat hankkineet. Toisaalta sisään nälkiintyminen, prosessi, jolla on korkeat prioriteetit, käyttää jatkuvasti resursseja estäen matalan prioriteetin prosessin resurssien hankkimiseksi. Keskustelemme vielä muutamista eroista umpikujan ja nälkien välillä alla olevan vertailutaulun avulla.

  1. Vertailutaulukko
  2. Määritelmä
  3. Keskeiset erot
  4. johtopäätös

Vertailutaulukko

Vertailun perusteetumpikujanälkiintyminen
perustiedotUmpikuja on silloin, kun mikään prosessi ei etene, ja tukkeutua.Nälänhätä on se, missä matalan prioriteetin prosessit tukkeutuvat, ja korkean prioriteetin prosessit etenevät.
Nouseva tilaKeskinäinen poissulkeminen, pidä ja odota, ei ennakkolupaa ja pyöreä odota samanaikaisesti.Painopisteiden täytäntöönpano, hallitsematon resurssien hallinta.
Muu nimiPyöreä odotus.LifeLock.
voimavaratLukitussa tilassa muut prosessit estävät pyydetyt resurssit.Nälkävaiheessa korkean prioriteetin prosessit käyttävät jatkuvasti pyydettyjä resursseja.
ennaltaehkäisyVältetään vastavuoroista syrjäytymistä, pidä ja odota, ja pyöreä odota ja salli ennaltaehkäisy. Ikääntyminen.


Määritelmä umpikuja

Umpikuja on tilanne, jossa CPU: n useat prosessit kilpailevat rajallisesta määrästä resursseja, jotka ovat käytettävissä CPU: ssa. Tässä jokaisessa prosessissa on resurssi ja odota hankkiaksesi jonkin muun prosessin hallussa olevan resurssin. Kaikki prosessit odottavat resursseja pyöreällä tavalla. Alla olevassa kuvassa voit nähdä, että prosessi P1 on hankkinut resurssin R2, jota prosessi P2 pyytää, ja prosessi P1 pyytää resurssia R1, jota taas hallitsee R2. Joten prosessit P1 ja P2 muodostavat umpikujan.

Umpikuja on yleinen ongelma moniprosessoivissa käyttöjärjestelmissä, hajautetuissa järjestelmissä ja myös rinnakkaisissa tietokonejärjestelmissä. On olemassa neljä ehtoa, jotka täytyy tapahtua samanaikaisesti umpikujatilan nostamiseksi, jotka ovat keskinäinen poissulkeminen, pidä ja odota, ei ennakkoa ja pyöreä odotus.


  • Yhteinen poissulkeminen: Vain yksi prosessi kerrallaan voi käyttää resurssia, jos toinen prosessi vaatii samaa resurssia, sen on odotettava, kunnes resurssia käyttävä prosessi vapauttaa sen.
  • Pidä ja odota: Prosessin on oltava resurssin hallussapito ja odottamassa toisen resurssin hankkimista, jota jokin muu prosessi pitää hallussaan.
  • Ei vapautusta: Resurssien hallintaa koskevaa prosessia ei voida estää. Resurssin hallussa olevan prosessin on vapautettava resurssi vapaaehtoisesti, kun se on suorittanut tehtävänsä.
  • Pyöreä odotus: Prosessin on odotettava resursseja pyöreällä tavalla. Oletetaan, että meillä on kolme prosessia {P0, P1, P2}. P0: n on odotettava P1: n hallussa olevaa resurssia; P1: n on odotettava prosessin P2 hallussa olevan resurssin hankkimista, ja P2: n on odotettava prosessin, jota P0 hallitsee, hankkimista.

Vaikka jotkut sovellukset voivat tunnistaa ohjelmat, jotka voivat joutua tukokseen. Mutta käyttöjärjestelmä ei ole koskaan vastuussa lukkiutumisen estämisestä. Ohjelmoijien velvollisuus on suunnitella umpikujaan kuulumattomia ohjelmia. Se voidaan tehdä välttämällä yllä mainittuja olosuhteita, jotka ovat välttämättömiä umpikujatilanteessa

Määritelmä Nälkä

Nälkä voidaan määritellä siten, kun resurssin prosessipyyntö ja sitä käytetään jatkuvasti muissa prosesseissa, niin pyynnön esittävä prosessi kohtaa nälän. Nälkähäiriöissä suorittamiseen valmis prosessi odottaa prosessorin varaavan resurssin. Mutta prosessin on odotettava loputtomiin, koska muut prosessit estävät jatkuvasti pyydettyjä resursseja.

Nälkäongelma esiintyy yleensä prioriteettiaikataulun algoritmi. Prioriteettiaikataulualgoritmissa prosessi, jolla on korkeampi prioriteetti, allokoidaan resurssi aina, estäen alemman prioriteetin prosessia saamasta pyydettyä resurssia.

vanheneminen voi ratkaista nälkään liittyvän ongelman. Ikääntyminen lisää vähitellen prosessin prioriteettia, joka on odottanut kauan resursseja. Ikääntyminen estää matalaa prioriteettia olevaa prosessia odottamaan loputtomasti resurssia.

  1. Umpikujassa mikään prosesseista ei etene suorittamiseen, kukin prosessi tukkeutuu odottamalla toisen prosessin hankkimia resursseja. Toisaalta nälkä on tila, jossa korkeamman prioriteetin omaavien prosessien annetaan hankkia resursseja jatkuvasti estämällä matalan prioriteetin prosesseja hankkimasta resursseja, mikä johtaa matalan prioriteetin prosessien rajoittamattomaan estämiseen.
  2. Umpikuja syntyy, kun neljä ehtoa Keskinäinen poissulkeminen, pidä ja odota, ei ennaltaehkäisyä, ja pyöreä odotus tapahtuu samanaikaisesti. Nälkä tapahtuu kuitenkin prosessin aikana ensisijaiset tavoitteet on toteutettu kun resursseja allokoidaan, tai järjestelmässä on hallitsematonta resurssien hallintaa.
  3. Umpikujaan kutsutaan usein nimellä pyöreä odotus kun taas nälkää kutsutaan Asunut lukko.
  4. Umpikujassa resurssit ovat prosessin estämiä, kun taas nälkään prosessit käyttävät jatkuvasti prosesseja, joilla on korkeat prioriteetit.
  5. Umpikuja voidaan estää välttämällä olosuhteita, kuten keskinäinen poissulkeminen, pidä ja odota, ja pyöreä odotus, ja sallimalla ehkäistä prosessit, jotka pitävät resursseja pitkään. Toisaalta nälänhimo voidaan estää vanheneminen.

johtopäätös:

Sekä umpikuja että nälkä viivästyvät prosessin suorittamista estämällä sitä. Toisaalta umpikuja voi aiheuttaa prosessien nälkää, ja toisaalta nälkä voi saada prosessit umpikujasta.