Operační systém reálného času
Author
Albert FloresOperační systém reálného času je speciální typ operačního systému navržený pro zpracování úloh, které vyžadují přesné časování. Tento typ operačního systému je schopný garantovat nízkou latenci a rychlou odezvu, což je důležité pro aplikace v průmyslu, telekomunikacích, vojenství a dalších oblastech, které vyžadují okamžitou reakci na události. Operační systém reálného času se liší od běžných operačních systémů tím, že přidává funkce pro správu časování úloh a zajišťuje, že kritické úkoly budou vykonány ve stanoveném časovém rámci. Tyto systémy většinou využívají speciálních algoritmů a prioritizačních mechanismů, aby zajistily bezproblémové fungování v real-time prostředí. Existují dva hlavní typy operačních systémů reálného času - tvrdý reálný čas a měkký reálný čas. Tvrdý reálný čas vyžaduje, aby všechny úlohy byly vykonány v pevně daném časovém rámci. Pokud je tento časový rámec porušen, mohou nastat závažné problémy. Na druhou stranu měkký reálný čas poskytuje nějakou flexibilitu, ale stále garantuje nízkou latenci a rychlou odezvu. Operační systémy reálného času jsou důležitým prvkem moderního průmyslu a dalších oborů, které se spoléhají na okamžitou odezvu. Jejich výhody jsou široce využívány v oblastech jako automatizace, telekomunikace, letecký průmysl a vojenství. Tento typ operačního systému umožňuje efektivnější a spolehlivější provoz systémů a aplikací, které vyžadují přesné časování.
Operační systém reálného času ( 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
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ě. +more 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. +more 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
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
Tzv. tvrdý real time OS. +more 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
Na rozdíl od hard real time OS se u soft real time OS dovolují drobné odchylky v reakcích.
Plánovač RTOS
RTOS typicky používají speciální plánovače procesů , 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
Existuje několik různých definic RTOS systému:
První 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.
Druhá definice
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
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
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
RTOS pro vestavěnná zařízení, který je portován na více než 35 platforem mikroprocesorů a je dostupný pod licencí MIT.
PikeOS
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. +more 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
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ůstávají zachovány vlastnosti Windows jako běžného operačního systému.
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. +more 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
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. +more 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
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
Reference
Externí odkazy
Česky
[url=https://web. archive. +moreorg/web/20110718190113/http://www. fs. vsb. cz/akce/2000/asr2000/Sbornik/papers/kacmar. pdf]Zpracování informací v reálném čase v prostředí OS Windows CE[/url] * [url=https://web. archive. org/web/20070724135145/http://www. atpjournal. sk/casopisy/atp_05/pdf/atp-2005-12-54. pdf]Základní koncepce RTOS. [/url] * [url=https://web. archive. org/web/20110718192413/http://vyuka. fel. zcu. cz/kae/upr/old-prednas/predn2. pdf]RTX 51 - RTOS pro 8051[/url] * [url=https://web. archive. org/web/20110718181337/http://www. odbornecasopisy. cz/index. php. id_document=27836]Šumbera, P. : Porovnávací test operačních systémů reálného času[/url].
Anglicky
[url=https://web.archive.org/web/20061223002314/http://www.netrino.com/Articles/RTOSes/]How to Select an RTOS[/url] * [url=http://www.freertos.org/]FreeRTOS pro různé procesory[/url]