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.

w occamie można zapisać następująco:ALT i = l FOR NW(i)I(i)W języku occam 2 jest dostępnych siedem typów podstawowych: BYTE, i INT16,INT32, INT64 (integer wskazanej długości), REAL32, REAL64 i BOOL (boolean). Zmienne łkanały deklaruje się podając typ i nazwę, np. BOOL b jest deklaracją zmiennej b typulogicznego, CHAN REAL32 c jest deklaracją kanału c, przez który można przesyłać wartościtypu rzeczywistego. Tablice deklaruje się podając w nawiasach kwadratowych przed nazwątypu liczbę jej elementów, np. [10] INT16 a jest deklaracją dziesięciu zmiennych całkowitycho nazwach od a(0) do a(9), [10] CHAN BYTE c jest deklaracją tablicy dziesięciu kanałów, aCHAN [10] BYTE c jest deklaracją jednego kanału, przez który można przesyłaćdziesięcioelementowe tablice.Jak widać, zamieszczone w tym rozdziale rozwiązania w CSP można prawieautomatycznie przetłumaczyć na occam. Jednak occam zawiera także mechanizmyniedostępne w CSP, takie jak procedury i funkcje. Przydatna, zwłaszcza przy programowaniusystemów czasu rzeczywistego, jest możliwość nadawania procesom priorytetów i korzystaniaz zegara czasu rzeczywistego. Occam umożliwia również konfigurowanie programu, czyliwskazywanie, na których procesorach mają być wykonywane poszczególne procesy.Na maszynach typu IBM PC język occam jest dostępny dzięki karcie Inmos IMS B004,która wraz z systemem TDS (Transputer Devclopment System} zawierającym m.in. specjalnyedytor, kompilator, debugger i biblioteki z wieloma procedurami i funkcjami, głównie doobliczeń numerycznych i wejścia-wyjścia, stanowi środowisko do uruchamiania programów woccamie.5.5.2 Parallel CJęzyk Parallel C powstał w roku 1984 jako rozszerzenie standardowego języka C[KeR,i87] o mechanizmy programowania współbieżnego [ParaOl].Rozszerzenie to polega na dodaniu dwóch instrukcji: par i select oraz jednego typuchannel. Ponieważ Parallel C jest przeznaczony głównie do programowania transputerów,zastosowane konstrukcje językowe przypominają analogiczne mechanizmy w occamie.Parallel C ma jednak wszystkie własności języka C, czego konsekwencją jest z jednejstrony większa swoboda w operowaniu typami, ale z drugiej brak kontroli poprawności użyciamechanizmów programowania współbieżnego oraz możliwość wielu efektów ubocznych.Instrukcja par ma takie samo znaczenie jak konstrukcja PAR w occamie.par { II; 12; ...; In }oznacza współbieżne wykonanie instrukcji II, 12, ... i In, którymi mogą być również instrukcjezłożone. Mechanizm powielania ma identyczną postać jak stosowany w pętli for w języku C.par (i = 0; i < N; i++)oznacza to samo co PAR i=0 FOR N-1 w occamie. Jednakże w Parallel C indeks może byćdowolnego typu (prócz struktur i elementów tablic), a więc można n p. uruchomić współbieżniepo jednym procesie (instrukcji) dla każdego elementu listy.152

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

Saved successfully!

Ooh no, something went wrong!