Pr-1st-1.1-m05-Slajd26: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
== | ==Algorytm Chandy, Misra, Hass dla modelu AND (1)== | ||
[[Image: | [[Image:Pr-1st-1.1-m05-Slajd26.png|Algorytm Chandy, Misra, Hass dla modelu AND (1)]] | ||
Znany jest algorytm detekcji zakleszczenia dla modelu żądań AND i środowiska z kanałami FIFO, w którym monitor pasywnego procesu inicjuje spontanicznie przetwarzanie detekcyjne (ang. ''probe computation''). | Znany jest algorytm detekcji zakleszczenia dla modelu żądań AND i środowiska z kanałami FIFO, w którym monitor pasywnego procesu inicjuje spontanicznie przetwarzanie detekcyjne (ang. ''probe computation''). | ||
Linia 9: | Linia 9: | ||
* <math>probeOut</math> – pakiet kontrolny | * <math>probeOut</math> – pakiet kontrolny | ||
* <math>granted_i</math> – tablica wartości logicznych, wartość <math>True</math> j-tego elementu tej tablicy oznacza że proces <math>P_i</math> po odebraniu ostatniej wiadomości REQUEST od procesu <math>P_j</math> wysłał do <math>P_j</math> potwierdzenie GRANT. | * <math>granted_i</math> – tablica wartości logicznych, wartość <math>True</math> j-tego elementu tej tablicy oznacza że proces <math>P_i</math> po odebraniu ostatniej wiadomości REQUEST od procesu <math>P_j</math> wysłał do <math>P_j</math> potwierdzenie GRANT. | ||
*<math>\mathcal{D}_i< | *<math>\mathcal{D}_i</math> – zbiór warunkujący procesu <math>P_i</math> | ||
<math>recvProbe_i</math> | <math>recvProbe_i</math> – tablica wartości logicznych, wartość <math>True</math> j-tego elementu tej tablicy oznacza że monitor <math>Q_i</math> odebrał od <math>Q_j</math> wiadomość typu PROBE zainicjowaną przez <math>Q_k</math> i spełnione są warunki konieczne zakleszczenia procesu <math>P_i</math> oraz <math>P_j</math>. | ||
*<math>\alpha _i</math> – indeks monitora, który zainicjował detekcję zakleszczenia | *<math>\alpha _i</math> – indeks monitora, który zainicjował detekcję zakleszczenia | ||
<math>deadlockDetected_i</math> – wartość <math>True</math> tej zmiennej oznacza że wykryte zostało zakleszczenie | <math>deadlockDetected_i</math> – wartość <math>True</math> tej zmiennej oznacza że wykryte zostało zakleszczenie | ||
Linia 17: | Linia 17: | ||
[[ | [[Pr-1st-1.1-m05-Slajd25 | << Poprzedni slajd]] | [[Pr-1st-1.1-m05-toc|Spis treści ]] | [[Pr-1st-1.1-m05-Slajd27 | Następny slajd >>]] |
Aktualna wersja na dzień 15:54, 7 wrz 2006
Algorytm Chandy, Misra, Hass dla modelu AND (1)
Znany jest algorytm detekcji zakleszczenia dla modelu żądań AND i środowiska z kanałami FIFO, w którym monitor pasywnego procesu inicjuje spontanicznie przetwarzanie detekcyjne (ang. probe computation).
W procesie detekcji monitory przesyłają wiadomości kontrolne typu PROBE. Wysłanie wiadomości kontrolnej może być realizowane jednocześnie przez wiele procesów i dlatego wiadomości te zawierają pole , określające indeks inicjatora. Podstawowe zmienne wykorzystywane przez algorytm są następujące:
- – pakiet kontrolny
- – tablica wartości logicznych, wartość j-tego elementu tej tablicy oznacza że proces po odebraniu ostatniej wiadomości REQUEST od procesu wysłał do potwierdzenie GRANT.
- – zbiór warunkujący procesu
– tablica wartości logicznych, wartość j-tego elementu tej tablicy oznacza że monitor odebrał od wiadomość typu PROBE zainicjowaną przez i spełnione są warunki konieczne zakleszczenia procesu oraz .
- – indeks monitora, który zainicjował detekcję zakleszczenia
– wartość tej zmiennej oznacza że wykryte zostało zakleszczenie
Dla uproszczenia, pominięto w specyfikacji tego algorytmu oczywiste akcje monitora , związane ze zmianą wartości .