Skriv ut
Svenska Eneas realtidsoperativsystem OSE släpps i en version anpassad för multikärnor. Tekniken för att distribuera programtrådar på kärnorna är enligt Enea unik.
Enea OSE konstruerades från allra första början för system där program exekveras distribuerat på separata processorer. OSE:s grundläggande teknik för detta visar sig nu fungera lika bra i multikärnor, som i princip är distribuerade system nedskalade till ett chips.

Enea säger sig ha lyckats behålla kompatibiliteten bakåt med gamla "enkärniga" OSE så långt att programvara fungerar omodifierad.

Enea OSE Multicore Edition vägrar låta sig sorteras in i någon av de klassiska kategoriseringarna SMP och AMP (symmetriskt respektive assymetriskt multiprocessoroperativsystem) utan kallar sig för en AMP/SMP-hybrid.

Den traditionella definitionen av SMP-system är att operativsystemet fördelar programtrådar dynamiskt på olika processorkärnor som är symmetriska, alltså ekvivalenta. I ett AMP-system (assymetrisk multiprocessning) är processorkärnorna oberoende och har specialiserade roller. De kan exempelvis köra olika operativsystem. AMP är den modell som klassiska Enea OSE-system varit byggda enligt.

OSE Multicore Edition – SMP/AMP-hybriden – använder en enda RTOS-kärna, som ett SMP-system. Men den sprider ut sina egna tjänster (som filsystem och nätverksstack) och användarprogram på separata processorkärnor. Kärnorna tar sedan själva hand om att schemalägga exekveringen av sina trådar.

Den ganska statiska distributionen av program på kärnor ger ett deterministiskt system. Operativsystemet innehåller funktioner – med enligt Enea ett minimum av overhead – för att mäta belastningen. Detta för att man under utvecklingen ska kunna testa sig fram till hur de olika tjänsterna och programmen effektivast ska fördelas på kärnorna.

Bakgrunden till att Enea kan slå sönder och distribuera även själva OSE-kärnan är att OSE är en mikrokärna, vilket betyder att dess funktioner redan ligger i separata program.

Kommunikationen mellan processorkärnorna sker asynkront. Och på klassiskt OSE-manér behöver programvaran inte bry sig om vilken fysisk processorkärna en anropad tjänst körs på.

De multikärnor som stöds från början är Freescales QoirIQ-familj, och MPC8572DS och Caviums Octeon-familj. Det här är processorer optimerade för kommunikationsinfrastrukturen – de är exempelvis kandidater till LTE-mobilnäten.

Enea ger kurser som förklarar den nya kärnan.