Deadlock Flashcards
(35 cards)
Co je to uviaznutie?
ak proces caka na udalost ktora nemoze nastat, teda nikdy sa neukonci
Ako vieme rozoznat ci je proces uviaznuty?
Bohuzial to nevieme
Kedy je mnozina procesov v stave uviaznutia?
Ak kazdy caka na udalost, ktoru moze sposobit len iny proces tejto mnoziny
Ake su 4 nutne podmienky vzniku uviaznutia?
- vzajomne vylucovanie
- nepreemptivne pridelovanie prostriedkov (prideleny prostriedok nie je mozne procesu odobrat)
- ciastnocne pridelovanie prostriedkov
- cakanie na prostriedky
ak vsetky platia, mame uviaznutie
Co je ciastocne pridelovanie prostriedkov?
Proces moze o prostriedky cakat postupne, moze mat nejake pridelene zatial co caka na dalsie
Co je cakanie na prostriedky?
Ak proces nema pridelene prostriedky ktore ziada, caka
Co je kruhove cakanie?
postupnost procesov taka, ze kazdy caka na prostriedok toho dalsieho a posledny na toho prveho
Ako vieme modelovat uviaznutie?
Grafom alokacie prostriedkov - bipartitny orientovany graf, kde vrcholy su procesy P a prostriedky R
V grafe alokacie prostriedkov, co je hrana P ->R?
P potrebuje prostriedok R
V grafe alokacie prostriedkov, co je hrana R->P?
Proces P ma prideleny prostriedok R a uvolni ho az ked sa ukonci
Co to su Petriho siete?
kazdy proces vsetky jeho “riadky”, sipka je smerovanie procesu alebo preplanovanie na druhy proces
Co je problem z pohladu OS pri rieseni uviaznutia?
OS moze riadit pristup len k prostiredkom ktore poskytuje ako CPU, pamat, subory ,semafory a pod., nema vsak vplyv na prostriedky implementovane procesmi
Ake su 4 pristupy k rieseniu problemu uviaznutia?
- Ignorovanie problemu
- Detekcia uviaznutia a zotavenie
- Predchadzanie uviaznutia
- Vyhybanie sa uviaznutiu
Co je zac taktika Ignorovanie uviaznutia?
Len ak je uviaznutie nepravdepodobne a zriedkave, ajtak to ale nie je idealny sposob
Co je zac taktika detekcia uviaznutia a zotavenie?
Ked uviaznutie nastane, OS restartuje niektory z mnoziny uviaznutych procesov. Musi mat teda implementovany detekcny mechanizmus.
Ake detekcne mechanizmy uviaznutia vieme implementovat?
- operator ktory stav zisti a zasiahne
- taky co zrusi proces zablokovany urcitu dlhu dobu
- prida sa uprava alokacneho grafu, ak sa najde slucka, nastalo uviaznutie
Co je to zotavenie?
Zrusenie vsetkych uviaznutych procesov, alebo jedneho, alebo navrat do neuviaznuteho stavu
Ako vieme predchadzat uviaznutiu?
Upravime implementaciu aby niektora z nutnych podmienok nebola splnena, teda zrusit jednu zo styroch podmienok uviaznutia
Ako vieme odstranit vzajomne vylucovanie?
Pristup k spolocnemu prostriedku moze byt sprostredkovany koordinacnym procesom ktory bude k nemu pristupovat ako jediny, s ktorym budu komunikovat procesy. Moze ale vzniknut nova kriticka oblast.
Co je to preempcia?
odobranie prostriedku ktory uz bol prideleny
Aky je problem preemptivneho pridelovania prostriedkov?
moze to mat fatalne dosledky, ak ich budeme nasilu brat
Kedy vieme vyuzit preemptivnu taktiku?
pre zdroje ktorych stav vieme uchovat
Ako vieme docielit Pridelenie vsetkych prostriedkov procesu?
Proces by mohol vzdy pred alokovanim dalsich prostriedkov uvolnit vsetky ktore ma a poziadat o zvyseny objem naraz
Aky je problem pri pridelovani vsetkych prostriedkov?
mnohe procesy vopred nevedia kolko prostriedkov potrebuju