Pr-1st-1.1-m02-Slajd33: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 3: | Linia 3: | ||
[[Image:pr-1st-1.1-m02-Slajd33.png|Dostępność wiadomości ]] | [[Image:pr-1st-1.1-m02-Slajd33.png|Dostępność wiadomości ]] | ||
Należy zaznaczyć, że zdarzenie '' | Należy zaznaczyć, że zdarzenie ''e_send''(<math>P_i,P_j,M</math>) odpowiada na ogół wykonaniu operacji asynchronicznej, która zapisuje wiadomość | ||
<math>M</math> do kanału wyjściowego (bufora łącza transmisyjnego). Następnie środowisko rozproszone transmituje wiadomość | <math>M</math> do kanału wyjściowego (bufora łącza transmisyjnego). Następnie środowisko rozproszone transmituje wiadomość | ||
<math>M</math> do węzła docelowego i zapisuje ją w buforze wejściowym procesu docelowego <math>P_j</math>. Gdy wiadomość dotrze do bufora wejściowego procesu docelowego, to wiadomość staje się dostępna i może być natychmiast pobrana z bufora w wyniku wykonania operacji | <math>M</math> do węzła docelowego i zapisuje ją w buforze wejściowym procesu docelowego <math>P_j</math>. Gdy wiadomość dotrze do bufora wejściowego procesu docelowego, to wiadomość staje się dostępna i może być natychmiast pobrana z bufora w wyniku wykonania operacji | ||
''receive''(<math>P_i,P_j,inM</math>). | ''receive''(<math>P_i,P_j,inM</math>). | ||
Dostępność wiadomości utożsamiać też można z zajściem zdarzeń w środowisku komunikacyjnym: '''zdarzenia dostarczenia wiadomości''' '' | Dostępność wiadomości utożsamiać też można z zajściem zdarzeń w środowisku komunikacyjnym: '''zdarzenia dostarczenia wiadomości''' ''e_deliver''(<math>P_i,P_j,M</math>), albo '''zdarzenia nadejścia wiadomości''' - ''e_arrive''(<math>P_i,P_j,M</math>). W tym kontekście, przez | ||
<math>\mathcal{P}_j^A</math> oznaczymy zbiór procesów, których wiadomości dotarły i są dostępne dla | <math>\mathcal{P}_j^A</math> oznaczymy zbiór procesów, których wiadomości dotarły i są dostępne dla | ||
<math>P_j</math>. Jeżeli proces odbiorcy <math>P_j</math> odczytuje skierowaną do niego wiadomość <math>M</math>, wykonując operację ''receive''(<math>P_i,P_j,inM<math>), wiadomość ta jest przepisywana (przemieszczana) z bufora wyjściowego łącza (bufora wejściowego procesu <math>P_i</math>) do lokalnej zmiennej procesu <math>inM</math>. Jeżeli przepisanie to nastąpiło, to mówimy, że wiadomość '''została odebrana''' lub, że zaszło '''zdarzenie odbioru''' '' | <math>P_j</math>. Jeżeli proces odbiorcy <math>P_j</math> odczytuje skierowaną do niego wiadomość <math>M</math>, wykonując operację ''receive''(<math>P_i,P_j,inM</math>), wiadomość ta jest przepisywana (przemieszczana) z bufora wyjściowego łącza (bufora wejściowego procesu <math>P_i</math>) do lokalnej zmiennej procesu <math>inM</math>. Jeżeli przepisanie to nastąpiło, to mówimy, że wiadomość '''została odebrana''' lub, że zaszło '''zdarzenie odbioru''' ''e_receive''(<math>P_i,P_j,inM</math>). | ||
Warto przypomnieć, że wiadomości mają swoje unikalne identyfikatory, które pozwalają na jednoznaczne kojarzenie zdarzenia nadania konkretnej wiadomości ze zdarzeniem odbioru tej samej wiadomości. | Warto przypomnieć, że wiadomości mają swoje unikalne identyfikatory, które pozwalają na jednoznaczne kojarzenie zdarzenia nadania konkretnej wiadomości ze zdarzeniem odbioru tej samej wiadomości. |
Aktualna wersja na dzień 15:49, 7 wrz 2006
Dostępność wiadomości
Należy zaznaczyć, że zdarzenie e_send() odpowiada na ogół wykonaniu operacji asynchronicznej, która zapisuje wiadomość do kanału wyjściowego (bufora łącza transmisyjnego). Następnie środowisko rozproszone transmituje wiadomość do węzła docelowego i zapisuje ją w buforze wejściowym procesu docelowego . Gdy wiadomość dotrze do bufora wejściowego procesu docelowego, to wiadomość staje się dostępna i może być natychmiast pobrana z bufora w wyniku wykonania operacji receive().
Dostępność wiadomości utożsamiać też można z zajściem zdarzeń w środowisku komunikacyjnym: zdarzenia dostarczenia wiadomości e_deliver(), albo zdarzenia nadejścia wiadomości - e_arrive(). W tym kontekście, przez oznaczymy zbiór procesów, których wiadomości dotarły i są dostępne dla . Jeżeli proces odbiorcy odczytuje skierowaną do niego wiadomość , wykonując operację receive(), wiadomość ta jest przepisywana (przemieszczana) z bufora wyjściowego łącza (bufora wejściowego procesu ) do lokalnej zmiennej procesu . Jeżeli przepisanie to nastąpiło, to mówimy, że wiadomość została odebrana lub, że zaszło zdarzenie odbioru e_receive().
Warto przypomnieć, że wiadomości mają swoje unikalne identyfikatory, które pozwalają na jednoznaczne kojarzenie zdarzenia nadania konkretnej wiadomości ze zdarzeniem odbioru tej samej wiadomości.