většina operačních systémů je navržena pro multitask. To znamená, že bude spuštěno několik procesů současně. Realita je však taková, že každý procesor spouští nebo provádí pouze jednu aktivitu nebo příkaz najednou. Každý operační systém je dodáván s plánovačem. Jedná se o naprogramované příkazové centrum, které dává přednost přepínáním akcí v závislosti na očekávaných výsledcích.
definice softwaru v reálném čase je taková, která přichází s plánovačem, který rozhoduje o tom, jaká aktivita by měla probíhat v určitém čase. Ve skutečnosti jsou všechna počítačová zařízení dodávána s plánovači, ale jejich provedení není pokročilé. Komplexní zařízení, jako jsou výrobní závody, vyžadují větší přesnost, rychlost a přizpůsobení.
proč zvolit software v reálném čase?
ve výrobním prostředí probíhá současně více úkolů. Potřebujete plánovač, abyste určili, která akce má přednost a která musí počkat. Návrh softwaru v reálném čase (RTS) musí zaručit determinismus. To lze také považovat za předvídatelnost. Toto je programování, které určuje úkol, který má přednost. Nedostatek rozumného řádu vede k negativním výsledkům.
pro každý RTS existuje prvek lhůty. Během programování musí systém reagovat na příkaz v nastaveném časovém rámci. Chybějící lhůta může být katastrofální, jako v případě nasazení airbagu, nebo může jednoduše přinést nežádoucí výsledky, jako ve výrobě, kde je snížena kvalita produktu.
co určuje vysoce kvalitní software v reálném čase?
programování dalo vzniknout mnoha aplikacím, které lze použít pro účely automatizace. Software v reálném čase je obecně aplikace, jejíž výkon uživatel považuje za aktuální nebo okamžitý. Několik faktorů však určuje, zda se kvalifikuje jako RTS nebo ne.
- Worst case execution time (WCET): Toto je extrém, do kterého aplikace zklamá uživatele. Mělo by to být co nejméně.
- čas potřebný k provedení úkolu: Technologie a automatizace jsou navrženy tak, aby zkrátily čas potřebný k provedení určitých úkolů. Čas by měl být synchronizován nebo zarovnán s jinými úkoly, které souvisejí. Rychlost zde není tak důležitá jako synchronizace činností.
- počet úkolů na hardwarové platformě: software by měl provádět co nejvíce úkolů pomocí omezeného hardwaru. To odpovídá výpočetním cílům a je to princip multitaskingu.