12.07.2015 Views

Spis treœci - Patrz

Spis treœci - Patrz

Spis treœci - Patrz

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

dostosować się do nadawcy, ale nie odwrotnie. Poza spotkaniami wszystkie inne omawiane tumechanizmy zapewniają komunikację asynchroniczną.Wskazując bezpośrednio lub pośrednio partnerów komunikacji określa się powiązaniaprocesów w przestrzeni. Sposoby powiązania można podzielić w zależności od tego, czynadawca komunikatu jest z góry znany, czy nieznany odbiorcy, oraz czy odbiorca jest z góryznany, czy nieznany nadawcy. Składnia spotkań w CSP wymaga jawnego wskazania zarównonadawcy, jak i odbiorcy komunikatu. Składnia spotkań asymetrycznych (Ada, RPC) wymagajawnego wskazania tylko jednego z uczestników komunikacji. Pozostałe mechanizmywymagają wskazania pośrednika w komunikacji (potoku, kanału, semafora, monitora). Jednaktakie mechanizmy, jak kanały w języku occam czy potoki nienazwane w Unixie, wiążą zawszetylko jedną parę nadawca-odbiorca, zatem w tych przypadkach wskazując pośrednikawskazuje się jednoznacznie partnera. Uznamy, że nadawca rzeczywiście nie zna odbiorcy,tylko wtedy, gdy jego komunikat może odebrać jeden z wielu możliwych odbiorców. Odbiorcanie zna nadawcy wtedy, gdy komunikat, którego się spodziewa, może nadejść od jednego zwielu nadawców. Omówione podziały ilustruje tablica 2.1.TABLICA 2.1 Podział mechanizmów komunikacjiNadawca Odbiorca Synchroniczne(stosowane w systemachrozproszonych)Znanyznanynieznanynieznanyznanynieznanyznanynieznanyspotkania w CSPspotkania w Adziespotkania w Adziespotkania w EdipieAsynchroniczne(stosowane w systemachscentralizowanych)potoki nienazwanepotoki, kanały unixoweprzestrzeń kroteksemafory, monitoryW niniejszej książce przyjęliśmy następujący układ. Najpierw omawiamy ogólnemechanizmy służące przede wszystkim do synchronizacji (semafory i monitory), a następniemechanizmy komunikacji synchronicznej (spotkania) i mechanizmy komunikacjiasynchronicznej (przestrzeń krotek). Na końcu zajmujemy się wybranymi mechanizmamidostępnymi na poziomie systemu operacyjnego Unix, takimi jak semafory, komunikaty i zdalnewywołanie procedury. W ostatnim rozdziale omawiamy mechanizm potoków w systemie MS-DOS.2.8.4 Rodzaje programów współbieżnychW zależności od sposobu komunikacji między procesami wyróżnia się kilka typówprogramów współbieżnych [AnclrOl]. Wspomnieliśmy już o przetwarzaniu potokowym. Każdyproces w programie realizującym takie przetwarzanie pobiera dane tylko z jednego źródła(procesu lub kanału), przetwarza je i wysyła do jednego odbiorcy (procesu lub kanału). Takieprocesy nazywa się filtrami. Przykłady przetwarzania potokowego zawierają zadania l LIII.8.Bardziej złożoną strukturę programu w postaci acyklicznego grafu uzyskuje się wtedy, gdyposzczególne procesy pobierają dane z kilku źródeł i wysyłają wyniki do kilku odbiorców (por.5.3.13, w którym omówiono potok dwuwymiarowy).Inną grupę stanowią programy współbieżne złożone z wielu identycznie działającychprocesów. Zasługują one na szczególną uwagę, gdyż zwykle łatwiej je tworzyć, rozumieć imodyfikować. Struktura powiązań między procesami w takim programie zależy odrozwiązywanego zadania (por. 5.3.15). W skrajnym przypadku komunikaty mogą być29

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!