Ceská letecká servisní a. s. - Your integrator of the avionics

Transkript

Ceská letecká servisní a. s. - Your integrator of the avionics
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)

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...

Více

Linux jako real-time systém

Linux jako real-time systém Speciálnı́: eCos, FreeRTOS, TRON, . . . založené na Linuxu: RTLinux, RTAI, Xenomai, Linux + realtime-preempt patch

Více

Řídicí jednotka pro laserovou projekci - Real

Ří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...

Více

Komise pro SZZ - Martin Lipinský

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...

Více

MATOUŠ HYDROPONIE s.r.o.

MATOUŠ HYDROPONIE s.r.o. Matouš Hydroponie s.r.o.

Více

E E E E ! Ffi fr [FE: E S g P # FE € H#E

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

Více

Přehled operačních systémů reálného času (2)

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 ...

Více

YSP-5100 YSP-4100

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...

Více

Osvˇetlování a stínování

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...

Více

MATOUŠ HYDROPONIE s.r.o.

MATOUŠ HYDROPONIE s.r.o. MATOUŠ HYDROPONIE s.r.o.

Více