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
[uredi]U 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
[uredi]Možemo sprečiti zastoj eliminisanjem bilo kog odgornja četiri uslova.
Graf dodeljenih resursa
[uredi]Situacije 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.