Systemy wbudowane - wykład 3 Przemek Błaśkiewicz 9 marca 2016 1 / 64
Spis rzeczy QNX zakończenie/przypomnienie 1 QNX zakończenie/przypomnienie W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach 2 Trochę ekonomii Trochę o planowaniu i projektowaniu 2 / 64
Ogólnie o QNX QNX zakończenie/przypomnienie W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach System opreacyjny = mikrojądro + procesy (= zbiory wątków); 3 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Ogólnie o QNX System opreacyjny = mikrojądro + procesy (= zbiory wątków); Wykonywany zawsze wątek READY o najwyższym priorytecie; 4 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Ogólnie o QNX System opreacyjny = mikrojądro + procesy (= zbiory wątków); Wykonywany zawsze wątek READY o najwyższym priorytecie; Planowanie (scheduling): FIFO, RR, sporadyczne; 5 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Ogólnie o QNX System opreacyjny = mikrojądro + procesy (= zbiory wątków); Wykonywany zawsze wątek READY o najwyższym priorytecie; Planowanie (scheduling): FIFO, RR, sporadyczne; Utrata procesora, gdy: 6 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Ogólnie o QNX System opreacyjny = mikrojądro + procesy (= zbiory wątków); Wykonywany zawsze wątek READY o najwyższym priorytecie; Planowanie (scheduling): FIFO, RR, sporadyczne; Utrata procesora, gdy: 7 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Ogólnie o QNX System opreacyjny = mikrojądro + procesy (= zbiory wątków); Wykonywany zawsze wątek READY o najwyższym priorytecie; Planowanie (scheduling): FIFO, RR, sporadyczne; Utrata procesora, gdy: zablokowanie, 8 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Ogólnie o QNX System opreacyjny = mikrojądro + procesy (= zbiory wątków); Wykonywany zawsze wątek READY o najwyższym priorytecie; Planowanie (scheduling): FIFO, RR, sporadyczne; Utrata procesora, gdy: zablokowanie, wywłaszczenie, 9 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Ogólnie o QNX System opreacyjny = mikrojądro + procesy (= zbiory wątków); Wykonywany zawsze wątek READY o najwyższym priorytecie; Planowanie (scheduling): FIFO, RR, sporadyczne; Utrata procesora, gdy: zablokowanie, wywłaszczenie, ustąpienie. 10 / 64
Obrazki do zapamiętania W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach 11 / 64
Obrazki do zapamiętania W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach 12 / 64
Obrazki do zapamiętania W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach 13 / 64
Obrazki do zapamiętania W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach 14 / 64
Odwracanie priorytetów W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach obsługa L przez S trwa długo H głoduje S dziedziczy priorytet po L S za nisko S otrzymuje priorytet najwyższy spośród zablokowanych klientów 15 / 64
Tematyka laboratoriów W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach komunikacja międzywątkowa (POSIX) 16 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Tematyka laboratoriów komunikacja międzywątkowa (POSIX) sygnały, wiadomości, pulsy 17 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Tematyka laboratoriów komunikacja międzywątkowa (POSIX) sygnały, wiadomości, pulsy praca w sieci qnet 18 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Tematyka laboratoriów komunikacja międzywątkowa (POSIX) sygnały, wiadomości, pulsy praca w sieci qnet 19 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Tematyka laboratoriów komunikacja międzywątkowa (POSIX) sygnały, wiadomości, pulsy praca w sieci qnet oby! menadżery zasobów 20 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Tematyka laboratoriów komunikacja międzywątkowa (POSIX) sygnały, wiadomości, pulsy praca w sieci qnet oby! menadżery zasobów timery 21 / 64
W poprzednich odcinkach do zapamiętania Odwracanie priorytetów c.d. na laboratoriach Tematyka laboratoriów komunikacja międzywątkowa (POSIX) sygnały, wiadomości, pulsy praca w sieci qnet oby! menadżery zasobów timery przerwania 22 / 64
Systemy wbudowane 23 / 64
Mars Pathfinder i inne kosmosy; 24 / 64
Mars Pathfinder i inne kosmosy; BMW i s-ka; 25 / 64
Mars Pathfinder i inne kosmosy; BMW i s-ka; klima, ogrzewanie, sterowanie; 26 / 64
Mars Pathfinder i inne kosmosy; BMW i s-ka; klima, ogrzewanie, sterowanie; dźwięk, wideo, sieci; 27 / 64
Mars Pathfinder i inne kosmosy; BMW i s-ka; klima, ogrzewanie, sterowanie; dźwięk, wideo, sieci; AGD, RTV,... 28 / 64
+90% wynalazków związanych jest z elektroniką/komputerami; 29 / 64
+90% wynalazków związanych jest z elektroniką/komputerami; automotive liczba układów dedykowanych jest 3-cyfrowa; 30 / 64
+90% wynalazków związanych jest z elektroniką/komputerami; automotive liczba układów dedykowanych jest 3-cyfrowa; 30-45% kosztów auta to elektronika; 31 / 64
+90% wynalazków związanych jest z elektroniką/komputerami; automotive liczba układów dedykowanych jest 3-cyfrowa; 30-45% kosztów auta to elektronika; szacunkowo liczba SW ogółem na świecie > 10 10 ; 32 / 64
System wbudowany To system (komputerowy), będący częścią większego systemu, nim sterujący lub przekazujący dane. (LUB) Realizuje specyficzne i jednoznacznie określone funkcje. (LUB) System gdzie przenikają się software i hardware. 33 / 64
Charakterystyka SW (1): Efektywność: energetyczna, $$$, ciężar, objętość kodu, ciepło,... 34 / 64
Charakterystyka SW (1): Efektywność: energetyczna, $$$, ciężar, objętość kodu, ciepło,... Dedykowane: konkretne zastosowania/środkowisko/problem; 35 / 64
Charakterystyka SW (1): Efektywność: energetyczna, $$$, ciężar, objętość kodu, ciepło,... Dedykowane: konkretne zastosowania/środkowisko/problem; Specjalny UI: bez klawiatury/ekranu, (problem z debugowaniem: trudnodostępne miejsce wdrożenia, złożoność testowania, nikłe narzędzia CAD); 36 / 64
Charakterystyka SW (2): Ograczniczenia czasu rzeczywistego: reakcje na (a)synchroniczne zdarzenia o różnych priorytetach i koszcie niedotrzymania czasu wykonania; W systemach czasu rzeczywistego dobra odpowiedź wygenerowana za późno jest złą odpowiedzią. 37 / 64
Charakterystyka SW (2): Ograczniczenia czasu rzeczywistego: reakcje na (a)synchroniczne zdarzenia o różnych priorytetach i koszcie niedotrzymania czasu wykonania; W systemach czasu rzeczywistego dobra odpowiedź wygenerowana za późno jest złą odpowiedzią. Hybrydowość i reaktywność: cyfrowo-analogowe, oddziałują i odbierają bodźce od otoczenia; 38 / 64
Charakterystyka SW (2): Ograczniczenia czasu rzeczywistego: reakcje na (a)synchroniczne zdarzenia o różnych priorytetach i koszcie niedotrzymania czasu wykonania; W systemach czasu rzeczywistego dobra odpowiedź wygenerowana za późno jest złą odpowiedzią. Hybrydowość i reaktywność: cyfrowo-analogowe, oddziałują i odbierają bodźce od otoczenia; Na pograniczu dwóch światów (częstotliwościowych, świetlnych, ruchomych,...). 39 / 64
Charakterystyka SW (3): 40 / 64
Charakterystyka SW (3): Zoptymalizowane: cenowo, pod względem złożoności, późniejszego rozbudowywania, użycia gotowych elementów; 41 / 64
Charakterystyka SW (3): Zoptymalizowane: cenowo, pod względem złożoności, późniejszego rozbudowywania, użycia gotowych elementów; koszt jednostkowy K u ; 42 / 64
Charakterystyka SW (3): Zoptymalizowane: cenowo, pod względem złożoności, późniejszego rozbudowywania, użycia gotowych elementów; koszt jednostkowy K u ; koszt jednorazowy wytworzenia K e (NRE non-recurring engineering cost 43 / 64
Charakterystyka SW (3): Zoptymalizowane: cenowo, pod względem złożoności, późniejszego rozbudowywania, użycia gotowych elementów; koszt jednostkowy K u ; koszt jednorazowy wytworzenia K e (NRE non-recurring engineering cost koszt całkowity K t = K u n + K e ; 44 / 64
Charakterystyka SW (3): Zoptymalizowane: cenowo, pod względem złożoności, późniejszego rozbudowywania, użycia gotowych elementów; koszt jednostkowy K u ; koszt jednorazowy wytworzenia K e (NRE non-recurring engineering cost koszt całkowity K t = K u n + K e ; koszt na sztukę: K t /n = K u + K e /n. 45 / 64
Krzywa dyfuzji innowacji: https://en.wikipedia.org/wiki/file:diffusion_of_ideas.svg 46 / 64
Cykl hype: https://en.wikipedia.org/wiki/file:hype-cycle-general.png 47 / 64
na czas dochod za wolno D W 2W czas 48 / 64
Mechanizm tworzenia systemu (wbudowanego) http://www.draw.io 49 / 64
Wymagania co jest budowane 50 / 64
Wymagania co jest budowane za ile; 51 / 64
Wymagania co jest budowane za ile; jak [szybko] ma działać (performance); 52 / 64
Wymagania co jest budowane za ile; jak [szybko] ma działać (performance); fizyczność (wymiary, waga, pobór/wydalanie energii); 53 / 64
Wymagania co jest budowane za ile; jak [szybko] ma działać (performance); fizyczność (wymiary, waga, pobór/wydalanie energii); Nazwa żeby nazwać Cel żeby wiedzieć po co Wejścia typy danych, częstotl., Wyjścia komu/jak wyśw. Funkcjonalności jak przetwarza We na Wy? Wydajność/efektywność tj. ograniczenia na czas, etc. Koszty produkcji ile max $? Zasilanie/pobór prądu... Rozmiary fizyczne... 54 / 64
Specyfikacja Nieco dokładniejszy opis niż ten w wymaganiach. Zawiera odpowiedzi na takie pytania: jakie dane? (rozmiar, częstotliwość...) 55 / 64
Specyfikacja Nieco dokładniejszy opis niż ten w wymaganiach. Zawiera odpowiedzi na takie pytania: jakie dane? (rozmiar, częstotliwość...) skąd? (interfesjy? standardowe schematy?) 56 / 64
Specyfikacja Nieco dokładniejszy opis niż ten w wymaganiach. Zawiera odpowiedzi na takie pytania: jakie dane? (rozmiar, częstotliwość...) skąd? (interfesjy? standardowe schematy?) dokąd? (LCD? głośnik? dysk? sieć?) 57 / 64
Specyfikacja Nieco dokładniejszy opis niż ten w wymaganiach. Zawiera odpowiedzi na takie pytania: jakie dane? (rozmiar, częstotliwość...) skąd? (interfesjy? standardowe schematy?) dokąd? (LCD? głośnik? dysk? sieć?) w jaki sposób? (w tle? równolegle? ciągle? na żądanie?) 58 / 64
architektury Opis na wysokim poziomie komponentów systemu. Diagramy blokowe opisujące (1) całość systemu, (2) komponenty sprzętowe, (3) komponenty programowe. 59 / 64
architektury Opis na wysokim poziomie komponentów systemu. Diagramy blokowe opisujące (1) całość systemu, (2) komponenty sprzętowe, (3) komponenty programowe. 60 / 64
architektury Opis na wysokim poziomie komponentów systemu. Diagramy blokowe opisujące (1) całość systemu, (2) komponenty sprzętowe, (3) komponenty programowe. 61 / 64
architektury Opis na wysokim poziomie komponentów systemu. Diagramy blokowe opisujące (1) całość systemu, (2) komponenty sprzętowe, (3) komponenty programowe. 62 / 64
Rzeczy do zapamiętania gdzie w świecie rozlokowały się SW; dlaczego tam; co z tego wynika; wymagania vs. specyfikacja. 63 / 64
Rzeczy do zapamiętania gdzie w świecie rozlokowały się SW; dlaczego tam; co z tego wynika; wymagania vs. specyfikacja. Do przeczytania Thomas M. Whitney, France Rode, Chung C. Tung, The powerful pocketful : an electronic calculator challenges the slide rule Hewlett-Packard Journal (1972): 2 9. 64 / 64