Preporučeno, 2024

Izbor Urednika

Razlika između zastoja i izgladnjivanja u OS-u

Oba zastoja i izgladnjivanje su uvjeti u kojima su procesi koji zahtijevaju resurs odgođeni na duže vrijeme. Iako su zastoj i izgladnjivanje međusobno različiti u mnogim aspektima. Blokada je stanje u kojem nijedan proces ne nastavlja s izvršavanjem, a svaki čeka na resurse koje su stekli drugi procesi. S druge strane, u izgladnjivanju, proces s visokim prioritetima kontinuirano koristi resurse koji sprječavaju proces niskog prioriteta za stjecanje resursa. Razgovarajmo o još nekim razlikama između zastoja i izgladnjivanja uz pomoć usporednog dijagrama prikazanog u nastavku.

Tablica usporedbe

Osnova za ComparsionZastojGladovanje
Osnovni, temeljniBlokada je mjesto gdje se proces ne nastavlja i blokira se.Izgladnjivanje je tamo gdje se blokiraju procesi niskog prioriteta, a proces visokog prioriteta se nastavlja.
Stanje uvjetaPojava uzajamnog isključivanja, čekanja i čekanja, bez preimpta i kružnog čekanja istovremeno.Provođenje prioriteta, nekontrolirano upravljanje resursima.
Drugo imeKružno čekanje.LifeLock.
ResursiU zastoju, drugi su procesi blokirani od traženih resursa.U izgladnjivanju, traženi resursi se kontinuirano koriste u procesima visokog prioriteta.
prevencijaIzbjegavanje uzajamnog isključivanja, zadržavanje i čekanje, te kružno čekanje i dopuštanje prečega.Starenje.

Definicija zastoja

Zastoj je situacija u kojoj se nekoliko procesa u CPU natječe za konačan broj resursa dostupnih unutar CPU-a. Ovdje svaki proces zadržava resurs i čeka da nabavi resurs koji drži neki drugi proces. Svi procesi čekaju na izvore na kružni način. Na slici ispod, možete vidjeti da je Proces P1 stekao resurs R2 koji je zatražen od procesa P2 i Proces P1 traži resurs R1 koji je opet zadržan od strane R2. Dakle, procesi P1 i P2 tvore zastoj.

Zastoj je čest problem u višeprocesorskim operacijskim sustavima, distribuiranim sustavima i paralelnim računalnim sustavima. Postoje četiri uvjeta koji se moraju pojaviti istovremeno kako bi se povećalo stanje zastoja, a to su uzajamno isključivanje, čekanje i čekanje, bez preimpta i kružno čekanje.

  • Uzajamno isključivanje: samo jedan proces u isto vrijeme može koristiti resurs ako drugi proces zahtijeva isti resurs, mora pričekati da ga proces pomoću resursa oslobodi.
  • Zadrži i pričekajte: Proces mora držati resurs i čekati da stekne drugi resurs koji drži neki drugi proces.
  • No Preemption: Proces koji sadrži resurse ne može se izbjeći. Proces držanja resursa mora osloboditi resurs dobrovoljno kada završi svoj zadatak.
  • Kružno čekanje: Proces mora čekati sredstva na kružni način. Pretpostavimo da imamo tri procesa {P0, P1, P2}. P0 mora čekati resurs koji posjeduje P1; P1 mora čekati da stekne resurs koji drži proces P2, a P2 mora čekati da dobije proces koji drži P0.

Iako postoje neke aplikacije koje mogu otkriti programe koji se mogu zaustaviti. Ali operativni sustav nikada nije odgovoran za sprječavanje zastoja. To je odgovornost programera da osmisle besplatne programe. To se može postići izbjegavanjem gore navedenih uvjeta koji su potrebni za pojavu zastoja

Definicija izgladnjivanja

Izgladnjivanje se može definirati kao kada procesni zahtjev za resursom i taj resurs neprestano koriste drugi procesi, pa se proces zahtjeva traži od gladi. U izgladnjivanju proces spreman za izvršenje čeka da CPU dodijeli resurs. No, proces mora čekati neograničeno dok drugi procesi neprestano blokiraju tražene resurse.

Problem izgladnjivanja općenito se javlja u algoritmu raspoređivanja prioriteta . U algoritmu raspoređivanja prioriteta, proces s višim prioritetom uvijek se dodjeljuje resursu, sprječavajući proces nižeg prioriteta od dobivanja traženog resursa.

Starenje može riješiti problem gladovanja. Starenje postupno povećava prioritet procesa koji dugo čeka na resurse. Starenje sprječava proces s niskim prioritetom da neograničeno čeka na resurs.

Ključne razlike između zastoja i izgladnjivanja u OS-u

  1. U mrtvoj petlji, niti jedan proces ne nastavlja s izvršavanjem, svaki proces se blokira čekajući na resurse koje dobije drugim procesom. S druge strane, izgladnjivanje je stanje u kojem je procesima koji imaju veći prioritet dopušteno neprekidno stjecanje resursa sprječavanjem procesa niskog prioriteta za dobivanje resursa što rezultira neograničenim blokiranjem procesa niskog prioriteta.
  2. Zastoj nastaje kada se četiri uvjeta uzajamnog isključivanja, zadržavanja i čekanja, bez preimpta i kružnog čekanja pojavljuju istovremeno. Međutim, izgladnjivanje se događa kada se prioriteti procesa provode pri raspodjeli resursa ili u sustavu postoji nekontrolirano upravljanje resursima.
  3. Zastoj se često naziva po imenu kružno čekanje, dok se izgladnjivanje zove Lived lock .
  4. U blokadi resursi su blokirani procesom, dok se u izgladnjivanju procesi kontinuirano koriste procesima s visokim prioritetima.
  5. Zastoj se može spriječiti izbjegavanjem uvjeta kao što su uzajamno isključivanje, zadržavanje i čekanje, te kružno čekanje i dopuštajući preduvjet procesima koji dugo drže resurse. S druge strane, izgladnjivanje se može spriječiti starenjem .

Zaključak:

Oba zastoja i izgladnjivanje odgađaju izvršenje procesa blokiranjem. S jedne strane, gdje zastoj može uzrokovati izgladnjivanje procesa, a s druge strane izgladnjivanje može izvući proces iz mrtve točke.

Top