Razlika med zamudo in stradanjem v operacijskem sistemu

Operacijski sistem je najbolj temeljna programska oprema, ki deluje na računalniku. Odgovoren je za upravljanje računalniškega pomnilnika in procesov ter za zaščito podrobnosti o strojni opremi pred uporabo aplikacijskih programov. Računalniški operacijski sistem zagotavlja tudi pošteno dodeljevanje virov uporabnikom in programom, v nasprotju z enako distribucijo med procesi. Sistem poštenega načrtovanja omogoča, da en postopek uporablja CPU, medtem ko drugi čaka v čakalni vrsti. Posledično ima vsaka nit dovolj dostopa do omejenih virov, ki preprečujeta dva najpogostejša stanja, ki bi drugače zavlekla postopek: Zastoj in stradanje. Oba sta povezana koncepta, pri katerih procesi nimajo dostopa do virov. Ta članek izpostavlja nekaj ključnih točk, ki jih primerjajo na različnih frontah.

Kaj je zamrznitev?

Zastoj je pogoj, ko je niz niti blokiran, ker vsak proces, ki vsebuje vir, poskuša dostopati do nekaterih drugih virov, ki jih hrani drug postopek, s čimer prepreči pošteno razporejanje sistema. Zastoj se pojavi, ko držijo naslednji štirje pogoji: Vzajemna izključitev pomeni, da lahko en vir hkrati dostopa do vira; Brez predpogojnega pogoja pomeni, da se vir lahko prostovoljno sprosti samo s postopkom, ki ga hrani; Zadrži in čakaj pomeni, da proces, ki hrani vire, lahko zahteva dodatne vire, ki jih imajo drugi procesi in; Krožno čakanje pomeni, da sta dva ali več procesov obtičana v krožni verigi, ki čakajo, da vsak postopek sprosti svoje vire.

Kaj je stradanje?

Stradanje je pogoj, ki nastane, ko proces v nedogled pride v čakalno dobo, saj proces z nizko prioriteto nikoli ne dobi možnosti za dostop do vira zaradi stalnega pretoka visoko prioritetnih procesov, ki dostopajo do istega vira. To je težava pri upravljanju z viri, ker je proces prepovedan dostop do vira, ki ga potrebuje, s tem pa postopek potisne v nedoločen čas čakanja. To se zgodi, ker potreben vir ni nikoli dodeljen procesu, zaradi katerega postopek gladi za viri, od tod tudi ime. Najboljši način, kako se izogniti stradanju, je uporaba tehnike staranja, ki postopoma povečuje prednost procesov, ki so v čakalni dobi dlje časa, da se zagotovi pravičen sistem načrtovanja.

Razlika med zastojem in stradanjem v OS

  1. Opredelitev mrtvega kota in stradanja

Zastoj in stradanje sta povezana pojma, ki preprečujeta pošteno razporejanje sistema, pri katerem procesi ne dobijo dostopa do virov. Kot že ime pove, se mrtva točka nanaša na stanje, ko je niz niti ali procesov blokiran, ker vsak postopek čaka, da pridobi vir, ki ga hrani drug postopek, kar ima za posledico situacijo, ko programi prenehajo delovati. Po drugi strani je stradanje sproženo z zastojem, ki povzroči zamrznitev postopka, ker je proces z nizko prednostjo prepovedan dostop do vira, ki je dodeljen procesu z visoko prednostno nalogo.

  1. Pogoj

Zastoj se nanaša na poseben pogoj, ki se pojavi, ko nit ali postopek preide v čakalno dobo, ker sistemski vir, ki ga je zahteval, zadrži drug postopek, ki čaka, da drug postopek sprosti svoj vir in s tem ustvari zastoj. To je posledica slabe uporabe virov. Stradanje je nedoločen pogoj odloga, kadar je proces z nizko prednostjo prepovedan dostop do virov, ki jih potrebuje, ker se sredstva dodeljujejo drugemu postopku z visoko prednostno nalogo. To je problem upravljanja virov, ki prisili sistem, da sredstva dodeli samo procesom z visoko prednostno nalogo.

  1. Karakterizacija mrtvega kota in stradanja

Zastoj je najboljša oblika stradanja, ki nastane, kadar se hkrati pojavijo naslednji štirje pogoji: medsebojna izključitev, brez predpogoja, zadrževanje in čakanje in krožno čakanje. Stanje zamrznitve se pojavi samo v sistemih, v katerih veljajo vsi štirje pogoji. Glad se pojavi na podlagi različnih pogojev, na primer, ko ni dovolj virov, da bi se lahko premaknili, in prioriteta procesov začne padati ali ko postopki začnejo brez predaje vire dati drugim procesom. Če postopek z nizko prioriteto zahteva vir, rezerviran za procese z najvišjo prednostno nalogo, proces vedno gladuje. Glad se pojavi tudi, ko se sredstva dodelijo samovoljno, zaradi česar bodo procesi čakali dlje časa.

  1. Preprečevanje

Glad se lahko prepreči z uporabo ustreznega algoritma razporejanja s prednostno čakalno vrsto, ki dejansko uporablja tudi tehniko staranja - tehniko načrtovanja, ki doda faktor staranja prednostni nalogi vsake zahteve, kar pomeni, da poveča stopnjo prioritete nizko prioritetnih procesov, ki so čakali za dolgo časa. Tudi zaradi zagotavljanja več sredstev za programe se je treba izogibati stalnemu prenatrpanosti virov. Da preprečite, da bi sistem zašel v slepo ulico, je treba procesom onemogočiti dostop do enega ali več virov, hkrati pa čakati na druge, samo en proces pa mora imeti dovoljenje za dostop do vira hkrati.

Zastoj proti stradanju: primerjalni grafikon

Povzetek Deadlock VS. Lakota

Zastoj in stradanje sta povezana koncepta v večprocesnih operacijskih sistemih ali porazdeljenih sistemih, zaradi katerih se ena ali več niti ali procesov zatakne v čakanju na potrebne vire. Zastoj je situacija, ki nastane, ko en ali več procesov zahteva dostop do istega vira, ki povzroči zamrznitev procesa, medtem ko stradanje povzroči zastoj, ki potisne postopek v nedoločen odlog, ker procesom ni omogočen dostop do vira, ki ga ima postopek z visoko prioriteto in nanj je treba čakati večno.