Det svenska realtidsoperativsystemet Rubus klarar både händelsestyrning i "blå" programtrådar, och tidsstyrning, i "röda".
Konventionella operativsystem ägnar mycket av sin tid åt dynamisk schemaläggning. Det slipper Rubus eftersom schemat huggs i sten vid kompileringen. Rubusprogrammeraren ritar ett schema som visar hur delsystem, som sensorer, aktuatorer och beräkningsmoduler, interagerar. Därefter automatgenereras programkoden enligt angivna periodtider.Styrsystemet i VCE:s hjullastare innehåller fler än hundra programtrådar. Sådana system kan inte skapas för hand. De kräver verktyg som Rubus.
- Att schemalägga före körning är inget nytt som teknik betraktad. Det unika är att vi kan bygga stora system på detta sätt, säger Kurt-Lennart Lundbäck.
En spårning av ett händelsestyrt RTOS visar programtrådar som sporadiskt avbryts av signaler som väcker viktigare trådar.
En Rubuskörning ser mycket tråkigare ut, samma mönster upprepat i evighet. Det är bra, eftersom det ger förutsägbarhet, determinism.
Men man ser också nackdelen med tidsstyrning, arbete utförs även när det inte finns nya data. CPU:n bearbetar samma data om och om igen. Istället för vid behov, som i ett händelsestyrt RTOS. Rubus är inte renodlat tidsstyrt. Här finns också konventionell händelsestyrning i så kallade "blå" trådar. "Röda" trådar schemaläggs i förväg, blå under körningen.
I Mecels motorstyrsystem är styrning och sensorer röda, medan användarinteraktion är blå.
Jan Tångring