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 typ operačního systému, který poskytuje možnost reagovat na události v okolí počítače průběžně (tj. v reálném čase). RTOS poskytuje uživateli (nebo programátorovi) záruky, že je určitou činnost v určitém časovém úseku možné dokončit. RTOS je používán například ve vestavěných systémech, robotice, automatizaci, elektronických měřeních nebo v telekomunikacích.
Charakteristika RTOS
[editovat | editovat zdroj]U desktopového systému, který používá běžný uživatel, nevadí, když je potřeba na dokončení některých operací počkat. Avšak při průmyslovém nasazení není taková možnost přípustná, protože by mohlo dojít k poškození výrobku, zranění, narušení výrobního procesu a podobně. V těchto situacích je nutné nasadit RTOS (operační systém reálného času). Například od počítače, který řídí výtah, vyžadujeme, aby se signál od čidla, oznamující, že dosáhl požadovaného patra, zpracoval ihned a výtah se zastavil (tj. není například možné, aby „zaneprázdněnost“ počítače zobrazováním čísla patra na displeji způsobilo, že výtah v daném patře nestihne zastavit a zastaví až v následujícím).
RTOS systém nemusí být výkonný, aby zajistil požadované vlastnosti. Není výhodné používat RTOS na desktopu, protože běžného uživatele zajímá nejlepší možný případ a nikoliv průběžné striktní plnění požadavků (tj. uživatel si bez problémů chvíli počká), a navíc na zajištění požadavků RTOS je spotřebovávána část výkonu počítačového systému, což je pro desktopové nasazení nevhodné.
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 se jedná o malé systémy se specializovaným použitím, případně nadstavbu větších OS (Windows, Linux).
Rozdělení RTOS
[editovat | editovat zdroj]Běžné RTOS fungují tak, že požadavky na stihnutí určité operace typicky nezaručují naprosto dokonale (negarantují je stoprocentně), ale snaží se k takovému stavu co nejvíce přiblížit. Podle toho jsou RTOS rozdělovány na dva podtypy:
- soft real time (měkké RTOS) – záruky jsou přibližné
- hard real time (tvrdé RTOS) – záruky jsou deterministicky zajištěny
Hard RTOS
[editovat | editovat zdroj]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 RTOS
[editovat | editovat zdroj]Na rozdíl od hard real time OS se u soft real time OS dovolují drobné odchylky v reakcích.
Plánovač RTOS
[editovat | editovat zdroj]RTOS typicky používají speciální plánovače procesů (anglicky scheduler), který reakce v reálném čase zajišťuje tak, že specifickým způsobem přiděluje běžícím procesům systémové prostředky počítače (typicky procesor). Mezi základní charakteristiky RTOS (a tím i jeho plánovače procesů) 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 vestavěné systémy
- minimalizace časových okamžiků, kdy je zakázáno přerušení
- preemptivní plánování založené na prioritách
Příklady plánovačů procesoru pro RTOS:
- Rate monotonic scheduling (RMS)
- Earliest deadline First (EDF)
Definice RTOS
[editovat | editovat zdroj]Existuje několik různých definic RTOS systému:
První definice
[editovat | editovat zdroj]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.
Druhá definice
[editovat | editovat zdroj]Real-time systém je systém, který reaguje předvídatelným způsobem na nepředvídatelné externí události.
Třetí definice
[editovat | editovat zdroj]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 | editovat zdroj]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.
FreeRTOS
[editovat | editovat zdroj]RTOS pro vestavěnná zařízení, který je portován na více než 35 platforem mikroprocesorů a je dostupný pod licencí MIT.[1][2]
PikeOS
[editovat | editovat zdroj]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 | editovat zdroj]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 | editovat zdroj]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ána 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 | editovat zdroj]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žií 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 | editovat zdroj]- 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.
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]- ↑ Microcontrollers and compiler tool chains supported by FreeRTOS [online]. [cit. 2022-11-18]. Dostupné online. (anglicky)
- ↑ FreeRTOS open source licensing, FreeRTOS license description, FreeRTOS license terms and OpenRTOS commercial licensing options. [online]. [cit. 2022-11-18]. Dostupné online. (anglicky)
Externí odkazy
[editovat | editovat zdroj]- Obrázky, zvuky či videa k tématu operační systém reálného času na Wikimedia Commons
Česky
[editovat | editovat zdroj]- 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 | editovat zdroj]Literatura
[editovat | editovat zdroj]- JOSEPH, M. Real-Time Systems Specification, Verification and Analysis. London: Prentice Hall, 1996. Dostupné online. ISBN 0-13-455297-0.