
Tablica usporedbe
Osnova za Comparsion | Zastoj | Gladovanje |
---|---|---|
Osnovni, temeljni | Blokada 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 uvjeta | Pojava uzajamnog isključivanja, čekanja i čekanja, bez preimpta i kružnog čekanja istovremeno. | Provođenje prioriteta, nekontrolirano upravljanje resursima. |
Drugo ime | Kružno čekanje. | LifeLock. |
Resursi | U zastoju, drugi su procesi blokirani od traženih resursa. | U izgladnjivanju, traženi resursi se kontinuirano koriste u procesima visokog prioriteta. |
prevencija | Izbjegavanje 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.

- 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
- 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.
- 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.
- Zastoj se često naziva po imenu kružno čekanje, dok se izgladnjivanje zove Lived lock .
- U blokadi resursi su blokirani procesom, dok se u izgladnjivanju procesi kontinuirano koriste procesima s visokim prioritetima.
- 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.