120 likes | 257 Views
SDL I PROSTY SCHEDULER - ZASTOSOWANIA. Ryszard Sobczak Politechnika Gdańska, Wydział Fizyki Technicznej i Matematyki Stosowanej, Zakład Matematyki Dyskretnej ul.Narutowicza 11/12; 80-952 Gdańsk, rsob@mif.pg.gda.pl. Inspiracja.
E N D
SDL I PROSTY SCHEDULER - ZASTOSOWANIA Ryszard Sobczak Politechnika Gdańska, Wydział Fizyki Technicznej i Matematyki Stosowanej, Zakład Matematyki Dyskretnej ul.Narutowicza 11/12; 80-952 Gdańsk, rsob@mif.pg.gda.pl
Inspiracja • Niska ocena praktyki wykonywania oprogramowania protokołów w środowiskach systemów wbudowa-nych. Trudny do rozpoznania związek kodu ze spe-cyfikacją. • Niska ocena sposobu przygotowania środowiska systemów wbudowanych do wykonywania oprogra-mowania protokołów telekomunikacyjnych. Brak nie-zbędnych funkcji i oferta wielu zbędnych funkcji. • Artykuł: Fryźlewicz Z., Ułasiewicz J., Scheduler transakcyjny dla zastosowań telekomunikacyjnych, Informatyka nr 2, 1992
Scheduler - Nieduża liczba procesów statycznych, - Brak wywłaszczania, - Krótki czas obsługi komunikatu. Rozwiązanie proste i tanie, ale czy wystarczające?
SDL • Z.100 Specification and Description Language (SDL). ITU Recommendation , 1993 • Badach A, Sobczak R., Zientalski M., Entwicklung von Fernübertragungssystemunter-lagen elektronischer Telegrafie-Zentralen, 18 Fachkolloquim Informationstechnik. Drezno, luty 1985 • SDL-RT Specification & Description Language - Real Time, www.sdl-rt.org, 2003
SDL i scheduler - implementacja Implementacja podstawowych elementów specyfikacji automatu opisującego proces • #define Process(z) switch(Processes[z].State) { • #define State(x) case x:switch(Ev->EID){ • #define Input(x) case x: { • #define Output(x,D,Q,B) {OutMe (byte x, byte D, byte Q, BufferT *B);} • #define NextState(y) {Processes[Self].State=y;} • Struktury danych z języka C • Przykład Layer 3.C
SDL – komunikacja W języku SDL z każdym procesem jest związany indywidualny bufor komunikatów adresowanych do procesu
SDL – odmierzanie czasu Odpowiedni mechanizm odmierzania czasu: najczęstszy brak w środowisku oprogramowania wbudowanego. W SDL upłynięcie czasu jest przekazywane do procesu z zastosowaniem komunikatu odprocesu zegara
X SDL i scheduler – odmierzanie czasu Scenariusz: Po ustawieniu timera T1 nastąpiło zdarzenie I1, ale zanim scheduler je obsłużył upłynął czas odmierza-ny przez timer T1 i odpowiedni komunikat został umieszczony w buforze schedulera RESET(T1) SET(T1,N2) SET(T1,N1) T1 ... I1
SDL – komunikacja W języku SDL z każdym procesem jest związany indywidualny bufor komunikatów adresowanych do procesu
S 0 State S0 ; Input I1; I I 1 2 ... NextState S1 ; Save I2; ... State S1 ; Input I2; ... S 1 Input I3; ... I I 2 3 SDL i scheduler – ograniczenia w stosowaniu Wymuszenie kolejności obsługi zdarzeń
Podsumowanie • Przydatność schedulera do implementacji protokołów można ocenić tylko poprzez analizę możliwości zaimplementowania przy-najmniej podstawowych mechanizmów for-malnej specyfikacji protokołów. Implemento-wanie jednego protokołu jest dalece niewystar-czające. • Pomimo istnienia ograniczeń wynikających z konstrukcji schedulera znalazł on swoje zasto-sowanie w urządzeniach stosujących procesory jednochipowe.