Pr-1st-1.1-m05-Slajd19: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Szopen (dyskusja | edycje)
Nie podano opisu zmian
 
Szopen (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
==Przykład – model k spośród r==
==Przykład – model k spośród r==


[[Image:pr-1st-1.1-m05-Slajd19a.png]]
[[Image:Pr-1st-1.1-m05-Slajd52.png]]
[[Image:pr-1st-1.1-m05-Slajd19b.png]]
[[Image:Pr-1st-1.1-m05-Slajd53.png]]
[[Image:pr-1st-1.1-m05-Slajd19c.png|Przykład – model k spośród r]]
[[Image:Pr-1st-1.1-m05-Slajd54.png|Przykład – model k spośród r]]


Ostatni z grafów ilustruje zakleszczenie w modelu ''k spośród r''. Zauważmy, że  
Ostatni z grafów ilustruje zakleszczenie w modelu ''k spośród r''. Zauważmy, że  
Linia 19: Linia 19:
Powyższe stwierdzenie jest oczywiście poprawne jeżeli rozważone są wyłącznie procesy tworzące określone przetwarzanie aplikacyjne. W szerszej jednak perspektywie, obejmującej dodatkowo procesy zewnętrzne w stosunku do aplikacji, jak na przykład monitory, możliwe staje się podjęcie działań zmierzających do przywrócenia stanu wolnego od zakleszczenia poprzez zewnętrzne wymuszenie zmiany stanu procesu aplikacyjnego (usunięcia procesu <math>P_i</math> i odzyskanie zasobów będących w jego dyspozycji). Takie podejście wymaga w pierwszej kolejności wykrycia (detekcji) zakleszczenia, co w środowisku rozproszonym nie jest jednak łatwe.
Powyższe stwierdzenie jest oczywiście poprawne jeżeli rozważone są wyłącznie procesy tworzące określone przetwarzanie aplikacyjne. W szerszej jednak perspektywie, obejmującej dodatkowo procesy zewnętrzne w stosunku do aplikacji, jak na przykład monitory, możliwe staje się podjęcie działań zmierzających do przywrócenia stanu wolnego od zakleszczenia poprzez zewnętrzne wymuszenie zmiany stanu procesu aplikacyjnego (usunięcia procesu <math>P_i</math> i odzyskanie zasobów będących w jego dyspozycji). Takie podejście wymaga w pierwszej kolejności wykrycia (detekcji) zakleszczenia, co w środowisku rozproszonym nie jest jednak łatwe.


[[pr-1st-1.1-m05-Slajd18 | << Poprzedni slajd]] | [[pr-1st-1.1-m05-toc|Spis treści ]] | [[pr-1st-1.1-m05-Slajd20 | Następny slajd >>]]
[[Pr-1st-1.1-m05-Slajd18 | << Poprzedni slajd]] | [[Pr-1st-1.1-m05-toc|Spis treści ]] | [[Pr-1st-1.1-m05-Slajd20 | Następny slajd >>]]

Wersja z 15:54, 7 wrz 2006

Przykład – model k spośród r

Przykład – model k spośród r

Ostatni z grafów ilustruje zakleszczenie w modelu k spośród r. Zauważmy, że

𝒟1={P2,P4,P5},
𝒟2={P3},
𝒟3={P2,P4},
𝒟4={P1,P2,P3}. 

Modele żądań dla P1, P2, P3 i P4 są zdefiniowane następująco: 1 spośród 3, 1 spośród 1, 2 spośród 2, oraz 2 spośród 3. W rozważanym stanie, proces P1 może być uaktywniony, ale procesy P2, P3 i P4 są zakleszczone. Warto zauważyć, że predykat deadlock() jest predykatem stabilnym. Tym samym zajście tego predykatu w pewnej chwili τ, implikuje, że dla każdego ττ, deadlock()=True.

Powyższe stwierdzenie jest oczywiście poprawne jeżeli rozważone są wyłącznie procesy tworzące określone przetwarzanie aplikacyjne. W szerszej jednak perspektywie, obejmującej dodatkowo procesy zewnętrzne w stosunku do aplikacji, jak na przykład monitory, możliwe staje się podjęcie działań zmierzających do przywrócenia stanu wolnego od zakleszczenia poprzez zewnętrzne wymuszenie zmiany stanu procesu aplikacyjnego (usunięcia procesu Pi i odzyskanie zasobów będących w jego dyspozycji). Takie podejście wymaga w pierwszej kolejności wykrycia (detekcji) zakleszczenia, co w środowisku rozproszonym nie jest jednak łatwe.

<< Poprzedni slajd | Spis treści | Następny slajd >>