Please enable JavaScript.
Coggle requires JavaScript to display documents.
Scharakteryzuj zakleszczenie (Warunki konieczne (Wzajemne wykluczenie - w…
Scharakteryzuj zakleszczenie
Warunki konieczne
Wzajemne wykluczenie
- w danej chwili zasób może być przydzielony tylko jednemu procesorowi
Zachowywanie zasobu
- jeśli proces oczekuje na dodatkowe zasoby, nie trzeba zwalniać zasobów, które już mamy
Nieprzywłaszczalność
- inny proces nie może wywłaszczyć zasobu, który jest dysponowany przez inny proces
Istnienie cyklu oczekiwań
- istnieje cykl procesów, z których każdy ubiega się o przydział dodatkowych zasobów będących w dyspozycji kolejnego procesu cyklu. P1 czeka na P2 P2 na P3 Pn na P1
Przeciwdziałanie zakleszczeniom:
Konstrukcja systemów immanentnie wolnych od zakleszczenia
Detekcja zakleszczenia i odtwarzanie stanu wolnego od zakleszczenia
Stan systemu sprawdzany cyklicznie
Wykrycie zakleszczenia odtwarza stan wolny od niego
Unikanie zakleszczenia
Pozwala utrzymać system w stanie bezpiecznym
Algorytm sprawdza stan przydziału zasobów, oraz blokuje niektóre przydziały
Każda zmiana stanu jest sprawdzana
Polega na realizacji zamówień tak, aby zagwarantować odpowiednią liczbę zasobów.
Przed przydzieleniem zasobów system musi wiedzieć jakie będą żądane zasoby aż do momentu ich zwolnienia.
Wady:
Duży narzut czasowy (sprawdzamy każde żądanie)
Mało realistyczne założenie o znajomości maksymalnych żądań.
Zalety:
Potencjalnie lepszy stopień wykorzystania zasobów niż przy zapobieganiu.
Zapobieganie zakleszczeniu
Podejście polega na wyeliminowaniu możliwości zajścia jednego z koniecznych warunków zakleszczenia.
Wprowadza dodatkowe wymogi, które gwarantują brak wystąpienia zakleszczenia
Wady:
Ograniczony stopień wykorzystania zasobów.
Zalety:
Prostota i mały narzut czasowy
System jest w stanie zakleszczenia jeśli
istnieje niepusty zbiór procesów (mamy zadania)
które żądają przydziału dodatkowych zasobów nieprzywłaszczonych (które potrzebują dodatkowych zasobów)
będących aktualnie w dyspozycji innych zadań tego zbioru (ale zasoby są aktualnie zajęte, przez inne procesy w tym samym zbiorze)