Pr-1st-1.1-m04-Slajd50

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Algorytm Birmana, Schipera i Stephensona (3)

Algorytm Birmana, Schipera i Stephensona (3)

Po odebraniu pakietu pcktIn od Qj, monitor Qi wstrzymuje dalsze jego przetwarzanie, do momentu gdy spełnione zostaną dwa następujące warunki:

Pierwszy z nich polega na sprawdzeniu czy otrzymany pakiet zawiera wiadomość wysłaną przez proces Pj do Pi bezpośrednio po wiadomości o numerze sekwencyjnym zapisanym w odpowiednim polu tablicy vSentClocki. Warunek ten gwarantuje zatem uporządkowanie FIFO w kanale. Drugi z warunków oznacza, że nadawca Pj wiadomości M nie otrzymał przed wysłaniem wiadomości M innej wiadomości M od Pk o numerze sekwencyjnym większym niż vSentClocki[k]. Gdyby taki przypadek miał miejsce, to wysłanie wiadomości M przez Pj byłoby przyczynowo zależne od wysłania wiadomości M, a wówczas wiadomość M powinna być odebrana przez wszystkie procesy, w tym również przez Pi, przed wiadomością M.

Jeżeli oba warunki zostaną spełnione, monitor Qi sprawdza, czy adresatem wiadomości jest proces Pi. W przypadku, gdy rzeczywiście wiadomość aplikacyjna skierowana jest do tego procesu, monitor przekazuje ją adresatowi. Następnie monitor uaktualnia swój zegar wektorowy vSentClocki. Jeżeli natomiast nie jest spełniony jeden z powyższych warunków, to pakiet zawierający wiadomość M jest zachowywany w monitorze Qi. Stan taki jest utrzymywany aż do nadejścia pewnego kolejnego pakietu, którego wiadomość będzie mogła zostać odebrana, spełniając w efekcie oba wymienione warunki dla wiadomości M.

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