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.
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:
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:
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:
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.
Na rozdíl od hard real time OS se u soft real time OS dovolují drobné odchylky v reakcích.
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ří:
Příklady plánovačů procesoru pro RTOS:
Existuje několik různých definic RTOS systému:
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.
Real-time systém je systém, který reaguje předvídatelným způsobem na nepředvídatelné externí události.
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é.
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.
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 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 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:
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.
Po nainstalování RTX zůstávají zachovány vlastnosti Windows jako běžného operačního systému.
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.
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ří:
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.