Systém reálného času (RTS) je systém , který musí reagovat na události ve vnějším, ve vztahu k systému, prostředí nebo působit na okolí v požadovaných časových omezeních. Oxford English Dictionary hovoří o RTS jako o systému, pro který je důležitý čas přijetí výsledku. Jinými slovy, zpracování informací systémem musí být prováděno po určitou omezenou dobu, aby byla zachována stálá a včasná interakce s okolím [1] . Časové měřítko řídicího systému a jím řízeného prostředí se samozřejmě musí shodovat [2] .
Reálný čas je chápán jako kvantitativní charakteristika, kterou lze měřit reálnými fyzikálními hodinami , na rozdíl od logického času , který určuje pouze kvalitativní charakteristiku, vyjádřenou relativním pořadím událostí. Říká se, že systém funguje v reálném čase , pokud jsou pro popis fungování tohoto systému vyžadovány kvantitativní časové charakteristiky [2] .
Procesy (úlohy) systémů pracujících v reálném čase mohou mít následující charakteristiky a související omezení [3] :
V modelech systémů reálného času se mohou objevit i další parametry, například perioda a počet iterací (u periodických procesů), zátěž ( anglicky load ) - v nejhorším případě počet instrukcí procesoru [3] .
V závislosti na přípustných porušeních časových omezení lze systémy reálného času rozdělit natvrdé systémy v reálném čase ( anglicky hard real-time ), pro které se porušení rovná selhání systému, asoft real - time systémy , jejichž narušení charakteristik vede pouze ke snížení kvality systému [1] . Viz také: výpočty v reálném čase . Lze uvažovat i o tvrdých real-time systémech ( angl. firm real-time ), ve kterých je sice povoleno malé porušení termínů, ale větší porušení může vést ke katastrofálnímu selhání systému [4] [5] .
Je třeba poznamenat, že definice tvrdého reálného času neříká nic o absolutní hodnotě doby odezvy: může to být buď milisekundy nebo týdny [6] . Požadavky na měkké systémy v reálném čase lze specifikovat pouze v pravděpodobnostních termínech, jako je procento odpovědí poskytnutých v daném časovém rámci. Zajímavý[ komu? ] že při návrhu je snazší provést předběžné výpočty pro tvrdý systém reálného času, než získat např. podíl úloh provedených včas v systému měkkého reálného času, takže vývojáři takových systémů často používají nástroje a techniky pro navrhování systémů v reálném čase [7] .
Události v reálném čase mohou spadat do jedné ze tří kategorií [1] [8] :
S rozvojem technologie našly systémy pracující v reálném čase uplatnění v celé řadě oblastí. RTS jsou zvláště široce používány v průmyslu, včetně systémů řízení procesů, průmyslových automatizačních systémů, SCADA systémů, testovacích a měřicích zařízení a robotiky . Lékařské aplikace zahrnují tomografii , radioterapeutické vybavení , monitorování u lůžka. RTS jsou zabudovány do počítačových periferií , telekomunikačních zařízení a domácích spotřebičů, jako jsou laserové tiskárny, skenery, digitální fotoaparáty, kabelové modemy, směrovače, videokonferenční a internetové telefonní systémy, mobilní telefony, mikrovlnné trouby, stereo, klimatizace, bezpečnostní systémy. V dopravě se NRT používají v palubních počítačích, systémech řízení provozu, řízení letového provozu, leteckém inženýrství, systémech rezervace letenek atd. NRT se používají také ve vojenském vybavení: naváděcí systémy raket, protiraketové systémy, satelitní sledovací systémy [ 9] .
Příklady systémů v reálném čase:
Při vytváření systémů v reálném čase je třeba řešit problémy vazby vnitrosystémových událostí na body v čase , včasné zachycení a uvolnění systémových zdrojů , synchronizaci výpočetních procesů , ukládání datových toků do vyrovnávací paměti atd. Systémy v reálném čase obvykle používají specializované vybavení (například časovače ) a software (například operační systémy v reálném čase ) .