RTLinux

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 15. května 2018; kontroly vyžadují 3 úpravy .
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 .

Funkce implementace

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.

Nedostatky implementace RTLinux

Další realtime rozšíření pro Linux

Odkazy