RTLinux | |
---|---|
Typ | Operační systém v reálném čase |
Vývojář | Victor Yodaiken, Michail Barabanov ( en: New Mexico Institute of Mining and Technology ), FSMLabs, Wind River Systems |
Zapsáno v | C |
Operační systém | linux |
První vydání | 1996 |
Licence | GPLv2 |
webová stránka | rt.wiki.kernel.org/index… |
RTLinux je mikrokernel hard real-time operační systém , který běží na Linuxu jako plně preemptovatelný proces. Práce na RTLinuxu byly dokončeny v roce 2007 a na základě vývoje tohoto OS byl spuštěn proprietární projekt Wind River .
Vývojáři RTLinuxu zvolili cestu, která zajišťuje spuštění linuxového jádra z nanokernelu v reálném čase jako úkol s nejnižší prioritou . V RTLinuxu jsou všechna přerušení zpracovávána jádrem v reálném čase, které zahrnuje vlastní plánovač úloh , obsluhu přerušení a kód knihovny. Pokud pro nějaký druh přerušení neexistuje žádná obsluha v reálném čase, předá se Linuxu. Ve skutečnosti je Linux nečinná (nečinná) úloha RTOS , která se spouští pouze v případě, že se žádná úloha neprovádí v reálném čase. Na linuxovou úlohu jsou zároveň uvalena určitá omezení, která jsou však pro programátora transparentní.
Linux nemůže provádět následující operace:
Klíčem k implementaci tohoto systému je ovladač , který emuluje systém řízení přerušení , který je volán Linuxem, když se snaží blokovat přerušení. V tomto případě ovladač zachytí požadavek, uloží jej a vrátí řízení Linuxu.
Všechna hardwarová přerušení jsou zachycena jádrem RTOS. Když dojde k přerušení , jádro RTLinuxu rozhodne, co dělat. Pokud toto přerušení potřebuje zpracovat obslužný program v reálném čase, jádro zavolá příslušný obslužný program. V opačném případě, nebo pokud obslužná rutina v reálném čase řekne, že chce toto přerušení sdílet s Linuxem, je obslužná rutina nastavena do stavu čekající na vyřízení. Pokud Linux požádal o povolení přerušení, budou emulována nevyřízená přerušení.
Jádro RTLinux je navrženo tak, že jádro pracující v reálném čase nemusí nikdy čekat, až se uvolní zdroj obsazený linuxovým procesem.
Pro výměnu dat mezi RTOS a Linuxem jsou k dispozici následující nástroje:
Klíčovým principem budování RTLinuxu je používat co nejvíce Linuxu a co nejméně RTLinuxu. Linux se skutečně stará o inicializaci systému a zařízení a také o dynamickou alokaci zdrojů. RTLinux je zodpovědný pouze za plánování úloh v reálném čase a obsluhu přerušení. Procesy v reálném čase jsou implementovány jako zaváděcí linuxové moduly pro snadné spouštění v kontextu jádra, přičemž systém zůstává modulární a rozšiřitelný .
Aplikace v reálném čase s RTLinuxem se obvykle skládá ze dvou nezávislých částí: procesu prováděného jádrem RTLinuxu a normální linuxové aplikace.
Tento modulární přístup k psaní aplikací je vlastní mnoha rozšířením v reálném čase pro víceúčelové systémy, kde úloha v reálném čase běží nezávisle na operačním systému. Vývojáři již přijali schéma, podle kterého jsou časově kritické úlohy programovány pomocí API poskytovaných rozšířením v reálném čase a všechny funkce služby a uživatelského rozhraní jsou přiřazeny výkonu operačního systému. S tímto přístupem se programátor potřebuje pouze naučit rozhraní API obsluhy událostí v reálném čase.
Operační systémy v reálném čase | |
---|---|
| |
OTEVŘENO | |
Proprietární |
|
historický |
|
|