Sr-7-wyk-2.0-Slajd17

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

Algorytm Maekawy

Algorytm Maekawy


W pierwszym kroku algorytmu wzajemnego wykluczania Maekawy proces Pi , który ubiega się o wejście do sekcji krytycznej, rozsyła ŻĄDANIE(i ) do wszystkich procesów, od których wymaga pozwolenia (procesy ze zbioru żądań Ri procesu Pi ).

Kiedy proces Pj otrzyma komunikat ŻĄDANIE(i ), wysyła ODPOWIEDŹ(j ) do procesu Pi pod warunkiem, że nie wysłał już komunikatu z odpowiedzią od czasu otrzymania ostatniej wiadomości ZWOLNIJ . W przeciwnym wypadku komunikat z żądaniem trafia do kolejki, w celu jego późniejszego rozpatrzenia.

W momencie kiedy proces Pi otrzyma komunikaty typu ODPOWIEDŹ od wszystkich procesów ze zbioru Ri , może uruchomić swoją sekcję krytyczną.

Po wykonaniu sekcji krytycznej, proces Pi wysyła wiadomości ZWOLNIJ(i ) do wszystkich procesów w Ri . W wypadku kiedy proces Pj otrzyma komunikat ZWOLNIJ(i ) od procesu Pi , wysyła ODPOWIEDŹ do następnego oczekującego procesu, który jest w jego kolejce i usuwa go z niej. Jeżeli kolejka jest pusta, wtedy proces aktualizuje swój stan, tak aby odzwierciedlał fakt, iż proces nie wysłał żadnego komunikatu ODPOWIEDŹ .


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