Pr-1st-1.1-m07-Slajd21

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Modele stanów globalnych – przykład 1 (2)

Modele stanów globalnych – przykład 1 (2)

Po wysłaniu znacznika token1 będącego konkretną wiadomością typu TOKEN (każda wiadomość, a więc również każdy znacznik, ma swój unikalny identyfikator mId ) w kierunku procesu P2, znacznik przez pewien czas znajduje się w kanale C1,2 (przypomnijmy, że w ogólności czas przebywania wiadomości w kanale jest skończony, lecz nie znany a priori ). Tak więc w chwili τ1 stan globalny można opisać następująco:

Σ(τ1)= present1(τ1)=False outLog1(τ1)={token1} inLog1(τ1)=
present2(τ1)=False outLog2(τ1)= inLog2(τ1)=
present3(τ1)=False outLog3(τ1)= inLog3(τ1)=

Zauważmy, że znajomość stanów lokalnych procesów P1 oraz P2 w chwili τ1 pozwala łatwo wyznaczyć stan kanału C1,2 jako różnicę mnogościową outLog1(τ1) oraz inLog2(τ1).

Po odebraniu znacznika token1 przez proces P2 system osiąga stan Σ2:

Σ(τ2)= present1(τ2)=False outLog1(τ2)={token1} inLog1(τ2)=
present2(τ2)=True outLog2(τ2)= inLog2(τ2)={token1}
present3(τ2)=False outLog3(τ2)= inLog3(τ2)=


Jak widać, w chwili τ2 kanał jest już pusty i istotnie outLog1(τ2)inLog2(τ2)=.

Po wysłaniu przez P2 znacznika do procesu P3 osiągany jest kolejny stan, Σ(τ3):

Σ(τ3)= present1(τ3)=False outLog1(τ3)={token1} inLog1(τ3)=
present2(τ3)=False outLog2(τ3)={token2} inLog2(τ3)={token1}
present3(τ3)=False outLog3(τ3)= inLog3(τ3)=

Następnie znacznik jest odbierany przez P3 i osiągany jest kolejny stan, a potem w analogiczny sposób następne.

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