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
 
m Zastępowanie tekstu – „<math> ” na „<math>”
 
(Nie pokazano 2 wersji utworzonych przez 2 użytkowników)
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 14: Linia 14:
Warto zauważyć,  że  predykat  <math>deadlock(\mathcal{B})</math>
Warto zauważyć,  że  predykat  <math>deadlock(\mathcal{B})</math>
jest predykatem  stabilnym. Tym samym zajście tego predykatu w pewnej chwili <math>\tau</math>, implikuje, że dla każdego
jest predykatem  stabilnym. Tym samym zajście tego predykatu w pewnej chwili <math>\tau</math>, implikuje, że dla każdego
<math> \tau ' \ge \tau</math>,  
<math>\tau ' \ge \tau</math>,  
<math>deadlock(\mathcal{B})= True </math>.
<math>deadlock(\mathcal{B})= True</math>.


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 >>]]

Aktualna wersja na dzień 22:11, 11 wrz 2023

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 >>