Valós idejű operációs rendszer (RTOS): Összetevők, típusok, példák
⚡ Okos összefoglaló
A valós idejű operációs rendszer (RTOS) olyan alkalmazásokat szolgál ki, amelyeknek szigorú, kiszámítható időkorlátokon belül kell feldolgozniuk az adatokat és reagálniuk az eseményekre, prioritásalapú ütemezést és gyors, determinisztikus feladatváltást használva, így a kritikus határidők soha nem maradnak el.

Mi az a valós idejű Operating System (RTOS)?
A valós idejű operációs rendszer (RTOS) egy operációs rendszer Olyan valós idejű alkalmazások kiszolgálására szolgál, amelyek a beérkező adatokat közvetlenül feldolgozzák, többnyire puffer késleltetés nélkül. Az RTOS teljes formája a valós idejű operációs rendszer.
Egy RTOS-ban a feldolgozási időkövetelményeket tizedmásodpercenként számítják ki. Ez egy időhöz kötött rendszer rögzített időkorlátokkal. Az ilyen típusú rendszerben a feldolgozást a megadott korlátokon belül kell végrehajtani. Ellenkező esetben a rendszer meghibásodik.
Miért érdemes RTOS-t használni?
Íme néhány fontos ok az RTOS használatára:
- Prioritáson alapuló ütemezést kínál, amely lehetővé teszi az analitikai feldolgozás és a nem kritikus feldolgozás elkülönítését.
- A valós idejű operációs rendszer API-függvényeket biztosít, amelyek letisztultabb és kisebb alkalmazáskódot tesznek lehetővé.
- AbstracAz időzítési függőségek és a feladatalapú tervezés csökkentése kevesebb kölcsönös függőséget eredményez a modulok között.
- Az RTOS moduláris, feladatalapú fejlesztést kínál, amely lehetővé teszi a moduláris, feladatalapú tesztelést.
- A feladatalapú API ösztönzi a moduláris fejlesztést, mivel egy feladatnak jellemzően egyértelműen meghatározott szerepe van. Lehetővé teszi a tervezők és a csapatok számára, hogy a projekt rájuk eső részein önállóan dolgozzanak.
- Egy RTOS eseményvezérelt, tehát nem pazarol feldolgozási időt olyan eseményekre, amelyek nem következnek be.
Az RTOS összetevői
A Real Time összetevői Operating rendszer
Íme egy RTOS fontosabb összetevői:
Az ütemező: Az RTOS ezen összetevője határozza meg a feladatok végrehajtásának sorrendjét, általában a prioritásuk alapján.
Szimmetrikus többprocesszoros feldolgozás (SMP): Az RTOS számos különböző feladatot képes kezelni, így párhuzamos feldolgozás végezhető.
Függvénykönyvtár: Ez egy fontos eleme az RTOS-nak, amely interfészként működik a kernel és az alkalmazáskód összekapcsolásához. Az alkalmazás egy függvénykönyvtár segítségével küldi el kéréseit a kernelnek, hogy az előállíthassa a kívánt eredményeket.
Memóriakezelés: Ez az elem szükséges a rendszerben ahhoz, hogy memóriát foglaljon le minden programhoz, és ez az RTOS legfontosabb eleme.
Gyors küldési késleltetés: Ez az időköz egy olyan feladat befejezése között, amelyet az operációs rendszer azonosítani tud, és a szál (amely a kész sorban van) által a feldolgozás megkezdéséhez szükséges tényleges idő.
Felhasználó által definiált adatobjektumok és osztályok: Az RTOS olyan programozási nyelveket használ, mint a C vagy a C++, amelyeket működésük szerint kell megszervezni.
Az RTOS típusai
Az RTOS-oknak három típusa van:
Hard Real Time
Egy hard RTOS-ban a határidőt nagyon szigorúan kezelik, ami azt jelenti, hogy egy adott feladat végrehajtásának a megadott ütemezett időpontban kell megkezdődnie, és a megadott időn belül be kell fejeződnie.
Példa: Orvosi kritikus ellátórendszerek, repülőgép-rendszerek stb.
Cég Real Time
Az ilyen típusú RTOS-nak is be kell tartania a határidőket. A határidő elmulasztása azonban nem feltétlenül jár nagy hatással, de nem kívánt hatásokat okozhat, például a termék minőségének jelentős romlását.
Példa: Különböző típusú multimédiás alkalmazások.
Puha valós idejű
Egy lágy valós idejű RTOS elfogad némi késleltetést az operációs rendszertől. Ebben a típusú RTOS-ban egy adott feladathoz határidő van hozzárendelve, de egy kis ideig tartó késleltetés is elfogadható. Tehát a határidőket lágyan kezeli ez a típusú RTOS.
Példa: Online tranzakciós rendszerek és állatállomány-árajánlattételi rendszerek.
Az RTOS-ban használt kifejezések
Íme az RTOS-ban használt alapvető kifejezések:
- Feladat: Összefüggő feladatok csoportja, amelyek együttesen biztosítják a rendszer bizonyos funkcióit.
- Munka: A feladat egy kis munkadarab, amely hozzárendelhető egy processzorhoz, és amely erőforrásokat igényel, vagy nem.
- Egy munka megjelenési ideje: Ez az az időpont, amikor egy munka készen áll a végrehajtásra.
- Munkavégzési idő: Ez az az idő, amely alatt egy feladat befejeződik a végrehajtása során.
- Munkavégzés határideje: Ez az az időpont, ameddig egy feladatnak be kell fejeznie a végrehajtását.
- Processzorok: Aktív erőforrásoknak is nevezik őket. Fontosak a munkavégzés szempontjából.
- Relatív határidő: Egy feladat maximálisan megengedett válaszidejét relatív határidőnek nevezzük.
- Munkakör válaszideje: Ez az az időtartam, amely egy munkafolyamat elindítása és befejezése között telik el.
- Abszolút határidő: Ez a relatív határidő, amely magában foglalja a megjelenési időt is.
Az RTOS jellemzői
Íme az RTOS fontos tulajdonságai:
- Nagyon kevés memóriát foglal el
- Kevesebb erőforrást fogyaszt
- A válaszidők nagyon kiszámíthatóak
- Megbízhatóan működik még kiszámíthatatlan környezetben is
- A kernel elmenti a megszakított feladat állapotát, majd meghatározza, hogy melyik feladatot futtassa legközelebb.
- A kernel visszaállítja a feladat állapotát, és átadja a CPU vezérlését az adott feladatnak.
Tényezők az RTOS kiválasztásához
Íme néhány fontos szempont, amit figyelembe kell venni egy RTOS kiválasztásakor:
- Teljesítmény: A teljesítmény a legfontosabb szempont az RTOS kiválasztásakor.
- Középprogram: Ha egy valós idejű operációs rendszerben nincs köztes szoftver támogatás, akkor felmerül a folyamatok időigényes integrációjának problémája.
- Hibamentes: Az RTOS rendszereket úgy tervezték, hogy hibamentesek legyenek, így minimális az esélye annak, hogy egy feladat végrehajtása közben hiba történjen.
- Beágyazott rendszer használata: Az RTOS programjai kis méretűek, ezért az RTOS-t széles körben használják beágyazott rendszerek.
- Maximális kihasználtság: Az RTOS segít a rendszer erőforrásainak maximális kihasználásában.
- Feladatváltás: A feladatok átállási ideje nagyon rövid.
- Egyedi tulajdonságok: Egy jó RTOS-nak képesnek kell lennie extra funkciókra és azokat is kínálnia kell, például arra, hogyan hajt végre egy parancsot, és milyen hatékonyan védi a rendszer memóriáját.
- 24/7 teljesítmény: Az RTOS ideális olyan alkalmazásokhoz, amelyeknek a nap 24 órájában, a hét minden napján futniuk kell.
A GPOS és az RTOS közötti különbség
| Általános rendeltetésű Operating rendszer (GPOS) | Real-Time Operating rendszer (RTOS) |
| Asztali számítógépekhez és laptopokhoz használják. | Csak a beágyazott alkalmazásra vonatkozik. |
| Folyamatalapú ütemezés. | Az időalapú ütemezést, például a körforgásos ütemezést használják. |
| A megszakítási késleltetés nem annyira fontos, mint egy RTOS-ban. | A megszakítási késleltetés minimális, amelyet néhány mikroszekundumban mérnek. |
| A rendszerben nincs elsőbbségi inverziós mechanizmus. | A prioritásinverziós mechanizmus jelen van, így a rendszer nem módosíthatja. |
| A kernel működése lehet előzetesen letiltott vagy nem. | A kernel működése megelőzhető. |
| A prioritásinverzió észrevétlen marad. | Nincsenek kiszámíthatósági garanciák. |
Valós idejű alkalmazások Operating rendszer
Valós idejű rendszereket használnak:
- Repülőjegy-foglalási rendszerek.
- Légiforgalmi irányító rendszerek.
- Azonnali frissítést biztosító rendszerek.
- Bármely olyan rendszer, amely naprakész, percrekész információkat nyújt a részvényárfolyamokról.
- Védelmi alkalmazási rendszerek, mint például a RADAR.
- Hálózatba kapcsolt multimédiás rendszerek.
- Parancsnoki irányító rendszerek.
- Internetes telefonálás.
- Blokkolásgátló fékrendszerek.
- Szívritmus-szabályozók.
Az RTOS hátrányai
Íme az RTOS használatának hátrányai:
- Egy RTOS minimális számú feladatot futtat együtt, és csak azokra az alkalmazásokra koncentrál, amelyek hibát tartalmaznak, hogy elkerülhesse azokat.
- Egy RTOS néhány feladatra koncentrál. Ezért ezeknek a rendszereknek nagyon nehéz többfeladatos működést végezniük.
- Egy RTOS-hoz speciális meghajtóprogramokra van szükség, hogy gyors válaszidőt biztosítson a megszakított jelekre, ami segít fenntartani a sebességét.
- Egy RTOS rengeteg erőforrást használ, ami drágává teszi ezt a rendszert.
- Az alacsony prioritású feladatoknak hosszú várakozási időt kell várniuk, mivel az RTOS a végrehajtás alatt álló programok pontosságát helyezi előtérbe.
- A valós idejű operációs rendszerekben a feladatok minimális váltása történik.
- Komplex algoritmusokat használ, amelyeket nehéz megérteni.
- Egy RTOS sok erőforrást használ, ami néha nem megfelelő a rendszer számára.

