Pr-1st-1.1-m05-Slajd18: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
==Przykład – model OR== | ==Przykład – model OR== | ||
[[Image: | [[Image:Pr-1st-1.1-m05-Slajd18.png|Przykład – model OR]] | ||
Kolejny z grafów przedstawia zakleszczenie w modelu OR. Zbiory warunkujące to: | Kolejny z grafów przedstawia zakleszczenie w modelu OR. Zbiory warunkujące to: | ||
Linia 12: | Linia 12: | ||
predykat | predykat | ||
<math>deadlock(\mathcal{B})</math> zachodzi tu dla | <math>deadlock(\mathcal{B})</math> zachodzi tu dla | ||
<math>\mathcal{B} = \{ P_2, P_3, P_3 \} < | <math>\mathcal{B} = \{ P_2, P_3, P_3 \} </math> | ||
Przyjmijmy teraz dla urozmaicenia, że w przetwarzaniu z następnego grafu kanały wejściowe procesów | Przyjmijmy teraz dla urozmaicenia, że w przetwarzaniu z następnego grafu kanały wejściowe procesów | ||
<math>P_1</math>, <math>P_3</math>, <math>P_4</math> i <math>P_5</math> | <math>P_1</math>, <math>P_3</math>, <math>P_4</math> i <math>P_5</math> | ||
są puste. W kanale <math>C_{3,2}</math> jest natomiast dostępna wiadomość, ale proces | są puste. W kanale <math>C_{3,2}</math> jest natomiast dostępna wiadomość, ale proces | ||
<math>P_2</math> nie oczekuje wiadomości od procesu <math>P_3</math>. Przyjmijmy ponadto, że wiadomość <math>M<math> wysłana z | <math>P_2</math> nie oczekuje wiadomości od procesu <math>P_3</math>. Przyjmijmy ponadto, że wiadomość <math>M</math> wysłana z | ||
<math>P_1</math> do <math>P_2</math> jest właśnie transmitowana (<math>in\mbox{-}transit_2[1]=True</math>) lecz nie jest jeszcze dostępna. Ponieważ jednak | <math>P_1</math> do <math>P_2</math> jest właśnie transmitowana (<math>in\mbox{-}transit_2[1]=True</math>) lecz nie jest jeszcze dostępna. Ponieważ jednak | ||
<math>P_1 \not\in \mathcal{D}_2</math>, nadejście wiadomości <math>M</math>, nie uaktywni procesu | <math>P_1 \not\in \mathcal{D}_2</math>, nadejście wiadomości <math>M</math>, nie uaktywni procesu | ||
<math>P_2</math>. W rozważanym stanie, jedynie proces <math>P_1</math> może być ewentualnie uaktywniony przez <math>P_5</math>. | <math>P_2</math>. W rozważanym stanie, jedynie proces <math>P_1</math> może być ewentualnie uaktywniony przez <math>P_5</math>. | ||
W konsekwencji, jeżeli modelem żądań jest model OR, to <math>deadlock(\mathcal{B}) = True</math> dla | W konsekwencji, jeżeli modelem żądań jest model OR, to <math>deadlock(\mathcal{B}) = True</math> dla | ||
<math>\mathcal{B} = \{ P_2, P_3, P_3 \}< | <math>\mathcal{B} = \{ P_2, P_3, P_3 \}</math>. | ||
Zauważmy też jeszcze, że gdyby proces <math>P_1</math> żądał jednocześnie wiadomości zarówno od <math>P_5</math> jak i <math>P_4</math> (jak to ma miejsce w modelu AND), to zbiór procesów zakleszczonych obejmowałby: <math>P_1</math>, <math>P_2</math>, <math>P_3</math> i <math>P_4</math>. | Zauważmy też jeszcze, że gdyby proces <math>P_1</math> żądał jednocześnie wiadomości zarówno od <math>P_5</math> jak i <math>P_4</math> (jak to ma miejsce w modelu AND), to zbiór procesów zakleszczonych obejmowałby: <math>P_1</math>, <math>P_2</math>, <math>P_3</math> i <math>P_4</math>. | ||
Linia 28: | Linia 28: | ||
[[ | [[Pr-1st-1.1-m05-Slajd17 | << Poprzedni slajd]] | [[Pr-1st-1.1-m05-toc|Spis treści ]] | [[Pr-1st-1.1-m05-Slajd19 | Następny slajd >>]] |
Wersja z 15:54, 7 wrz 2006
Przykład – model OR
Kolejny z grafów przedstawia zakleszczenie w modelu OR. Zbiory warunkujące to:
, , , .
Predykat predykat zachodzi tu dla
Przyjmijmy teraz dla urozmaicenia, że w przetwarzaniu z następnego grafu kanały wejściowe procesów , , i są puste. W kanale jest natomiast dostępna wiadomość, ale proces nie oczekuje wiadomości od procesu . Przyjmijmy ponadto, że wiadomość wysłana z do jest właśnie transmitowana () lecz nie jest jeszcze dostępna. Ponieważ jednak , nadejście wiadomości , nie uaktywni procesu . W rozważanym stanie, jedynie proces może być ewentualnie uaktywniony przez . W konsekwencji, jeżeli modelem żądań jest model OR, to dla .
Zauważmy też jeszcze, że gdyby proces żądał jednocześnie wiadomości zarówno od jak i (jak to ma miejsce w modelu AND), to zbiór procesów zakleszczonych obejmowałby: , , i .