JavaScript is currently disabled.Please enable it for a better experience of Jumi. Linux går mot realtid

Linuxanvändare kan nu ta klivet in i realtidsvärlden. Intensivt arbete inom universitetsvärlden har resulterat i fyra mer eller mindre mogna realtidsversioner av operativsystemet Linux.
Realtidsoperativsystem baserade på Linux är på väg att bli ett nytt, billigt alternativ till kommersiella realtidsoperativsystem. Idag finns det fyra Linuxversioner som har nått så långt att de kan användas: RTAI, RTLinux, KURT och RED-Linux.
 
De fyra har varierande realtidsegenskaper och täcker olika behov. De två förstnämnda uppnår sina realtidsegenskaper med en realtidskärna, vilket ger systemet sämre möjligheter att använda Linux men bättre realtidsprestanda. De två sistnämnda modifierar Linuxkärnan, vilket begränsar realtidskapaciteten men ger bättre tillgång till Linux.
 
Operativsystemet RTLinux anses ha kommit längst i sin mognadsprocess och stöder redan flera plattformar, såsom Intel x86, PowerPC och Alpha. RTAI kommer snart att ha stöd för PowerPC, medan KURT och RED-Linux ännu tycks vara på forskningsstadiet.
 
Utvecklingen av realtidslinux sker på olika universitet i världen. Drivkraften för universiteten är, förutom nyfikenhet och experimentlusta, begränsad ekonomi. Många universitet anser sig inte ha råd med dagens kommersiella realtidsoperativsystem, utan väljer att dra nytta av Linux öppna källkod och uppbyggnad av utbytbara moduler.
 
De två varianterna RTAI och RTLinux är närbesläktade i sina konstruktioner. Båda löser realtidskraven genom att komplettera Linuxkärnan med en separat realtidskärna. Realtidskärnans schemaläggare har möjlighet att avbryta och aktivera Linuxkärnan. Den i sin tur har kvar sina ursprungliga egenskaper och sköter om de processer som inte har några realtidskrav, när realtidskärnan tillåter det. Linuxkärnan behandlas helt enkelt som en i raden av alla processer som realtidskärnans schemaläggare behandlar, fast med lägst prioritet.
 
Realtidskärnan kan inte kommunicera direkt med Linuxkärnan eller dess processer. Istället sker synkronisering och intern processkommunikation (IPC) genom fifo-köer och delade minnesutrymmen. Både RTLinux och RTAI baserar sina lösningar på utbytbara kärnmoduler som kan förändras efter behov, vilket ökar systemens flexibilitet. Interaktionen mellan realtidskärnan och Linuxkärnan har de två däremot löst på olika sätt.
 
RTAI bygger på ett gränssnitt mellan Linux- och realtidskärnan. Det fungerar som en avbrottshanterare som registrerar och hanterar avbrott samt aktiverar realtidsprocesser vid behov. Gränssnittet, kallat RTHAL, är ett abstraktionslager som förenklar kommunikationen mellan den underliggande realtidskärnan RTAI och Linux-kärnan. Abstraktionslagret har fördelen att man, med viss modifiering av kärnan, kan använda andra realtidskärnor än den medföljande. Detta ger stor flexibilitet i valet av realtidskärna.
 
I RTLinux saknas abstraktionslager, istället styrs avbrott som ursprungligen var avsedda för Linuxkärnan direkt till realtidskärnan. Den dirigerar i sin tur avbrotten vidare till realtidsprocesser och, vid behov, till vanliga Linuxprocesser. Lösningen gör systemet mer specifikt än RTAI och byte av realtidskärna är i princip omöjligt.
 
De två varianterna KURT och RED-Linux bygger istället på en modifiering av Linuxkärnan. Det betyder att de kan använda sig direkt av de vanliga Linuxegenskaperna. Ingen kommunikation behöver ske med separata IPC-anrop, vilket går betydligt långsammare än direkt kommunikation med Linuxkärnan.
 
Med KURT utökas kärnan med tre olika tillstånd: normalt, fokuserat realtid och ett blandat realtidstillstånd. I normalt tillstånd uppträder systemet som ett vanligt Linux-system, förutom att det har en tidsupplösning på tusendelssekunder.
 
Tidsupplösningen är egentligen avsedd för det fokuserade realtidstillståndet, där schemaläggaren enbart tillåter realtidsprocesser att köra. Det blandade realtidstillståndet är en kombination av de båda förstnämnda och tillståndet gör det möjligt att köra vanliga processer tillsammans med realtidsprocesser i den utsträckning som schemaläggaren tillåter.
 
Hos RED-Linux har man förändrat kärnan på ett annorlunda sätt. För att Linuxkärnan ska kunna klara av att garantera svar till realtidsprocesser har antalet avbrytningspunkter i kärnan utökats. Fler avbrytningspunkter minskar svarstiden och minskar risken för blockeringar i Linuxkärnan så att realtidsegenskapen kan garanteras.
 
Operativsystemet kommer inte ned i samma korta svarstider på miljondelssekunder som RTLinux och RTAI, utan svarstiden ligger i stället på tusendelssekunder. I gengäld har man direkt tillgång till Linux. RED-Linux passar med sina längre svarstider för bild- och ljudtillämpningar.
 
Att själv installera de nya operativsystemen och få dem att fungera är svårt, trots att det finns installationsmanualer och dessa hela tiden förbättras för att förenkla användandet. Installationsarbetet ligger fortfarande på forskningsnivå och är alltför tidskrävande för företag som vill användas sig av Linuxbaserade realtidsoperativsystem.
 
Ett projekt på Mälardalens högskola med avsikt att pröva de nya realtidsoperativsystemen kom fram till att installationsarbetet överlag var mycket besvärligt och att dokumentationen kring systemen var bristfällig (se Elektroniktidningen 11/00).
 
Enda undantaget är RTLinux som har bra dokumentation och dessutom är relativt enkelt att installera. Det är också det mest utvecklade realtidsoperativsystemet av de fyra och används redan i flera projekt inom industrin. NASA har bland annat utvecklat ett fjärranalyssystem som baserar sig på RTLinux.
 
Lösningen på användarproblemen kommer från kommersiella företag som erbjuder egna produkter med de fritt distribuerade realtidsoperativsystemen som grund. Med dessa slipper man arbetet med att installera och komma igång. Ytterligare stöd erbjuds i form av support och utvecklingsverktyg.
 
även företag som använder olika realtidsvarianterna av Linux börjar dyka upp på marknaden. Programvaruföretaget FSMLabs erbjuder exempelvis RTLinux inbakat i ett paket där installation, support, programvara och konsulttjänster kan ingå. Företaget Zentropix har liknande tjänster samt utvecklingsverktyg baserade på RTAI. Timesys presenterar i sin tur en lösning som bygger på både RTAI och RED-Linux.


Lisa Ringström

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)