Pr-1st-1.1-m05-Slajd26

Z Studia Informatyczne
Wersja z dnia 15:54, 7 wrz 2006 autorstwa Szopen (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Algorytm Chandy, Misra, Hass dla modelu AND (1)

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 initIndex, określające indeks inicjatora. Podstawowe zmienne wykorzystywane przez algorytm są następujące:

  • probeOut – pakiet kontrolny
  • grantedi – tablica wartości logicznych, wartość True j-tego elementu tej tablicy oznacza że proces Pi po odebraniu ostatniej wiadomości REQUEST od procesu Pj wysłał do Pj potwierdzenie GRANT.
  • 𝒟i – zbiór warunkujący procesu Pi

recvProbei – tablica wartości logicznych, wartość True j-tego elementu tej tablicy oznacza że monitor Qi odebrał od Qj wiadomość typu PROBE zainicjowaną przez Qk i spełnione są warunki konieczne zakleszczenia procesu Pi oraz Pj.

  • αi – indeks monitora, który zainicjował detekcję zakleszczenia

deadlockDetectedi – wartość True tej zmiennej oznacza że wykryte zostało zakleszczenie

Dla uproszczenia, pominięto w specyfikacji tego algorytmu oczywiste akcje monitora Qi, związane ze zmianą wartości grantedi.


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