Mrtva petlja Flashcards
Sta je mrtva petlja
Trajno zaustavljanje aktivnosti medjusobno zavisnih procesa usled pristupanja deljenim resursima
Po cemu se ziva petlja razlikuje od mrtve
Ako je zakljucavanje neblokirajuce, tada procesi upadaju u beskonacnu petlju, pokusavajuci da zakljucaju datoteku koju je zakljucao drugi proces
Koji su uslovi potrebni za pojavu mrtve petlje
- Resursi kojima se pristupa su medjusobno iskljucivi
- Resursi se zauzimaju jedan za drugim, tako da proces mora da ceka nakon zauzimanja izvesnog broja resursa da zauzme druge
- Resurse oslobadjaju samo procesi koji su ih zauzeli
- Postoji cirkularna medjuzavisnost procesa
Kako se u praksi tretira problem mrtve petlje?
- Izbegavanje
- Sprecavanje
- Otkrivanje
- Ignorisanje
Na cemu se temelji sprecavanje mrtve petlje
- Vazenje prvog uslova nije moguce spreciti
- Vazenje drugog uslova se moze spreciti ako se unapred zna koliko resursa treba i ako se svi zauzmu pre koriscenja. Neuspeh u zauzimanju bilo kog resursa dobodi do oslobadjanja prethodno zauzetih, sto je moguce uciniti jer nije zapocelo njihovo koriscenje
- Vazenje treceg uslova nije moguce spreciti
- Cetvrti uslov se moze spreciti ako se resursti uvek zauzimaju u unapred odredjenom redosledu
Sta karakterise izbegavanje mrtve petlje
- Zahteva poznavanje podataka o maksimalnim zahtevima za resursima, o ukupno postavljenim zahtevima za resursima, i o stanju resursa
- Koriscenje resursa se dozvoljava ako se proverom ustanovi da postoji redosled koji zadovoljava maksimalan broj zahteva
- Ova provera je komplikovana znaci neefikasna
Sta karakterise otkrivanje i oporavak od mrtve petlje
Komplikovan proces, javlja se problem sta da se uradi jer se resursi ne mogu oduzeti. Jedino sto preostaje je unistenje procesa sto nije prihvatljivo
Sta karakterise ignorisanje mrtve petlje
Najcesce se koristi u praksi jer mrtva petlja nije cest problem pa se ne isplati da je resava OS vec je prepusteno korisniku