Operační systém reálného času
Operační systém reálného času (anglicky real-time operating system, zkratka RTOS) je v informatice multitaskingový operační systém zaměřený na běh úloh (procesů) reálného času. Uplatňuje se například v oblastech:
- embedded systémy
- robotika
- automatizace a elektronická měření
- telekomunikace
Obsah |
Základní charakteristika RTOS [editovat]
Dalo by se říci, že RTOS se snaží o systém reálného času, ale negarantuje ho. RTOS ani nemusí být systém vysoké výkonnosti. Snahou real-time aplikací je spíše dodržet jisté deadlines a to buď „více méně“ u tzv. soft real time OS (měkké RTOS) nebo deterministicky hard real time (tvrdé RTOS). Dělení na soft a hard je také jedno ze základních dělení RTOS. RTOS typicky používají speciální plánovače, aby bylo dosahováno deterministického chování (vzhledem ke spuštěným procesům). Mezi hlavní faktory RTOS patří:
- minimální latence při reakci na událost
- minimální latence při přepínání vláken
- někdy nutnost malých rozměrů, viz Embedded systémy
- minimalizace časových okamžiků, kdy je vypnuto přerušení
- preemptivní plánování založené na prioritách
Další charakteristické vlastnosti:
- Správná funkce závisí nejen na výpočetním výsledku, ale také na čase, kdy ho bude dosaženo.
- Obvykle malé systémy se specializovaným použitím, případně jako nadstavba větších OS (Windows, Linux)
Definice RTOS [editovat]
Určitě sem nelze vypsat jednu jedinou definici a tak uvedeme několik běžných, často se vyskytujících.
1. Definice [editovat]
Real-time systém je systém, ve kterém správnost výstupu je závislá nejen na správnosti výsledku výpočtu, ale též na čase, v němž je výsledek spočten.
2. Definice [editovat]
Real-time systém je systém, který reaguje předvídatelným způsobem na nepředvídatelné externí události.
3. Definice [editovat]
Pokud lze dokázat, že realtime systém splní svá ultimáta (deadlines) (a to za použití chování systému v nejhorším možném případě, nikoliv analýzou průměrného chování systému), potom můžeme říci, že chování systému je předvídatelné.
Příklady RTOS [editovat]
RTOS může být jak systém speciálně vyvinutý jako RT nebo klasický systém (Windows, Linux) s doinstalovaným vybavením, případně upraveným jádrem.
PikeOS [editovat]
PikeOS je operační systém pracující v reálném čase pro bezpečnostně kritické aplikace speciálně vyvinutý pro snadné oddělení či verifikaci jednotlivých částí elektronického systému. Je založený na mikrojádře a používá se převážně v embedded systémech a serverech. Deterministické chování a konfigurovatelné paravirtualizační schopnosti PikeOS umožňují široké využití v letectví a dopravní a automobilové technice (MPC5200), kosmonautice (LEON3), zdravotnictví (X86), automatizaci (ARM) a dalších odvětvích.
Windows [editovat]
Windows NT/2000/XP v základním provedení nejsou operační systémy reálného času. OS byly vyvinuty především pro domácí a kancelářské aplikace, nicméně jejich použitelnost jako RTOS byla Microsoftem zkoumána.
Hlavní důvody proč nemohou být použity jako RTOS jsou:
- málo priorit vláken
- nedeterminismus plánovače
- kvantitativní parametry OS musí být známé
- malé rozlišení časovače (5ms)
- nedostatečná rychlost přepínání kontextu
Existují však doplňky, které mají rozšířit možnosti Windows na RTOS. Jedním z nich je například RTX (Real-Time eXtension) od společnosti VenturCom.
- zkracuje rozlišitelnou jednotku času z 5ms na 20mikrosekund
- nezávislý plánovač vláken
Po nainstalování RTX zůstávají zachovány vlastnosti Windows jako běžného operačního systému.
RTLinux [editovat]
RTLinux je malý a rychlý operační systém, který je v souladu s normou POSIX 1003.13, což je architektura pro minimální operační systémy reálného času. RTLinux lze považovat za úplný operační systém s předvídatelnou činností v reálném čase, bez rozhraní pro standardní Linux bez reálného času. Vlákna RTLinuxu jsou zpracovány přímo plánovacím algoritmem s pevnou prioritou. Jádro a všechny procesy standardního Linuxu jsou řízeny plánovačem RTLinuxu jako úlohy v pozadí. RTLinux vytváří úplný obecný operační systém, který běží nad malým předem definovaným jádrem RTOS.
VxWorks 6.x [editovat]
je operační systém pro řízení v reálném čase, který se vyznačuje RT mikrojádrem wind. Toto jádro zahrnuje většinu nástrojů pro podporu reálného času. Patří k nejrozšířenějším operačním systémům reálného času zejména v oblasti průmyslových aplikací embedded systémů. Mezi základní charakteristiky patří:
- Neomezený počet procesů/úloh
- Preemptivní plánování
- 256 úrovní priorit
- rychlá a flexibilní meziprocesová komunikace
- dědění priorit
- fronty zpráv
- signály
- roury
- sokety
- podporovaná CPU: PowerPC, ARM, Intel x86, ...
- není POSIX kompatibilní (řeší některé nedostatky specifikace)
Mikrojádro je navrženo s minimální režii systému, což umožňuje rychlou a deterministickou odezvu na externí událost. Tento systém je bezpečný i při použití v kritických aplikačních úlohách (byl použit v aplikacích meziplanetárního výzkumu). Systém je kompatibilní s řadou průmyslových standardů a lze jej používat na běžných CPU.
Determinismus [editovat]
- Operace jsou prováděny ve fixovaných, předem určených časech nebo časových intervalech.
- Reakce na přerušení musí proběhnout tak, aby systém byl schopen obsluhy všech požadavků v požadovaném čase.
Hard real time OS [editovat]
Tzv. tvrdý real time OS. Zde je požadavek na stanovení času reakce absolutní. Na RTOS klademe většinou následující požadavky
- preemptivní plánovač
- velký počet nastavitelných priorit vláken
- přesné hodiny reálného času
Můžeme také říci: systém je hard-real time, pokud by případné nedodržení časových limitů mělo katastrofální následky
Soft real time OS [editovat]
Na rozdíl od hard real time OS se u soft real time OS dovolují drobné odchylky v reakcích.
Plánovač RTOS [editovat]
RTOS mnohdy využívají plánovací algoritmy, které se liší od plánovačů běžných OS. Nejčastější z nich jsou:
- Rate monotonic scheduling (RMS)
- Earliest deadline First (EDF)
Odkazy [editovat]
Související články [editovat]
Externí odkazy [editovat]
Česky [editovat]
- Zpracování informací v reálném čase v prostředí OS Windows CE
- Základní koncepce RTOS.
- RTX 51 - RTOS pro 8051
- Šumbera, P.: Porovnávací test operačních systémů reálného času
Anglicky [editovat]
Literatura [editovat]
- JOSEPH, M.. Real-Time Systems Specification, Verification and Analysis. London : Prentice Hall, 1996. ISBN 0-13-455297-0.