Programování systémů reálného času A3M35PSR, A4B35PSR

Podobné dokumenty
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Profilová část maturitní zkoušky 2017/2018

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

SENZORY PRO ROBOTIKU

Vybrané, speciální zkoušky: automobilový průmysl

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Profilová část maturitní zkoušky 2013/2014

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Procesy a vlákna (Processes and Threads)

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

ÚVOD DO OPERAČNÍCH SYSTÉMŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

OS Plánování procesů

Přidělování CPU Mgr. Josef Horálek

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Témata profilové maturitní zkoušky

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

Operační systémy. Přednáška 1: Úvod

3. Počítačové systémy

Multimediální systémy

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

The Optimization of Modules for M68HC08 Optimalizace modulů pro M68HC08

čtyřleté gymnázium a vyšší stupeň osmiletého gymnázia

Univerzita Jana Evangelisty Purkyně Automatizace Téma: Datová komunikace. Osnova přednášky

PB002 Základy informačních technologií

VYUŽITÍ PYTHONU PRO REALTIMOVÉ ŘÍZENÍ PERIFERIÍ

Informace pro výběr bakalářského oboru

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Design systému. Komponentová versus procesní architektura

8. Sběr a zpracování technologických proměnných

OPS Paralelní systémy, seznam pojmů, klasifikace

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Systémy pro sběr a přenos dat

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

Databázové systémy BIK-DBS

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Řídící systémy hydraulických procesů. Cíl: seznámení s možnostmi řízení, regulace a vizualizace procesu.

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY. MRBT Robotika

Měření průtoku kapaliny s využitím digitální kamery

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Služba ve Windows. Služba (service) je program

Programování LEGO MINDSTORMS s použitím nástroje MATLAB a Simulink

Fakulta dopravní Ústav řídicí techniky a telematiky

CW01 - Teorie měření a regulace

Vzdělávací obsah předmětu

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

Projektová dokumentace ANUI

Disková pole (RAID) 1

Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.

Formální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy

Paralelní výpočty ve finančnictví

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Pokročilé architektury počítačů

Ústav automatizace a měřicí techniky.

PB002 Základy informačních technologií

Témata profilové maturitní zkoušky

Operační systémy pro systémy sběru dat (=DAQ systems). Vývoj aplikačních programů. Operační systémy pro DAQ RTOS VxWorks Windows CE RTX LabVIEW RT

Úvod. Programovací paradigmata

Operační systémy. Přednášky pro výuku předmětu. I ng. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003

Vzdělávací obsah vyučovacího předmětu

Mission ctitical real time system

1. Zpracování událostí na pozadí aplikace

Normal mission real time system

Prostředky automatického řízení Úloha č.5 Zapojení PLC do hvězdy

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Extrémně rychlé řídicí systémy Beckhoff

Zablokování (Deadlock) Mgr. Josef Horálek

Objektově orientované databáze. Miroslav Beneš

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

DUM 19 téma: Digitální regulátor výklad

Počítač jako prostředek řízení. Struktura a organizace počítače

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

Osnova přednášky. Univerzita Jana Evangelisty Purkyně Základy automatizace Kvalita regulačního pochodu

2. Mechatronický výrobek 17

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

OS MP, RT a vestavěné systémy

09. Memory management. ZOS 2006, L.Pešička

Ukázka zkouškové písemka OSY

Číslicové zpracování signálů a Fourierova analýza.

Přidělování paměti II Mgr. Josef Horálek

Počítačové sítě Datový spoj

Hospodářská informatika

Uživatelské hodnocení kvality a dostupnosti ICT služeb. Zbyšek Chvojka, Mylène Veillet

Matematika v programovacích

TÉMATA POVINNÉ PROFILOVÉ MATURITNÍ ZKOUŠKY. Školní rok OBOR: OBCHODNÍ AKADEMIE PŘEDMĚT: EKONOMIKA

20 - Číslicové a diskrétní řízení

Tvorba informačních systémů

GNSS korekce Trimble Nikola Němcová

Transkript:

Programování systémů reálného času A3M35PSR, A4B35PSR Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering October 4, 2017 Inspirováno přednáškami Dr. Petera Panfilova 1 / 24

O čem je tento předmět? Real-time (RT) operační systém VxWorks Principy systémů reálného času. Teorie rozvrhování v systémech reálného času Cílem je deterministické chování (predikovatelnost) Toto je hlavní rozdíl oproti univerzálním operačním systémům. Správné fungování systému nezáleží jen na logických vlastnostech, ale také na časových. Založeno na knize Real-Time Systems, Jane W.S. Liu, Prentice Hall, 2000. Vývoj softwaru pro RT a bezpečnostně kritické aplikace. Komunikace v systémech reálného času. 2 / 24

Osnova přednášek 1 Systémy reálného času, požadavky, vlastnosti 2 OS VxWorks 3 Rozhraní RTOS podle normy POSIX 4 Statické rozvrhování 5 Rozvrhování s dynamickou prioritou 6 Rozvrhování se statickou prioritou 7 Problémy v analýze RT aplikací 8 Správa sdílených zdrojů 9 Kombinování real-time úloh s běžnými úlohami 10 Jazyk C pro pokročilé, překladač GCC 11 Kódovací standardy, verzovací systémy, certifikace, bezpečnost v RT systémech 12 Časování přístupu k paměti; správa dynamické paměti 13 Ostatní real-time operační systémy; budoucnost vývoje RT aplikací 3 / 24

Hodnocení předmětu Max. bodů Úlohy 1 7 35 do 22. 11. 2012 5 body po 22. 11. 2012 2 bod Semestrální práce 30 Vlastní program 20 bodů Verzovací systém 5 bodů Dokumentace 5 bodů Zkoušková písemka min. 15 bodů 35 Směrodatné jsou údaje na webových stránkách předmětu! Známka Počet bodů A 90 100 B 80 89 C 70 79 D 60 69 E 50 59 F <50 nebo <15 ze zkouškové písemky 4 / 24

Outline 1 Systémy reálného času 5 / 24

Úvod do systémů reálného času Systém reálného času je systém, jehož specifikace zahrnuje jak logické tak časové požadavky na správnost. Logická správnost Dostáváme správné výsledky. Např. 1 + 1 = 2. Časová správnost Výsledky dostáváme ve správném čase V tomto předmětu se budeme zabývat technikami pro ověření časové správnosti. Otázka jak specifikovat časové požadavky je sice důležitá, ale v tomto předmětu se jí budeme věnovat jen okrajově. 6 / 24

Typické charakteristiky systémů reálného času Řízené událostmi, reaktivní Jejích selhání bývá drahé a nebezpečné Paralelní/vícevláknové programování Nepřetržitý provoz bez zásahu operátora Požadavky na spolehlivost a odolnost vůči chybám (fault-tolerance) Predikovatelné chování 7 / 24

Mýty o systémech reálného času I (Stankovic 88) Návrh systému reálného času není žádná věda. Uvidíme Pokroky ve výkonnosti hardwaru za nás vyřeší časové požadavky. Real-time program je to samé jako rychlý program. Možná pro reklamní agentury. My pod pojmem real-time chápeme predikovatelný. Real-time programování je programování v assembleru. Rádi bychom návrh systémů reálného času co nejvíce zautomatizovali, než bychom se spoléhali na možná chytře napsaný, ale nepřehledný kód. Real-time znamená maximalizace výkonu. Při real-time programování je často důležitější časová přesnost než pouze výkonnost. 8 / 24

Mýty o systémech reálného času II (Stankovic 88) Problémy reálného času už byly vyřešeny v jiných oblastech informatiky. Informatici se obvykle zajímají jen o průměrný výkon. Nemá smysl se bavit o zárukách časování, když se cokoli může porouchat. I když se může cokoli porouchat, nechceme aby byl operační systém nejslabším článkem. Systémy reálného času pracují ve statickém prostředí. Není pravda. Uvažujeme i systémy, kde se pracovní módy dynamicky mění. 9 / 24

Jsou všechny systémy real-timové? Otázka: Je zpracování výplatních pásek systém reálného času? Máme časové omezení vytisknout je vždy jednou za měsíc. Podle definice to je systém reálného času, ale my ho takto nevidíme. Zajímají nás systémy u kterých není na první pohled zřejmé, jak splnit časová omezení. 10 / 24

Množství zdrojů Zdroje (procesor, pamět, síť, ) mohou být zařazeny do následujících skupin: Dostatečné Téměř každá metodologie pro návrh systému může být použita pro naplnění časových požadavků aplikace. Nedostatečné Aplikace má takové požadavky, které jsou za hranicemi současných technologií. Žádná návrhová metodologie nemůže použita pro naplnění časových požadavků aplikace. Dostatečné, ale vzácné Je možné naplnit časové požadavky aplikace, ale jen s použitím pečlivě promyšleným způsobem alokace zdrojů. 11 / 24

Příklad: Interaktivní/multimediální aplikace Zajímvé RT aplikace se nacházejí zde. Požadavky (výkonnost) Interaktivní video HiFi audio Přístup k souborům po síti Vzdálené přihlášení nedostatečné zdroje dostatečné, ale vzácné zdroje dostatečné zdroje 1980 1990 2000 Hardwarové zdroje v roce X 12 / 24

Příklad aplikace reálného času Téměř každý řídicí systém je systém reálného času. Příklad 1: Jednoduchý řídicí systém s jedním senzorem a jedním akčním členem. A/D A/D r k y k výpočet akčního zásahu u k regulátor D/A y(t) u(t) Senzor Řízená soustava Akční člen 13 / 24

Jednoduchý řídicí systém (pokračování) Pseudokód řídicí aplikace Nastav periodické přerušení s periodou T. V každé obsluze přerušení od časovače dělej: proveď A/D konverzi a přečti hodnotu y spočítej výstup u zapiš u a spusť D/A konverzi Hodnota T se nazývá vzorkovací perioda a její správná volba závisí na vlastnostech řízeného systému. Typické hodnoty jsou od sekund do milisekund. 14 / 24

Systémy s více vzorkovacími periodami Složitější řídicí systémy více senzorů a akčních členů. Dynamika různých části soustavy je jinak rychlá a proto i vzorkovací periody jednotlivých řídicích smyček jsou rozdílné. Příklad 2: Řídicí systém vrtulníku 180 za sekundu udělej: Zkontroluj data ze senzorů. V případě chyby rekonfiguruj systém. Dělej následující s frekvencí 30 Hz (avionika, každý 6. cyklus): vstup z klávesnice a výběr módu normalizace dat a transformace souřadnic aktualizace referenčních hodnot regulátory spočti regulátor vnější výškové smyčky spočti regulátor vnější smyčky náklonu spočti regulátor vnější smyčky azimutu a kolektivu S frekvencí 90 Hz dělej (každý 2. cyklus, vstupy ber z 30 Hz smyčky): spočti regulátor vnitřní výškové smyčky spočti regulátor vnitřní smyčky azimutu a kolektivu spočti regulátor vnitřní smyčky náklonu Zapiš výstupy Proveď vnitřní testy Čekej na začátek dalšího cyklu Poznámka: Harmonické vzorkovací frekvence zjednodušují systém.. 15 / 24

Hierarchický řídicí systém Odpovědi Rozhraní pro operátora Příkazy Navigace Odhad stavu Virtuální soustava Řízení letového provozu Odhad stavu Virtuální soustava Správa letu Odhad stavu Řízení letadla Letová data 16 / 24

Systémy na zpracování signálu Systémy převádějící data z jedné formy na druhou. Příklady: Číslicová filtrace Komprese/dekomprese videa či zvuku Zpracování radarových signálů Doby odezvy se pohybují v rozmezí od pár milisekund do několika sekund. 17 / 24

Příklad: Radarový systém Radar vzorkovaná číslicová data Paměť záznamy o drahách DSP procesory stav řízení Zpracování dat záznamy o drahách parametry zpracování signálu 18 / 24

Další aplikace reálného času I Real-time databáze Transakce musí být provedeny do určitého termínu Hlavní problém: Algoritmy pro rozvrhování transakcí a real-time rozvrhovací algoritmy mají často protikladné cíle. Požadavky na absolutní či relativní časovou konzistenci. Multimédia Chceme zpracovávat audio či video s konstantní vzorkovací frekvencí Snímková frekvence televize je 25 Hz. Pro HDTV 50 Hz. Další požadavky: Synchronizace zvuku a obrazu, nízký jitter (nepřesnost v časování), při interaktivním přenosu nízké zpoždění Simulace v reálném času Virtuální realita 19 / 24

Klasifikace aplikací reálného času Čistě cyklické Každá úloha je spouštěna periodicky Téměř neměnné požadavky na systémové prostředky Příklady: digitální regulátor, řízení letu, monitorování v reálném čase Převážně cyklické Většina úloh je spouštěna periodicky Systém reaguje na nějaké externí asynchronní události Příklady: Moderní avionické a řídicí systémy Asynchronní a predikovatelné Většina úloh není periodická Požadavky na systémové prostředky se mohou během po sobě jdoucích spuštění velmi lišit, ale mají známe meze či statistické rozložení. Příklady: Multimediální komunikace, zpracování signálu z radaru a sledování objektů Asynchronní a nepredikovatelné Převážně se reaguje na asynchronní události Úlohy s vysokou složitostí Příklady: inteligentní real-time řízení, real-time simulace a VR 20 / 24

Proč používat RT OS Souběžné zpracování dat reflektuje přirozený paralelismus skutečných dějů. Synchronizace a výměna dat mezi úlohami reprezentuje interakce mezi reálnými ději. Oddělení funkcí (co úloha dělá) a časových charakteristik (kdy to dělá) jednotlivých úloh. prostředník mezi hardware, uživatelskými programy a uživateli pomáhá programům snadno a efektivně využívat hardware správce prostředků vzájemná izolace programů 21 / 24

Paralelismus ve skutečném světě a v řídicí aplikaci Úloha 1 Řízení Meziúlohová koordinace Řízení 22 / 24

Požadované vlastnosti RT OS Víceúlohový či vícevláknový Preemptivní RT úloha by neměla být blokována jinými úlohami pokud to není nutné (sdílené zdroje). Mechanismus na zabránění inverzi priorit, lépe na zabránění deadlocku Řízený prioritami (nebo EDF earliest deadline first) Dostatečný rozsah priorit Definovaná maximální doba mezi vznikem přerušení a jeho obsloužením (interrupt latency) Dostatečně jemné rozlišení času 23 / 24

Distribuované real-time systémy Používají se z mnoha důvodů Zvýšení spolehlivosti (redundance) Distribuce výkonu na místa kde je spotřebováván Subsystémy dodány třetí stranou Problém: end-to-end vlastnosti (deadline) End-to-end response-time (doba odezvy) je ovlivňována různými zdroji (CPU, síť,...) 24 / 24