Pr-1st-1.1-m06-Slajd28

Z Studia Informatyczne
Wersja z dnia 15:56, 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 detekcji zakleszczenia dla modelu predykatowego(3)

Alg. detekcja zakleszczenia dla modelu predykatowego (3)

Procedura WaitUpdateProc jest odpowiedzialna za przetrzymanie znacznika do czasu spełnienia odpowiedniego warunku. Ponadto w pierwszym przebiegu wiadomości typu TOKEN inicjalizowana jest zmienna .

Znacznik jest zatrzymywany i przechowywany w monitorze aż do momentu spełnienia jednego z następujących warunków:

1. Proces nie był procesem pasywnym przez cały czas od ostatniego wysłania znacznika.
2. Możliwe jest uaktywnienie procesu po odebraniu wiadomości aktualnie dostępnych lub takich które zostaną wysłane przez procesy nie należące do zbioru procesów zakleszczonych.
3. Liczba wiadomości niepotwierdzonych wysłanych przez proces wynosi 0.

Warto zauważyć, że nie jest możliwe by nie spełniony był jeden z warunków 1) lub 3) przez czas nieograniczony, gdyż procesy pasywne nie wysyłają nowych wiadomości a, z drugiej strony, wszystkie wiadomości zostają potwierdzone w skończonym czasie. Tak więc gwarantuje to że znacznik zostanie w końcu przesłany do kolejnego procesu w pierścieniu.

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