Operační systém reálného času (RTOS): Komponenty, typy, příklady
⚡ Chytré shrnutí
Operační systém reálného času (RTOS) slouží aplikacím, které musí zpracovávat data a reagovat na události v rámci přísných, předvídatelných časových limitů, a to pomocí plánování na základě priorit a rychlého, deterministického přepínání úloh, takže kritické termíny nejsou nikdy zmeškány.

Co je to v reálném čase Operating System (RTOS)?
A operační systém v reálném čase (RTOS) je operační systém určené pro aplikace v reálném čase, které zpracovávají data tak, jak přicházejí, většinou bez zpoždění ve vyrovnávací paměti. Úplná forma RTOS je operační systém reálného času.
V RTOS se požadavky na dobu zpracování počítají v krocích po desetinách sekundy. Jedná se o časově omezený systém s pevnými časovými omezeními. V tomto typu systému musí zpracování probíhat v rámci zadaných omezení. Jinak systém selže.
Proč používat RTOS?
Zde jsou důležité důvody pro použití RTOS:
- Nabízí plánování založené na prioritách, které umožňuje oddělit analytické zpracování od nekritického zpracování.
- Operační systém reálného času poskytuje funkce API, které umožňují čistší a menší aplikační kód.
- AbstracVyhodnocování časových závislostí a návrh založený na úlohách vede k menšímu počtu vzájemných závislostí mezi moduly.
- RTOS nabízí modulární vývoj založený na úlohách, což umožňuje modulární testování založené na úlohách.
- API založené na úlohách podporuje modulární vývoj, protože úloha má obvykle jasně definovanou roli. Umožňuje návrhářům a týmům pracovat nezávisle na svých částech projektu.
- RTOS je řízený událostmi, takže neztrácí čas na zpracování událostí, které nenastanou.
Komponenty RTOS
Komponenty reálného času Operasystém
Zde jsou důležité komponenty RTOS:
Plánovač: Tato součást RTOS určuje pořadí, ve kterém jsou úlohy prováděny, obvykle na základě jejich priority.
Symetrické multiprocesování (SMP): Jedná se o řadu různých úkolů, které může RTOS zvládnout, aby bylo možné provádět paralelní zpracování.
Knihovna funkcí: Je to důležitý prvek RTOS, který funguje jako rozhraní pro propojení jádra a aplikačního kódu. Aplikace odesílá své požadavky jádru pomocí knihovny funkcí, aby mohla produkovat požadované výsledky.
Správa paměti: Tento prvek je v systému potřebný k alokaci paměti každému programu a je nejdůležitějším prvkem RTOS.
Rychlá latence odeslání: Je to interval mezi ukončením úlohy, který operační systém dokáže identifikovat, a skutečným časem, který vlákno, které je ve frontě připravenosti, potřebuje k zahájení zpracování.
Uživatelsky definované datové objekty a třídy: RTOS využívá programovací jazyky jako C nebo C++, které by měly být organizovány podle jejich provozu.
Typy RTOS
Tři typy RTOS jsou:
Těžký reálný čas
V hard RTOS je termín velmi striktně zohledňován, což znamená, že daná úloha musí začít s prováděním v zadaném plánovaném čase a musí být dokončena v rámci přiřazeného časového limitu.
Příklad: Systémy intenzivní lékařské péče, letecké systémy atd.
Pevný v reálném čase
Tento typ RTOS musí také dodržovat termíny. Promeškání termínu však nemusí mít velký dopad, ale může způsobit nežádoucí účinky, jako je obrovské snížení kvality produktu.
Příklad: Různé typy multimediálních aplikací.
Měkký v reálném čase
Měkký systém RTOS pracující v reálném čase akceptuje určitá zpoždění od operačního systému. V tomto typu RTOS je pro konkrétní úlohu přiřazen termín, ale zpoždění na krátkou dobu je přijatelné. Termíny jsou tedy tímto typem RTOS zpracovávány měkce.
Příklad: Online transakční systémy a systémy pro cenové nabídky hospodářských zvířat.
Termíny používané v RTOS
Zde jsou základní pojmy používané v RTOS:
- Úkol: Skupina souvisejících úloh, které společně poskytují určitou funkcionalitu systému.
- Job: Úloha je malá část práce, kterou lze přiřadit procesoru a která může nebo nemusí vyžadovat zdroje.
- Čas vydání úlohy: Je to okamžik, kdy je úloha připravena k provedení.
- Doba realizace zakázky: Je to čas, který úkol potřebuje k dokončení svého provedení.
- Termín zakázky: Je to čas, do kterého by měla být práce dokončena.
- Procesory: Jsou také známé jako aktivní zdroje. Jsou důležité pro výkon práce.
- Relativní lhůta: Maximální povolená doba odezvy úlohy se nazývá její relativní termín.
- Doba odezvy úkolu: Je to doba od okamžiku vydání úlohy do okamžiku jejího dokončení.
- Absolutní termín: Toto je relativní lhůta, která zahrnuje i čas vydání.
Vlastnosti RTOS
Zde jsou důležité funkce RTOS:
- Zabírá velmi málo paměti
- Spotřebovává méně zdrojů
- Doba odezvy je vysoce předvídatelná
- Spolehlivě funguje i v nepředvídatelném prostředí
- Jádro uloží stav přerušené úlohy a poté určí, kterou úlohu má spustit jako další.
- Jádro obnoví stav úlohy a předá jí řízení CPU.
Faktory pro výběr RTOS
Zde jsou základní faktory, které je třeba zvážit při výběru RTOS:
- Výkon: Výkon je nejdůležitějším faktorem, který je třeba zvážit při výběru RTOS.
- Middleware: Pokud v operačním systému reálného času neexistuje podpora middlewaru, nastává problém časově náročné integrace procesů.
- Bez chyb: Systémy RTOS jsou navrženy tak, aby byly bezchybné, takže existuje minimální pravděpodobnost, že se při provádění úkolu vyskytne chyba.
- Využití vestavěného systému: Programy RTOS jsou malé, takže se RTOS široce používá pro vestavěné systémy.
- Maximální využití: RTOS vám pomůže dosáhnout maximálního využití systémových zdrojů.
- Přesouvání úkolů: Doba přesouvání úkolů je velmi krátká.
- Jedinečné funkce: Dobrý RTOS by měl být schopný a nabízet další funkce, například jak provádí příkazy a jak efektivně chrání paměť systému.
- Výkon 24/7: RTOS je ideální pro aplikace, které potřebují běžet 24 hodin denně, 7 dní v týdnu.
Rozdíl mezi GPOS a RTOS
| Obecný účel Operating systém (GPOS) | Reálný čas Operating systém (RTOS) |
| Používá se pro stolní počítače a notebooky. | Aplikuje se pouze na vestavěnou aplikaci. |
| Plánování založené na procesech. | Používá se plánování založené na čase, podobně jako plánování typu round robin. |
| Latence přerušení není považována za tak důležitou jako v RTOS. | Zpoždění přerušení je minimální, což se měří během několika mikrosekund. |
| V systému není přítomen žádný mechanismus inverze priority. | Mechanismus inverze priorit je přítomen, takže jej systém nemůže upravit. |
| Operace jádra může, ale nemusí být preempována. | Operaci jádra lze předem zastavit. |
| Inverze priorit zůstává bez povšimnutí. | Žádné záruky předvídatelnosti. |
Aplikace reálného času Operasystém
Systémy reálného času se používají v:
- Rezervační systémy letenek.
- Systémy řízení letového provozu.
- Systémy, které poskytují okamžitou aktualizaci.
- Jakýkoli systém, který poskytuje aktuální a nepatrné informace o cenách akcií.
- Obranné aplikační systémy jako RADAR.
- Síťové multimediální systémy.
- Systémy řízení velení.
- Internetová telefonie.
- Protiblokovací brzdové systémy.
- Kardiostimulátory.
Nevýhody RTOS
Zde jsou nevýhody používání RTOS:
- RTOS spouští minimální počet úloh společně a soustředí se pouze na ty aplikace, které obsahují chybu, aby se jim mohl vyhnout.
- RTOS se soustředí na několik málo úkolů. Proto je pro tyto systémy velmi obtížné vykonávat multitasking.
- Pro RTOS jsou vyžadovány specifické ovladače, aby mohl nabídnout rychlou dobu odezvy na přerušovací signály, což pomáhá udržovat jeho rychlost.
- RTOS spotřebovává spoustu zdrojů, což tento systém činí drahým.
- Úlohy s nízkou prioritou mohou muset dlouho čekat, protože RTOS upřednostňuje přesnost prováděných programů.
- V operačních systémech reálného času se provádí minimální přepínání úloh.
- Používá složité algoritmy, kterým je těžké porozumět.
- RTOS využívá mnoho zdrojů, což někdy není pro systém vhodné.

