Razlika med zastojem in stradanjem v operacijskem sistemu

Avtor: Laura McKinney
Datum Ustvarjanja: 3 April 2021
Datum Posodobitve: 23 April 2024
Anonim
Paradise or Oblivion
Video.: Paradise or Oblivion

Vsebina


Zastoj in stradanje sta pogoja, ko so postopki, ki zahtevajo vir, zamujali dlje časa. Čeprav se obeti in stradanje v mnogih pogledih med seboj razlikujeta. Zastoj je pogoj, ko noben postopek ne poteka za izvedbo in vsak čaka na sredstva, ki so jih pridobili drugi procesi. Po drugi strani pa v Lakota, proces z visokimi prednostnimi nalogami nenehno uporablja vire, s čimer preprečuje, da bi nizko prioritetni postopek pridobil. Pogovorimo se o še nekaj razlikah med zastojem in stradanjem s spodnjo primerjalno tabelo.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Podlaga za sočutjeZastojLakota
OsnovniZastoj je tam, kjer se ne nadaljuje noben postopek, in blokira se.S stradanjem se blokirajo procesi z nizko prioriteto in nadaljuje proces z visokim prioritetom.
Vzporedno stanjePojav medsebojne izključenosti, Zadržite in počakajte, brez predpogojev in krožnega čakanja hkrati.Uveljavljanje prednostnih nalog, nenadzorovano upravljanje virov.
Drugo imeKrožno čakanje.Lifelock.
ViriV mrtvi točki zahtevani viri blokirajo druge procese.V stradanju zahtevane vire nenehno uporabljajo postopki z visoko prednostno nalogo.
PreprečevanjeIzogibanje medsebojni izključitvi, zadržanju in čakanju ter krožnemu čakanju in omogočanju predkupnine. Staranje.


Opredelitev zastoja

Zastoj je situacija, ko se več procesov v CPU-ju poteguje za končno število virov, ki so na voljo v CPU-ju. Tukaj vsak postopek hrani vir in čaka, da pridobi vir, ki ga hrani nek drug postopek. Vsi procesi na krožni način čakajo na sredstva. Na spodnji sliki si lahko ogledate, da je Proces P1 pridobil vir R2, ki ga zahteva proces P2, proces P1 pa zahteva vir R1, ki ga spet hrani R2. Torej proces P1 in P2 tvori zamudo.

Zastoj je pogosta težava pri večprocesnih operacijskih sistemih, porazdeljenih sistemih in tudi v vzporednih računalniških sistemih. Za dvig pogoja zastoja se morajo hkrati pojaviti štirje pogoji, ki so medsebojna izključitev, čakanje in čakanje, brez predpostavke in krožno čakanje.

  • Medsebojna izključitev: Samo en proces hkrati lahko uporablja vir, če drugi proces zahteva isti vir, mora počakati, dokler ga postopek z viri ne sprosti.
  • Zadržite in počakajte: Proces mora vsebovati vir in čakati, da pridobi drug vir, ki ga hrani nek drug postopek.
  • Brez predpogojev: Procesa, ki hrani sredstva, ni mogoče preprečiti. Proces, ki hrani vir, ga mora prostovoljno sprostiti, ko konča svojo nalogo.
  • Krožno čakanje: Postopek mora na krožni način čakati na vire. Recimo, da imamo tri procese {P0, P1, P2}. P0 mora počakati na vir, ki ga hrani P1; P1 mora počakati, da pridobi vir, ki ga hrani proces P2, in P2, da pridobi postopek, ki ga hrani P0.

Čeprav obstajajo nekatere aplikacije, ki lahko zaznajo programe, ki se lahko zataknejo. Toda operacijski sistem ni nikoli odgovoren za preprečevanje zastojev. Programerji so odgovorni za načrtovanje programov brez zastoja. To lahko storite tako, da se izognete zgornjim pogojem, ki so potrebni za nastanek zastoja


Opredelitev stradanja

Stradanje je mogoče opredeliti kot takrat, ko se procesna zahteva za vir in ta vir nenehno uporabljajo v drugih procesih, potem se postopek, ki je zahteval, sooča s stradanjem. V stradanju postopek, pripravljen za izvedbo, čaka, da CPU dodeli vir. Toda postopek mora čakati v nedogled, saj ostali procesi neprekinjeno blokirajo zahtevane vire.

Problem stradanja se na splošno pojavlja v algoritem načrtovanja prioritete. V algoritmu razporejanja prednostnih nalog je postopek z višjo prioriteto vedno dodeljen vir, kar preprečuje, da bi proces z nižjo prioriteto dobil zahtevani vir.

Staranje lahko reši problem stradanja. Staranje postopoma povečuje prednost procesa, ki je dolgo čakal na vire. S staranjem se prepreči, da bi proces z nizko prioriteto neomejeno čakal na vir.

  1. V slepi ulici se noben postopek ne izvede za izvedbo, vsak proces se blokira in čaka na vire, pridobljene z drugim procesom. Po drugi strani je stradanje pogoj, ko lahko procesi z višjo prednostjo pridobivajo vire nenehno s preprečevanjem procesov z nizko prioriteto, da pridobijo vire, kar ima za posledico neomejeno blokiranje nizko prioritetnih procesov.
  2. Zastoj nastane pri štirih pogojih Medsebojna izključitev, Pridržite in počakajte, ni dovoljenja in Krožno počakajte nastopa istočasno. Vendar se med postopkom pojavijo stradanja prioritete so se uveljavile med dodeljevanjem virov ali pa je v sistemu nenadzorovano upravljanje virov.
  3. Zastoj se pogosto imenuje po imenu krožno čakanje ker se imenuje stradanje Živela ključavnica.
  4. V mrtvi točki proces blokira vire, medtem ko v stradanju procese nenehno uporabljajo procesi z visokimi prioritetami.
  5. Zastoj se lahko prepreči tako, da se izognemo pogojem, kot so medsebojna izključitev, Zadrži in počakaj, krožno čakanje in tako, da omogočimo predpostavko o procesih, ki dolgo časa hranijo sredstva. Po drugi strani pa lahko stradanje prepreči: staranje.

Zaključek:

Zastoj in stradanje zakasnita izvedbo postopka tako, da jo blokirata. Po eni strani tam, kjer lahko mrtva točka povzroči stradanje procesov, na drugi strani pa lakota lahko procese izstopi iz mrtve točke.