Ceská letecká servisní a. s. - Your integrator of the avionics
Transkript
RTOS overview RTOS basic concept RTOS market Česká letecká servisní a. s. Your integrator of the avionics Česká letecká servisní a. s. Česká letecká servisní a. s. 1/27 RTOS inside RTOS overview RTOS basic concept RTOS market RTOS inside Embedded software Hlavní rysy embedded software Embedded software má následující charakteristické rysy: zpracovává pouze omezenou sadu úkolů, disponuje speciálními rozhraními (např. obsluha senzorů, řízení výkonových členů, speciální sběrnice), běží na speciálním hardware, hardware prostředky jsou omezené, vývoj probíhá dle oborově specifických požadavků, je cenově optimalizován. Česká letecká servisní a. s. 2/27 RTOS overview RTOS basic concept RTOS market RTOS inside Embedded software pro letectví Hlavní funkční požadavky Mezi nejčastější funkční požadavky na embedded software pro letectví patří: definovaná doba odezvy systému, požadavky na bezpečnost systému, požadavky na vzájemné ovlivnění mezi jednotlivými funkčními bloky systému. Hlavní oborové předpisy Hlavními oborovými předpisy pro vývoj embedded software v letectví jsou: ARINC 653, RTCA DO-178B. Česká letecká servisní a. s. 3/27 RTOS overview RTOS basic concept RTOS market RTOS inside Důvody nasazení RTOS / hlavní přínosy nasazení Důvody nasazení Real Time Operatring System (RTOS) odstínění hardware, management tasků, časování, komunikace mezi tasky, správa paměti, jednotná obsluha I/O. Přínosy nasazení RTOS deterministický systém, vytvořeny nejnáročnější části software. Česká letecká servisní a. s. 4/27 RTOS overview RTOS basic concept RTOS market RTOS inside Požadavky na RTOS / definice RTOS Požadavky na RTOS Hlavní důvody pro nasazení RTOS jsou: minimální latence systému, determiničnost systému, multitasking, unifikovaná správa systémových prostředků. Definition Definice RTOS: Systém reálného času lze definovat jako systém, který zpracovává asynchronní vstupy a produkuje odpovědi v pevně stanoveném čase. Doba, kterou má systém k dispozici pro provedení úlohy, je známa předem. Na počtu vstupů a jimi vyvolané pracovní zátěži systému přitom nezáleží. Česká letecká servisní a. s. 5/27 RTOS overview RTOS basic concept RTOS market Hlavní rysy RTOS RTOS v embedded software RTOS bývá v rámci embedded software začleněn tak, jak je znázorněno na následujícím obrázku: Application software 6 ? RTOS 6 ? Hardware Česká letecká servisní a. s. 6/27 RTOS inside RTOS overview RTOS basic concept RTOS market Hlavní rysy RTOS Hlavní funkce RTOS Primární funkce: Task management. Sekundární funkce: Intertask Communication and Synchronization, Timers, Dynamic Memory Allocation, Device I/O Supervisor. Česká letecká servisní a. s. 7/27 RTOS inside RTOS overview RTOS basic concept RTOS market Hlavní rysy RTOS Hlavní funkce RTOS – schéma Dynamic memory allocation Device I/O supervisor Task management Intertask communication and synchronization Česká letecká servisní a. s. Timers 8/27 RTOS inside RTOS overview RTOS basic concept RTOS market RTOS inside Task management Funkce task managementu Task management umožňuje oddělit jednotlivé funkční prvky software do samostatných celků (tasků). Hlavním úkolem task managementu je spouštění jednotlivých tasků. O spouštění tasků se stará task scheduler (plánovač tasků). Ten zajistí spuštění patřičného tasku na základě splnění definovaných podmínek. Česká letecká servisní a. s. 9/27 RTOS overview RTOS basic concept RTOS market Intertask Communication and Synchronization Komunikace mezi tasky Komunikace mezi tasky umožňuje přenášet data z jednoho tasku do druhého a zajišt’uje konzistenci takto přenášených dat. Komunikace umožňuje řešit závislosti mezi jednotlivými tasky (z pohledu datové závislosti). Synchronizace tasků Synchronizace tasků umožňuje koordinovat běh tasků. Synchronizace umožňuje řešit závislosti mezi jednotlivými tasky (z pohledu funkční závislosti). Česká letecká servisní a. s. 10/27 RTOS inside RTOS overview RTOS basic concept RTOS market RTOS inside Timers Úkoly související s časováním RTOS umožňují využívat interní časovač k získání přehledu o aktuálním čase (počtu tiků od spuštění), nastavení času, uspání tasků na definovanou dobu apod. Česká letecká servisní a. s. 11/27 RTOS overview RTOS basic concept RTOS market RTOS inside Dynamic Memory Allocation Dynamická alokace paměti Dynamická alokace paměti RTOS zapouzdřuje práci s "volnou" RAM pamětí. Funkce RTOS umožňují lépe predikovat spotřebu paměti a zlepšují fragmentaci volné paměti. Tyto funkce umožňují výměnu velkých bloků dat mezi tasky. U nejmenších RTOS nebývá tato funkce implementována. Česká letecká servisní a. s. 12/27 RTOS overview RTOS basic concept RTOS market Device I/O Supervisor Rozhraní a obsluha periferií Tato funkce umožňuje zapouzdřit ovladače (drivers) jednotlivých zařízení a sjednotit tak práci (inicializace, zápis, čtení) k hardware prostředkům. Uvedená funkce se nazývá Device Driver Framework. Tento rys má úzkou vazbu na normu ARINC 653. U některých RTOS nebývá tato funkce implementována. Česká letecká servisní a. s. 13/27 RTOS inside RTOS overview RTOS basic concept RTOS market RTOS inside Další možnosti RTOS Rozšiřující prvky RTOS Většina RTOS může být formou modulů doplněna následujícími funkcemi: file system organization, network communication, network management, database management, user-interface graphics. Česká letecká servisní a. s. 14/27 RTOS overview RTOS basic concept RTOS market Shrnutí Shrnutí klíčových aspektů Nasazení RTOS umožňuje: rozdělit problematiku na několik částí, vytvořit deterministický systém, plánovat tasky, komunikovat mezi tasky, spravovat hardware prostředky. Česká letecká servisní a. s. 15/27 RTOS inside RTOS overview RTOS basic concept RTOS market RTOS inside Úvodní upozornění Poznámka autora k této kapitole Veškerá tvrzení obsažená v této části prezentace obsahují autorův pohled na danou problematiku. Kritéria kategorizace a vlastní kategorizace je pouze orientační a představuje subjektivní názor autora. Česká letecká servisní a. s. 16/27 RTOS overview RTOS basic concept RTOS market RTOS inside Rozdělení RTOS Rozdělení RTOS malé RTOS – základní funkčnost, task management, Intertask Communication and Synchronization, střední RTOS – plnohodnotné systémy, nižší požadavky na hardware, velké RTOS – plnohodnotné systémy, vysoké požadavky na hardware. Česká letecká servisní a. s. 17/27 RTOS overview RTOS basic concept RTOS market RTOS inside RTOS a dodavatelé Přehled RTOS a dodavatelů Kategorie malé RTOS střední RTOS velké RTOS Dodavatel Segger ecoscentric FSMLabs micrium Enea Monta Vista Express Logic QNX Software Systems Green Hill LynuxWorks Česká letecká servisní a. s. Produkt embOS eCos RTLinux microC/OSII (C) OSE Embedded Linux ThreadX QNX Integrity-178B (C) LynxOS 18/27 RTOS overview RTOS basic concept RTOS market RTOS inside Typy multitaskingu Úvod Cílem této kapitoly je provést rozbor plánování a spouštění jednotlivých tasků. Kapitola obsahuje základní přiblížení chodu jednotlivých typů multitaskingů. Dále se kapitola zabývá problematikou přepínání jednotlivých tasků a stavy RTOS. Česká letecká servisní a. s. 19/27 RTOS overview RTOS basic concept RTOS market Typy multitaskingu Non-preemptive multitasking (Cooperative multitasking) Každý task běží tak dlouho, dokud není celý zpracován. Asynchronní události jsou řízeny ISR. Výhody: krátká interrupt latency, Nevýhody: mohou se používat non-reentrant funkce, není nutné chránit sdílená data. Česká letecká servisní a. s. systém nemůže odebrat kontrolu pracujícímu tasku, může dojít k problémům s predikcí. 20/27 RTOS inside RTOS overview RTOS basic concept RTOS market RTOS inside Typy multitaskingu Schéma non-preemtive multitasking High priority task ISR, high priority task ready to run. High priority task is running. 6 ISR Low priority task is running. Low priority task is continued. 6 ? Low priority task Low priority task (part 1) (part 2) - time Česká letecká servisní a. s. 21/27 RTOS overview RTOS basic concept RTOS market Typy multitaskingu Preemptive multitasking Odezva systému je klíčová (tj. pokud je připraven task o vyšší prioritě než je task běžící musí být spuštěn do definované doby). Asynchronní události jsou řízeny ISR. Nevýhody: Výhody: možnost predikce / determinističnost systému, možnost přeplánování. nutnost chránit sdílená data, nutné používat reentrant funkce, delší interrupt latency. Česká letecká servisní a. s. 22/27 RTOS inside RTOS overview RTOS basic concept RTOS market RTOS inside Typy multitaskingu Schéma preemtive multitasking High priority task High priority task is running. 6 ISR Low priority task is running. Low priority task ISR, high priority task ready to run. Low priority task is continued. 6 ? Low priority task (part 1) (part 2) - time Česká letecká servisní a. s. 23/27 RTOS overview RTOS basic concept RTOS market RTOS inside Context switches Popis funkce Kontextem se rozumí stav CPU při běhu tasku. Kontext je tvořen registry procesoru a stackem daného tasku. Každý task má vlastní kopii registrů CPU a vlastní stack. Při spuštění tasku je jeho kontext přehrán do příslušných registrů. Pamět’ové místo ve kterém se uchovávají informace o stavu registrů se nazývá task control block (TCB). Česká letecká servisní a. s. 24/27 RTOS overview RTOS basic concept RTOS market RTOS inside Context switches Schéma přepínání kontextu task n task 2 task 1 - Stack Stack Stack Status TCB Status TCB Status SP ... SP ... SP ... Priority ... Priority ... Priority ... TCB p p p p p p p p p ph p ph p ph p ph p ph p ph p p p pAp p p p p p( p p( p p( p p( p p( p p( p p p p p p pmemory p ppp p cpu Status SP ... cpu context Priority ... Česká letecká servisní a. s. 25/27 RTOS overview RTOS basic concept RTOS market RTOS inside Stavy tasků Popis problematiky Při klasickém modelu CPU, může CPU zpracovávat pouze jeden task. Ostatní tasky jsou neaktivní. V rámci modelu RTOS je tato problematika řešena tak, že se jednotlivé tasky nachází v několika základních stavech a mezi těmito stavy dochází k přesunu tasků. Jednoduchý model RTOS může používat následující stavy:a 1 running, 2 ready, 3 waiting, 4 ISR, 5 dormant. a Převzato z popisu microC/OSII Česká letecká servisní a. s. 26/27 RTOS overview RTOS basic concept RTOS market RTOS inside Stavy tasků Schéma stavů tasků delete Task waiting get ready ? Task dormant run Task ready Q s - sleep/wait interrupt Task running preemtive delete 6 @ + create interrupt exit delete Česká letecká servisní a. s. 27/27 ISR running
Podobné dokumenty
Mikrokontroléry I. Mikrokontroléry od Atmel (Attiny, Atmega, AVR)
Vývojové nástroje
- AVR 32 GNU C
- na FreeRTOS.org lze získat zdarma real-time kernel
komerční programy
- IAR(C kompilátor – Embedded Workbench)
- ExpressLogic (RTOS – ThreadX)
- Micrium (RTOS – uC...
Linux jako real-time systém
Speciálnı́: eCos, FreeRTOS, TRON, . . .
založené na Linuxu: RTLinux, RTAI, Xenomai, Linux +
realtime-preempt patch
Řídicí jednotka pro laserovou projekci - Real
pro pražské planetárium. Řídicí jednotka musí být navržena tak, aby mohla být zaměněna za
stávající systém bez velkých zásahů. Komunikace mezi nadřazeným PC a jednotkou je řešen
pomocí UDP protokol...
Komise pro SZZ - Martin Lipinský
Porovnání open-source software relačních SŘBD
Nasazení redakčního systému Textpattern
Použití rámců Java EE pro webové aplikace
Testování vybraných implementačních nástrojů pro modelování
agentních...
E E E E ! Ffi fr [FE: E S g P # FE € H#E
- C ! O ) - C ! C ' ) d C ! C O O )
- d d c \ c ! c \ l c o c t c D c . J
Přehled operačních systémů reálného času (2)
který určuje, jak jsou postupně přidělována časová kvanta jednotlivým běžícím vláknům. Velikost časového kvanta odpovídá době kdy je vláknu přidělen procesor, u starších verzí byl konstantní a měl ...
YSP-5100 YSP-4100
• Vyobrazení dálkového ovladače na levých stranách návodu označují tlačítka, která se používají na obou stranách (levé a pravé).
• Tento návod byl vytvořen před zahájením výroby projektoru. Konstru...
Osvˇetlování a stínování
používají globální osvětlovací model, nebo rekurzivně
aplikovaný lokální model (raytracing)
stíny jsou přímo součástí scény
výpočetně náročné, pomalé
metody zobrazující měkké stíny: distrib...