Pr-1st-1.1-m06-Slajd28
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Algorytm detekcji 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.