Systemy czasu rzeczywistego

Slides:



Advertisements
Podobne prezentacje
PRAM.
Advertisements

STRUKTURY DANYCH.
Wprowadzenie do informatyki Wykład 6
Jarosław Kuchta Semafory.
Jarosław Kuchta Monitory.
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Język asemblera Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
PROGRAMOWANIE STRUKTURALNE
Współprogramy III Ten wykład ma na celu pokazanie kolejnej ciekawej możliwości, którą oferują współprogramy. Wspólprogramy reprezentujące wyrażenia regularne.
ZŁOŻONOŚĆ OBLICZENIOWA
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Systemy czasu rzeczywistego Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Przetwarzanie tekstów i AWK Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Rekursja Teoretyczne podstawy informatyki Wykład 5
Procesy współbieżne Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Inżynieria oprogramowania Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Wprowadzenie do informatyki Wykład 5
Obliczalność i złożoność obliczeniowa
Testy akceptacyjne Analiza systemów informatycznych Wykład 9
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Imperatywne modele obliczeń Copyright, 2003 © Jerzy R. Nawrocki Teoretyczne podstawy.
Metody numeryczne Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Bazy danych Wprowadzenie do informatyki Wykład 9
Programowanie imperatywne i granice obliczalności Copyright, 2004 © Jerzy R. Nawrocki
Rekursja Copyright, 2004 © Jerzy R. Nawrocki Teoretyczne podstawy informatyki.
Język asemblera i koncepcja von Neumanna
Programowanie imperatywne i język C
Języki formalne i gramatyki
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Modularyzacja i struktury danych w C Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Język C – Część II Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Dokumenty i prezentacje Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do.
Wprowadzenie do informatyki Wykład 5
Wykład 2 struktura programu elementy języka typy zmienne
Semafory.
Typy wskaźnikowe, dynamiczne struktury danych
Podprogramy.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
Systemy Czasu Rzeczywistego
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
Funkcje w Pascalu Przypomnienie wiadomości o procedurach Prowadzący: Anna Kaleta Piotr Chojnacki.
Wyrażenia w Turbo Pascalu.
Procedury i funkcje.
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Programowanie strukturalne i obiektowe
Instrukcja warunkowa i wyboru
Informatyka jako dziedzina wiedzy
Gramatyki i translatory
Programowanie baz danych
Informatyka MZT1 Wykład 6 Iteracje while i repeat Tablice Rekordy
Wykład 10 typ zbiorowy rekurencja.
Ogólna struktura programu w TP
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Informatyka jako dziedzina wiedzy Copyright, 2005 © Jerzy R. Nawrocki Wprowadzenie.
Języki formalne i gramatyki Copyright, 2005 © Jerzy R. Nawrocki Teoretyczne podstawy.
Analiza ryzyka Analiza systemów inf. Wykład 14
Języki formalne Copyright, 2006 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Wprowadzenie do teoretycznych podstaw informatyki Copyright, 2004 © Jerzy R. Nawrocki
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Układy sekwencyjne.
Zapis prezentacji:

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)