Systemy czasu rzeczywistego Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład 8
J.Nawrocki, Wprowadzenie.., Wykład 8 Plan wykładu Wprowadzenie Metoda HRT-HOOD Maksymalny czas wykonania programu Szeregowanie zadań
J.Nawrocki, Wprowadzenie.., Wykład 8 Wprowadzenie System czasu rzeczywistego: system informatyczny, który nadąża za zmianami zachodzącymi w jego otoczeniu.
J.Nawrocki, Wprowadzenie.., Wykład 8 Wprowadzenie System transformacyjny output= f(input) System transformacyjny output= f(input) WejścieWyjście System reaktywny System reaktywny Zdarzenie Odpowiedź Zdarzenie Odpowiedź
J.Nawrocki, Wprowadzenie.., Wykład 8 Szeregowanie zadań Wprowadzenie Specyfikacja wymagań Projektowanie Kodowanie i testowanie Szacowanie maksymalnego czasu wykonania Szacowanie maksymalnego czasu wykonania
J.Nawrocki, Wprowadzenie.., Wykład 8 Plan wykładu Wprowadzenie Metoda HRT-HOOD Maksymalny czas wykonania programu Szeregowanie zadań
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD HOOD= Hierarchical Object-Oriented Design HRT-HOOD= Hard Real-Time HOOD Europejska Agencja ds. Przestrzeni Lata A. Burns, A. Wellings, University of York
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD Pr Bufor InsertGet Nazwa obiektu Rodzaj Operacje
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD Pr Bufor InsertGet Dana
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD Rodzaje obiektów: cykliczne - C sporadyczne - S pasywne - Pa chronione - Pr aktywne - A Pr Rodzaj
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD Obiekt cykliczny - C okres Procedura aktywowana zegarem
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD Obiekt sporadyczny - S maksymalna częstotliwość Procedura aktywowana przerwaniem
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD Obiekt sporadyczny - S maksymalna częstotliwość Procedura aktywowana przerwaniem
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD Obiekt pasywny - P Procedura wywoływana przez inną procedurę Joe! Biegnij! Wiesz po co..
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD Obiekt chroniony - Pr Joe! Biegnij! Wiesz po co.. Joe! Zanieś list. Procedura wywoływana przez inne + ochrona
J.Nawrocki, Wprowadzenie.., Wykład 8 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.., Wykład 8 Metoda HRT-HOOD A ObsługaHotelu A ObsługaHotelu ZostawienieKlucza*PobranieKluczaZgłoszenieUsterkiZapłataIPokwitowanie ASER HSER LSER HSER
J.Nawrocki, Wprowadzenie.., Wykład 8 Metoda HRT-HOOD C Producent C Konsument InElemOutElem Pr Magazyn *WstawElem*PobierzElem HSER HSER Period= 1s
J.Nawrocki, Wprowadzenie.., Wykład 8 Plan wykładu Wprowadzenie Metoda HRT-HOOD Maksymalny czas wykonania programu Szeregowanie zadań
J.Nawrocki, Wprowadzenie.., Wykład 8 Maksymalny czas wykonania 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; function Pierw (L: integer): Boolean;
J.Nawrocki, Wprowadzenie.., Wykład 8 Maksymalny czas wykonania L mod 2=0 L = 2 i < L/2 Podz:= falsePodz:= true Podz:= false L mod i=0 Podz:= true i:= i + 2 i:= 3 Pierw:= not Podz Koniec Tak Nie
J.Nawrocki, Wprowadzenie.., Wykład 8 Maksymalny czas wykonania L mod 2=0 L = 2 i < L/2 Podz:= falsePodz:= true Podz:= false L mod i=0 Podz:= true i:= i + 2 i:= 3 Pierw:= not Podz Koniec Tak Nie T_Pierw
J.Nawrocki, Wprowadzenie.., Wykład 8 Maksymalny czas wykonania L mod 2=0 L = 2 i < L/2 Podz:= falsePodz:= true Podz:= false L mod i=0 Podz:= true i:= i + 2 i:= 3 Pierw:= not Podz Koniec Tak Nie T_loop
J.Nawrocki, Wprowadzenie.., Wykład 8T_loop T_Pierw Maksymalny czas wykonania L mod 2=0 L = 2 i < L/2 Podz:= falsePodz:= true Podz:= false L mod i=0 Podz:= true i:= i + 2 i:= 3 Pierw:= not Podz Koniec Tak Tak Tak Tak Nie Nie Nie Nie Asembler
J.Nawrocki, Wprowadzenie.., Wykład 8 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.., Wykład 8 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.., Wykład 8 Plan wykładu Wprowadzenie Metoda HRT-HOOD Maksymalny czas wykonania programu Szeregowanie zadań
J.Nawrocki, Wprowadzenie.., Wykład 8 Szeregowanie zadań Obiekty cykliczne Obiekty sporadyczne Obiekty chronione Są transformowane do cyklicznych Obiekty cykliczne zadania niepodzielne Metoda HRT HOOD
J.Nawrocki, Wprowadzenie.., Wykład 8 Szeregowanie zadań Jak szeregować niepodzielne zadania cykliczne? Problem podstawowy
J.Nawrocki, Wprowadzenie.., Wykład 8 Szeregowanie statyczne Opisy zadań: cykl max. czas wyk. Opisy zadań: cykl max. czas wyk. Plan Aktywacji 0 : 05 T 2 start!
J.Nawrocki, Wprowadzenie.., Wykład 8 Podsumowanie Metoda HRT-HOOD projektowania systemów czasu rzeczywistego. Szacowanie maksymalnego czasu wykonania programów jest bardzo trudne. Szeregowanie statyczne a dynamiczne. Wreszcie!
J.Nawrocki, Wprowadzenie.., Wykład 8 Praca domowa Napisz procedurę szacującą maksymalny czas wykonania funkcji F obliczającej n-tą liczbę Fibonacciego.
J.Nawrocki, Wprowadzenie.., Wykład 8 Literatura W.Complak, J.Nawrocki, Szacowanie czasu wykonania podprogramów C, Systemy czasu rzeczywistego97, A. Czajka, Statyczne szeregowanie zadań o okresach binarnych w systemach silnie uwarunkowanych czasowo, Politechnika Poznańska, 2000.
J.Nawrocki, Wprowadzenie.., Wykład 8 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?