Operační systém reálného času

Z Wikipedie, otevřené encyklopedie

Skočit na: Navigace, Hledání

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:

Obsah

[editovat] Základní charakteristika RTOS

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ýkonosti. 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)

[editovat] Definice RTOS

Určitě sem nelze vypsat jednu jedinou definici a tak uvedeme několik běžných, často se vyskytujících.

[editovat] 1. Definice

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.

[editovat] 2. Definice

Real-time systém je systém, který reaguje předvídatelným způsobem na nepředvídatelné externí události.

[editovat] 3. Definice

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

[editovat] Příklady RTOS

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.

[editovat] Windows

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.

RTX

  • zkracuje rozlišitelnou jednotku času z 5ms na 20mikrosekund
  • nezávislý plánovač vláken

Po nainstalování RTX zůstavají zachovány vlastnosti Windows jako běžného operačního systému.

[editovat] RTLinux

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.

[editovat] VxWorks 6.x

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í [embbended 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.

[editovat] Determinismus

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

[editovat] Hard real time OS

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

[editovat] Soft real time OS

Na rozdíl od hard real time OS se u soft real time OS dovolují drobné odchylky v reakcích.

[editovat] Plánovač RTOS

RTOS mnohdy využívají plánovací algoritmy, které se liší od plánovačů běžných OS. Nejčastější z nich jsou:


[editovat] Odkazy

[editovat] Související články

[editovat] Externí odkazy

[editovat] Česky

[editovat] Anglicky

[editovat] Literatura

  • JOSEPH, M.. Real-Time Systems Specification, Verification and Analysis. London : Prentice Hall, 1996. ISBN 0-13-455297-0.