You are on page 1of 8

ZAGLAVLJIVANJE

SITUACIJA U KOJOJ DVA ILI VIŠE MEĐUSOBNO


ZAVISNIH PROCESA BLOKIRANI ČEKAJU NA RESURSE
KOJE NIKADA NEĆE DOBITI NAZIVA SE
ZAGLAVLJIVANJE (DEADLOCK).

odnosno uzajamno blokiranje, mrtvi čvor, mrtva brava …


• Ovakvo zaglavljivanje je trajno i za posledicu često
ima zaglavljivanje čitavog sistema.

• Takođe, ako sistem sadrži procese koji su zaglavljeni,


smatra se da je i on zaglavljen.
SLIKOVITI PRIMERI ZAGLAVLJIVANJA MOGU SE NAĆI U
SVAKODNEVNOM ŽIVOTU.

Ukoliko četiri kolone automobila


istovremeno sa četiri strane uđu u
raskrsnicu , pri tome poštujući pravilo
desne strane, blokiraće jedni druge tako
da će i ostali učesnici u saobraćaju biti
zaglavljeni.
DA BI DOŠLO DO ZAGLAVLJIVANJA, NEOPHODNO JE DA SU U
SISTEMU ISTOVREMENO ISPUNJENA SLEDEĆA ČETIRI USLOVA:

1. Uzajamno isključivanje (Mutual Exclusion)

2. Čekanje i držanje (Wait and Hold)

3. Nemogućnost prekidanja (No Preemtion)

4. Kružno čekanje (Currier wait)


1. Uzajamno isključivanje (Mutual Exclusion)
• podrazumeva da u jednom trenutku tačno jedan
proces može da koristi resurs, dok ostali moraju da
sačekaju njegovo oslobađanje.

2. Čekanje i držanje (Wait and Hold)

• dok proces drži resurse sa kojima radi, može da


zahteva nove koji su mu potrebni za dalje izvršavanje i
da čeka one koji trenutno nisu raspoloživi.
3. Nemogućnost prekidanja (No Preemtion)
podrazumeva da operativni sistem nema pravo da
oduzme resurse koje je dodelio procesu i kasnije mu ih
vrati, kako bi te resurse, u međuvremenu, dodelio
drugim procesima. Dakle, resurse može osloboditi
samo proces koji ih je dobio na korišćenje.

4. Kružno čekanje (Currier wait)

podrazumeva da u sistemu može da postoji lanac procesa koji čekaju jedni


na druge, tj. na resurse koji su im dodeljeni, čineći pri tome krug

Dakle, svaki proces drži resurse koji su mu dodeljeni i čeka na druge koje drži
sledeći proces u nizu i tako do poslednjeg koji zahteva resurse koje drži prvi
proces.
POSTOJE RAZNI PRISTUPI KADA JE U PITANJU ODNOS PREMA ZAGLAVLJIVANJU,
ALI SE NA OSNOVU MERA KOJE SE PRIMENJUJU, MOGU SVRSTATI U SLEDEĆE GRUPE:

 Sprečavanje (Deadlock prevention) – pristup koji podrazumeva sistemske mere


koje se implementiraju u operativni sistem i kojima se isključuje mogućnost
zaglavljivanja.
 Izbegavanje (Deadlock avoidance) – dinamičke mere koje se preduzimaju kako
bi se sistem vodio kroz stanja koja obezbeđuju da ne dođe do zaglavljivanja. U
odnosu na sprečavanje, izbegavanje je liberalnija mera, ali se i ovim pristupom
garantuje da do zaglavljivanja neće doći.
 Detekcija i oporavljanje (Deadlock detection and recovery) – pristup koji
dozvoljava da do zaglavljivanja dođe, ali ima mehanizme za otkrivanje da li je
do zaglavljivanja došlo, tretman procesa koji su zaglavljeni i eventualno
spašavanje dela rezultata koji su dobijeni pre zaglavljivanja u slučajevima kada

You might also like