JavaScript is currently disabled.Please enable it for a better experience of Jumi. Ny teknik gör Linux bättre på realtid
Guidelines for contributing Technical Papers: download PDF

Sex metoder för bättre realtidsegenskaper

Ett RTOS och Linux exekverar tillsammans på samma hårdvara. Nu lanseras två nya tekniker för en sådan tulipanaros, från projektet Adeos och från franska företaget Jaluna.Lösningarna sällar sig till en mängd tekniker för att ge Linux realtid - något som det från början inte byggdes för.
Hur får man Linux att hantera realtidstillämpningar? Frågan är aktuell eftersom Linux mer och mer används för inbyggda system.

Den stora synliga händelsen i år blir Linux i hushållselektronik, bland annat i avancerade mobiltelefoner motsvarande de Windows- och Symbianmobiler som finns nu.

Men Linux används också bakom kulisserna, i telekomsystem, flyg, medicin, industristyrning och robotik. Tillämpningarna ställer hårda realtidskrav, det vill säga att försenade svar från operativsystemet inte får förekomma.

Problemet är att Linux i grunden inte är byggt för realtid.

Använd separat hårdvara

En lösning för den som både vill ha Linux och realtid, kan vara att använda separat hårdvara med ett konventionellt RTOS (realtidsoperativsystem) för realtidsuppgifterna. Så byggs till exempel idag de mobiltelefoner som är extrautrustade med ett generellt operativsystem.

Men det finns också flera lösningar för den som vill köra Linux och realtid i samma hårdvara. De olika lösningarna för Linux i realtid skiljer sig åt i hur modifierad den Linuxversion som används är, och var realtidsprogrammen körs - i Linux på vanligt sätt, eller i kärnan, eller kanske till och med i ett annat operativsystem.

Två nya lösningar för så kallade mikrokärnor kommer att dyka upp under detta halvår, Adeos och Jaluna-2.

En mikrokärna är ett extra litet operativsystem som läggs mellan hårdvara och operativsystem och tar kontrollen över kommunikationen med yttre enheter och över prioriteringen mellan programmen som körs i operativsystemet.

Med en mikrokärna behövs få eller inga förändringar av Linux. Den vanliga Linuxkärnan kan användas för vanliga program. Realtidsprogram behandlas av mikrokärnan som särfall med högre prioritet.

Jaluna-2 är en arkitektur med en mikrokärna från franska företaget Jaluna. Den laddar två operativsystem i hårdvaran, dels Linux och dels C5 - den femte generationen av ett RTOS tidigare känt under namnet Chorus OS.

Mikrokärna tar kontrollen

C5 har första tjing på hårdvaran vid initieringen. Den tar kontrollen över en del av minnet och de yttre enheterna. Därefter tar Linux kontrollen över det som blivit över.

Operativsystemen kommunicerar med varandra via en virtuell buss. Ur operativsystemens perspektiv ser bussen ut som en vanlig drivenhet. Om Linux och C5 körs i separata kort används samma programgränssnitt till den fysiska bussen.

- Vi använder C5 ungefär som en mjuk coprocessor till Linux, berättar Michel Gien, vd och en av Jalunas grundare.

Denna coprocessor kan inte bara nyttjas för realtid.

I Jaluna-2 ingår en högtillgänglighetsvariant av Linux där C5 övervakar att Linux arbetar normalt. Linux anmäler sig regelbundet för C5 som omstartar Linux om det blir tyst.

Separat rtos

Linux ligger på en RAM-disk där Linuxprogrammen också har möjlighet att logga sin status för att hålla tråden mellan omstarter.

Detta betyder att en omstart tar sekunder i stället för minuter.

Andra tillämpningar är att använda C5 för att avlusa Linuxkärnan i realtid, eller för att filtrera eller kryptera trafik till och från Linux.

Det intressantaste är kanske de kunder företaget redan etablerat för C5/Chorus, bland annat Alcatel, Nokia, Fujitsu och Canon.

Nu har dessa en bekväm möjlighet att sy in Linux i sina lösningar, som är bland annat skrivare, telekominfrastruktur och mobiltelefoner.

- Vi har kört blandade operativsystem på samma hårdvara sedan sent 80-tal berättar Michel Gien.

Nyheten är att hela arkitekturen, inte bara Linux utan även C5 och dess mikrokärna, nu är öppen källkod (open source). Det betyder att det är fritt fram att använda och modifiera programvaran.

- En fördel med öppen källkod är den mindre risken jämfört med ett kommersiellt operativsystem - man kan byta leverantör om man är missnöjd, säger Michel Gien.

Jaluna ägdes av Sun mellan 1997 och september 2002. En månad senare släpptes C5 och verktyg i paketet Jaluna-1. I juni i år släpps Jaluna-2.

Femton företag utvärderar betaversionen.

Jaluna-2 är inte först med att använda en mikrokärna för realtids-Linux. FSM Labs använder mikrokärnan RTLinux för hård realtid i bland annat flyg, robotik och medicin.

Det nya i Jaluna-2 är att realtidsprogrammen körs i ett separat RTOS, medan de i RTLinux körs som kärnprogram med hög prioritet.

Icke-realtidsprogram körs i både Jaluna-2 och RTLinux på det normala sättet med lägre prioritet och med mindre rättigheter.

Den nya mikrokärnan Adeos använder ungefär samma teknik som Jaluna för att köra flera operativsystem på samma hårdvara. Adeos har utvecklats för att kringgå en patenterad lösning som ägs av FSM Labs. En annan mikrokärna, RTAI, har utnyttjat detta patent men skrivs nu om till att använda Adeos.

Linus gillar inte mikrokärnor

Andra besläktade mikrokärnor saluförs under namnet Embedix av amerikanska Lineo och som Bluecat RT av amerikanska Lynuxworks.

Linus Torvalds, som ansvarar för huvudfåran av Linuxversioner, gillar inte mikrokärnor. Den modell för realtids-Linux som sanktioneras av honom, och därmed hans gigantiska stab av fritidsingenjörer, är att istället göra små men strategiska modifieringar av Linuxkärnan. Modifieringarna gör det möjligt att avbryta program som körs i kärnan (preemptive kernel). Det betyder att svarstiderna förbättras från tiotals millisekunder till hundratals mikrosekunder.

Tekniken når inte fram till mikrokärnornas svarstider på enstaka mikrosekunder. Å andra sidan är det faktiskt de vanliga Linuxprogrammens svarstider som förbättras, och inte bara specialskrivna program för kärnan eller för helt andra operativsystem.

Den avbrytbara Linuxkärnan är numera Linuxkonsulten Montavistas enda modell för Realtids-linux. Tidigare erbjöds RTLinux som tillval. Montavista används bland annat inom telekom och hemelektronik.

Kansasuniversitetets projekt Kurt och företaget Timesys går ännu längre i modifieringar av Linuxkärnan. De använder programkoden som bas för att bygga ett konventionellt RTOS. Det ger bättre prestanda än Montavistas kärnmodifieringar, men minskar släktskapet med huvudfåran av Linux.

Ytterligare en lösning, som används i operativsystemen Oncore och LynxOS, är att helt kasta bort källkoden till Linux men implementera dess programgränssnitt i ett annat operativsystem. Det betyder att man kan man köra vanliga Linuxprogram. Men i operativsystem som varken är Linux eller öppen källkod.

Jan Tångring

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)