Systemy operacyjne - wyklad 8.pdf

(6625 KB) Pobierz
Zakleszczenie
Zakleszczenie
Problem i przeciwdziałanie
Systemy operacyjne
Wykład 8
1
299284888.051.png 299284888.062.png 299284888.073.png
• Klasyfikacja zasobów systemu na potrzeby analizy
problemu zakleszczenia
• Warunki konieczne wystąpienia zakleszczenia
• Graf przydziału zasobów
• Zdarzenia związane z dostępem do zasobów
• Formalna definicja zakleszczenia
• Wykrywanie zakleszczenia
• Usuwanie zakleszczenia
• Unikanie zakleszczeń
• Zapobieganie zakleszczeniom
Systemy operacyjne
Wykład 8
2
299284888.083.png 299284888.001.png 299284888.002.png 299284888.003.png 299284888.004.png 299284888.005.png 299284888.006.png 299284888.007.png 299284888.008.png 299284888.009.png 299284888.010.png
Model systemu
• System składa się z zasobów m różnych typów
(rodzajów) ze zbioru Z = { Z 1 , Z 2 , ..., Z m }.
• Zasób każdego typu może być reprezentowany
przez wiele jednorodnych jednostek
(egzemplarzy).
• O zasoby rywalizują procesy ze zbioru
P = { P 1 , P 2 , ..., P n }.
• Klasyfikacja zasobów z punktu widzenia
problemu zakleszczenia:
– zasoby odzyskiwalne (zwrotne, trwałe,
reusable resources ),
– zasoby nieodzyskiwalne (zużywalne,
niezwrotne, consumable resources ).
Systemy operacyjne
Wykład 8
3
299284888.011.png 299284888.012.png 299284888.013.png 299284888.014.png 299284888.015.png 299284888.016.png 299284888.017.png 299284888.018.png 299284888.019.png 299284888.020.png 299284888.021.png 299284888.022.png 299284888.023.png 299284888.024.png 299284888.025.png 299284888.026.png 299284888.027.png 299284888.028.png 299284888.029.png 299284888.030.png 299284888.031.png 299284888.032.png 299284888.033.png 299284888.034.png 299284888.035.png 299284888.036.png 299284888.037.png 299284888.038.png 299284888.039.png 299284888.040.png 299284888.041.png 299284888.042.png 299284888.043.png 299284888.044.png 299284888.045.png 299284888.046.png 299284888.047.png 299284888.048.png 299284888.049.png 299284888.050.png
Zasoby odzyskiwalne
• Liczba jednostek zasobów odzyskiwalnych jest
ustalona.
• Zasoby odzyskiwalne po ich zwolnieniu przez jakiś
proces mogą zostać ponownie użyte przez inny
proces.
• Proces ubiega się o dowolny egzemplarz zasobu
odzyskiwalnego według następującego schematu:
1. zamówienie (ewentualnie oczekiwanie na
realizację),
2. użycie — korzystanie zasobu (jego
przetrzymywanie),
3. zwolnienie — oddanie zasobu do systemu.
• Przykłady zasobów odzyskiwalnych: procesor,
pamięć, kanał wejścia-wyjścia.
Systemy operacyjne
Wykład 8
4
299284888.052.png 299284888.053.png 299284888.054.png 299284888.055.png 299284888.056.png 299284888.057.png 299284888.058.png 299284888.059.png 299284888.060.png 299284888.061.png 299284888.063.png 299284888.064.png 299284888.065.png 299284888.066.png 299284888.067.png 299284888.068.png 299284888.069.png 299284888.070.png
Zasoby nieodzyskiwalne
• Jednostki zasobu nieodzyskiwalnego są tworzone
przez jakiś proces, a następnie zużywane (tym
samym usuwane) przez inny proces.
• Nie ma ograniczenia na liczbę tworzonych
jednostek zasobu.
• Liczba aktualnie dostępnych jednostek jest
skończona i może się zmieniać w czasie w
wyniku zmian stanu systemu.
• Przykłady zasobów nieodzyskiwalnych: kod
znaku z klawiatury, sygnał lub komunikat
przekazany do procesu.
Systemy operacyjne
Wykład 8
5
299284888.071.png 299284888.072.png 299284888.074.png 299284888.075.png 299284888.076.png 299284888.077.png 299284888.078.png 299284888.079.png 299284888.080.png 299284888.081.png 299284888.082.png
Zgłoś jeśli naruszono regulamin