Vikigimnazijalac:Operativni sistemi/Uvod u zaglavljivanje
Skup procesa je u zastoju, ako svaki proces drži resurs, a traži nakorišćenje novi resurs koga drži neki drugi proces iz skupa. U toj sitaciji niko ne oslobađa svoje resurse, a traži nove - skup tih procesa postaje zaglavljen. Procesi koji su u zastoju, nikada ne završavaju svoje aktivnosti i nikada ne oslobađaju resurse.
Načini korišćenja procesa
urediU normalnom režimu rada, proces može da koristi resurs samo na jedan od sledeća tri načina:
- Zahtev (request). U ovoj fazi, proces zahteva resurs. Ako zahtev za dodelom resursa ne može da se ispuni trenutno, proces mora da čeka dok se resurs ne oslobodi.
- Korišćenje (use). U ovoj fazi, proces je dobio resurs i može ga slobodno koristiti.
- Oslobađanje (release). Nakon korišćenja resursa, proces mora da oslobodi resurs.
Uslovi pod kojima nastupa zastoj
uredi- Međusobno isključenje. Samo jedan proces u jednom trenutku može koristiti resurs ili jednu njegovu instancu. Drugi proces koji zahteva taj isti resurs, odnosno instancu, mora da čeka dok se resurs ne oslobodi.
- Nema pretpražnjenja. Resurs se ne može nasilno oduzeti i predati drugom procesu, sve dok proces koji ga koristi ne završi posao i ne oslobodi resurs.
- Uslov zadržavanja resursa i čekanja na drugi (hold and wait). Proces mora da drži jedan resurs u korišćenju, a da istovremeno čeka na dobijanje resursa koga koristi neki drugi proces.
- Kružnočekanje (Circular wait). Mora postojati skup procesa koji čekaju na resurse u sledećem kružnom poretku: P0 čeka na resurs koga drži proces P1, P1 čeka na resurs koga drži proces P2...
Prevencija zastoja
urediMožemo sprečiti zastoj eliminisanjem bilo kog odgornja četiri uslova.
Graf dodeljenih resursa
urediSituacije zastoja se mogu prikazati preciznije pomoću grafova dodeljenih resursa (resource allocation graph). Graf se sastoji iz skupa objekata i skupa strelica E. Skup objekata se sastoji iz dva skupa:
- skup svih aktivnih procesa u sistemu, P={P1, P2.....Pn}
- skup svih raspoloživih resursa R={R1, R2.....Rm}.
Podelastrelica
uredi- strelica zahteva
proces Pi zahteva jednu instancu resursa Rj i čeka na nju strelica se dodaje u grafu vek kada proces traži resurs.
- strelica alokacije, tj. Dodele
resurs Rj je dodeljen procesu Pi strelica sedodaje u grafu vek kada se resurs dodeli procesu.