RTLinux

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. május 15-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .
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 .

Megvalósítási jellemzők

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.

Az RTLinux implementáció hiányosságai

Egyéb valós idejű bővítmények Linuxhoz

Linkek