RTLinux | |
---|---|
Típusú | Valós idejű operációs rendszer |
Fejlesztő | Victor Yodaiken, Mihail Barabanov ( en: New Mexico Institute of Mining and Technology ), FSMLabs, Wind River Systems |
Beírva | C |
Operációs rendszer | Linux |
Első kiadás | 1996 |
Engedély | GPLv2 |
Weboldal | rt.wiki.kernel.org/index… |
Az RTLinux egy mikrokernel kemény, valós idejű operációs rendszer , amely teljes mértékben megelőzhető folyamatként futtatja a Linuxot . Az RTLinuxon végzett munka 2007-ben fejeződött be, és ennek az operációs rendszernek a fejlesztései alapján elindult a saját fejlesztésű Wind River projekt .
Az RTLinux fejlesztői azt az utat választották, amely a Linux kernel valós idejű nanokernelből történő futtatását biztosítja a legalacsonyabb prioritású feladatként . Az RTLinuxban minden megszakítást a valós idejű kernel kezel, amely magában foglalja a saját feladatütemezőjét , megszakításkezelőjét és könyvtárkódját. Ha nincs valós idejű kezelő valamilyen megszakításhoz, akkor azt átadja a Linuxnak. Valójában a Linux egy tétlen (tétlen) RTOS -feladat , amely csak akkor indul el, ha egyetlen feladat sem fut valós időben. Ugyanakkor bizonyos korlátozások vonatkoznak a Linux feladatra, amelyek azonban átláthatóak a programozó számára.
A Linux nem tudja végrehajtani a következő műveleteket:
A rendszer megvalósításának kulcsa a megszakításvezérlő rendszert emuláló illesztőprogram , amelyet a Linux akkor hív meg, amikor megpróbálja blokkolni a megszakításokat. Ebben az esetben az illesztőprogram elfogja a kérést, elmenti, és visszaadja a vezérlést a Linuxnak.
Minden hardveres megszakítást elfog az RTOS kernel. Ha megszakítás történik , az RTLinux kernel eldönti, hogy mit tegyen. Ha ezt a megszakítást valós idejű kezelőnek kell kezelnie, akkor a kernel meghívja a megfelelő kezelőt. Ellenkező esetben, vagy ha a valós idejű kezelő azt mondja, hogy meg akarja osztani ezt a megszakítást a Linuxszal, a kezelő függő állapotba kerül. Ha a Linux a megszakítások engedélyezését kérte, a függőben lévő megszakítások emulálódnak.
Az RTLinux kernelt úgy tervezték, hogy a valós idejű kernelnek soha nem kell megvárnia, amíg egy Linux-folyamat által elfoglalt erőforrás felszabadul.
A következő eszközök állnak rendelkezésre az RTOS és a Linux közötti adatcseréhez:
Az RTLinux felépítésének alapelve az, hogy a lehető legtöbb Linuxot és minél kevesebb RTLinuxot használjunk. Valójában a Linux gondoskodik a rendszer és az eszköz inicializálásáról , valamint a dinamikus erőforrás-elosztásról. Az RTLinux csak a valós idejű feladatütemezésért és megszakítások kezeléséért felelős. A valós idejű folyamatokat betölthető Linux-modulokként valósítják meg a kernel kontextusában való egyszerű futtatás érdekében, így a rendszer moduláris és bővíthető marad .
Egy valós idejű alkalmazás RTLinuxszal általában két független részből áll: az RTLinux kernel által végrehajtott folyamatból és egy normál Linux alkalmazásból.
Az alkalmazások írásának ez a moduláris megközelítése a többcélú rendszerek számos valós idejű bővítményében rejlik, ahol a valós idejű feladat az operációs rendszertől függetlenül fut. A fejlesztők már átvettek egy olyan sémát, amely szerint az időkritikus feladatokat a valós idejű bővítmény által biztosított API -k segítségével programozzák , a szolgáltatás és a felhasználói felület összes funkciója pedig az operációs rendszer hatalmához van rendelve. Ezzel a megközelítéssel a programozónak csak a valós idejű eseménykezelő API-t kell megtanulnia.
Valós idejű operációs rendszerek | |
---|---|
| |
nyisd ki | |
Szabadalmazott |
|
történelmi |
|
|