Systemy czasu rzeczywistego (c) Jerzy Nawrocki Wprowadzenie do informatyki Wykład 14 Systemy czasu rzeczywistego Jerzy.Nawrocki@put.poznan.pl http://www.cs.put.poznan.pl/jnawrocki/ics/ Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki, Wykład 14
J.Nawrocki, Wprowadzenie do inf. (14) Plan wykładu Wprowadzenie Metoda HRT-HOOD Maksymalny czas wykonania programu Szeregowanie zadań J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) System czasu rzeczywistego: system informatyczny, który nadąża za zmianami zachodzącymi w jego otoczeniu. J.Nawrocki, Wprowadzenie do inf. (14)
System transformacyjny J.Nawrocki, Wprowadzenie do inf. (14) output= f(input) Wejście Wyjście Zdarzenie Odpowiedź System reaktywny Zdarzenie Odpowiedź J.Nawrocki, Wprowadzenie do inf. (14)
Kodowanie i testowanie Szacowanie maksymalnego Wprowadzenie Specyfikacja wymagań Projektowanie Kodowanie i testowanie Szacowanie maksymalnego czasu wykonania Szeregowanie zadań J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Plan wykładu Wprowadzenie Metoda HRT-HOOD Maksymalny czas wykonania programu Szeregowanie zadań J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD HOOD= Hierarchical Object-Oriented Design HRT-HOOD= Hard Real-Time HOOD Europejska Agencja ds. Przestrzeni Lata 1990-1995 A. Burns, A. Wellings, University of York Konkurencja: Real-Time UML J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD Rodzaj Nazwa obiektu Pr Bufor Insert Get Operacje J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD Pr Bufor Insert Get Dana J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD Rodzaj Rodzaje obiektów: cykliczne - C sporadyczne - S pasywne - Pa chronione - Pr aktywne - A Pr J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD Obiekt cykliczny - C okres Procedura aktywowana zegarem J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD Obiekt sporadyczny - S maksymalna częstotliwość Procedura aktywowana zdarzeniem J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD Obiekt sporadyczny - S maksymalna częstotliwość Procedura aktywowana zdarzeniem J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD Joe! Biegnij! Wiesz po co.. Obiekt pasywny - P Procedura wywoływana przez inną procedurę J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD Obiekt chroniony - Pr Joe! Biegnij! Wiesz po co.. Joe! Zanieś list. Procedura wywoływana przez inne + ochrona J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD Schematy współpracy między usługodawcą a usługobiorcą: Asynchroniczny - ASER Słabo zsynchronizowany - LSER Silnie zsynchronizowany - HSER J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD A ObsługaHotelu ASER ZostawienieKlucza *PobranieKlucza ZgłoszenieUsterki ZapłataIPokwitowanie HSER LSER HSER J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Producent-Konsument Konsument Producent Magazyn Produkuj_elem Pobierz_elem Konsumuj_elem Wstaw_elem J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Metoda HRT-HOOD C Producent C Konsument Period= 1s Period= 1s InElem OutElem Pr Magazyn *WstawElem *PobierzElem HSER J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Plan wykładu Wprowadzenie Metoda HRT-HOOD Maksymalny czas wykonania programu Szeregowanie zadań J.Nawrocki, Wprowadzenie do inf. (14)
Maksymalny czas wykonania function Pierw (L: integer): Boolean; var i: integer; Podz: Boolean; begin if L mod 2 = 0 then Podz:= true else Podz:= false; if L=2 then Podz:= false; i:= 3; while i < L/2 do begin if L mod i = 0 then Podz:= true; i:= i + 2 end; Pierw:= not Podz end; J.Nawrocki, Wprowadzenie do inf. (14)
Maksymalny czas wykonania L mod 2=0 Podz:= false Podz:= true Nie Tak Tak L = 2 Podz:= false Nie i:= 3 Nie i < L/2 Tak Tak L mod i=0 Pierw:= not Podz Podz:= true Nie Koniec i:= i + 2 J.Nawrocki, Wprowadzenie do inf. (14)
Maksymalny czas wykonania Podz:= false L mod 2=0 Podz:= true Nie Tak Tak L = 2 Podz:= false T_Pierw Nie i:= 3 Nie i < L/2 Tak Tak Pierw:= not Podz L mod i=0 Podz:= true Nie Koniec i:= i + 2 J.Nawrocki, Wprowadzenie do inf. (14)
Maksymalny czas wykonania Podz:= false L mod 2=0 Podz:= true Nie Tak Tak L = 2 Podz:= false T_loop Nie i:= 3 Nie i < L/2 Tak Tak Pierw:= not Podz L mod i=0 Podz:= true Nie Koniec i:= i + 2 J.Nawrocki, Wprowadzenie do inf. (14)
Maksymalny czas wykonania Asembler L mod 2=0 L = 2 i < L/2 Podz:= false Podz:= true L mod i=0 i:= i + 2 i:= 3 Pierw:= not Podz Koniec Tak Nie T_Pierw T_loop J.Nawrocki, Wprowadzenie do inf. (14)
Maksymalny czas wykonania function Pierw (L: integer): Boolean; {MaxL: integer} var i: integer; Podz: Boolean; begin if L mod 2 = 0 then Podz:= true else Podz:= false; if L=2 then Podz:= false; i:= 3; while i < L/2 do begin { :loop: } {$ if MaxL<8 then 0 else MaxL/4 -1 $} if L mod i = 0 then Podz:= true; i:= i + 2 end; Pierw:= not Podz J.Nawrocki, Wprowadzenie do inf. (14)
Maksymalny czas wykonania function MaxT_Pierw (MaxL: integer) begin MaxT_Pierw:= T_Pierw + T_loop * (if MaxL<8 then 0 else MaxL/4 -1) end; J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Plan wykładu Wprowadzenie Metoda HRT-HOOD Maksymalny czas wykonania programu Szeregowanie zadań J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Szeregowanie zadań Metoda HRT HOOD Obiekty cykliczne Obiekty sporadyczne Są transformowane do cyklicznych Obiekty chronione Obiekty cykliczne zadania niepodzielne J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Szeregowanie zadań Problem podstawowy Jak szeregować niepodzielne zadania cykliczne? J.Nawrocki, Wprowadzenie do inf. (14)
Szeregowanie statyczne Plan Aktywacji Opisy zadań: • cykl • max. czas wyk. Czas projektu Plan Aktywacji T2 start! Czas pracy 0 : 05 J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Podsumowanie Wreszcie! Metoda HRT-HOOD projektowania systemów czasu rzeczywistego. Szacowanie maksymalnego czasu wykonania programów jest bardzo trudne. Szeregowanie statyczne a dynamiczne. J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) (c) Jerzy Nawrocki Praca domowa Napisz procedurę szacującą maksymalny czas wykonania funkcji F obliczającej n-tą liczbę Fibonacciego. J.Nawrocki, Wprowadzenie do inf. (14) Wprowadzenie do informatyki, Wykład 14
J.Nawrocki, Wprowadzenie do inf. (14) Literatura W.Complak, J.Nawrocki, Szacowanie czasu wykonania podprogramów C, Systemy czasu rzeczywistego’97, 39-49. A. Czajka, Statyczne szeregowanie zadań o okresach binarnych w systemach silnie uwarunkowanych czasowo, Politechnika Poznańska, 2000. J.Nawrocki, Wprowadzenie do inf. (14)
J.Nawrocki, Wprowadzenie do inf. (14) Ocena wykładu 1. Wrażenie ogólne? (1 - 6) 2. Zbyt wolno czy zbyt szybko? 3. Czy dowiedziałeś się czegoś ważnego? 4. Co poprawić i jak? J.Nawrocki, Wprowadzenie do inf. (14)