MESURES 783 - MARS 2006 - www.mesures.com
36
T
endances
teur de Montavista. Au centre de ce dispositif
complémentaire proposé par cette société
américaine se trouve l’ordonnanceur ou sche-
duler O(1). Ce système met en jeu des niveaux
de priorité, affectés aux tâches à exécuter selon
leur criticité. L’ordonnanceur garantit notam-
ment que la tâche de plus haute priorité prête
à être exécutée sera bien celle qui sera effecti-
vement exécutée. Sans pour autant devenir
déterministe, cette technologie offre de bien
meilleures performances.
Celles-ci sont désormais disponibles pour
tous les utilisateurs, puisque ce patch
préemptif a été intégré dans la version 2.6
de Linux, disponible depuis 2004 et qui sup-
porte la plupart des processeurs 32 bits du
marché comportant une unité de gestion de
la mémoire (MMU). Le noyau est téléchar-
geable depuis le site www.kernel.org.
Le programmateur finlandais Linus Torvalds
peut donc être fier de son petit Linux, puis-
qu’il fonctionne désormais avec préemption,
et affiche un temps de latence moyen de 1 à
10 ms. Ce qui peut satisfaire certains utilisa-
teurs :
« Le niveau de performances fourni par
Linux à l’heure actuelle permet effectivement de
répondre aux besoins de certains industriels dans le
monde de l’embarqué pour des produits dont le ni-
veau de criticité n’est pas élevé »
, expose Philippe
Gauthier, responsable technique pour la so-
ciété de service informatique
Sogeti High Tech.
« Néanmoins, on reste loin des performances des OS
temps réels au sens strict du terme »
, poursuit
l’informaticien.
L’avis est partagé. Consultant pour la société
d’expertise informatique
OpenWide
, Stelian
Pop note les avancées apportées par la version
2.6 de Linux, mais estime qu’
« on se trouve dans
des conditions de temps réel mou, avec un respect du
timing prévu dans environ 99 % des cas, mais qui ne
peut être garanti à 100 %. Le risque d’atteindre un
temps de latence infini, et donc qu’une tâche ne s’exé-
cute pas, est toujours présent. »
Vers le temps-réel
Séduisant, mais encore perfectible. Montavista
a récemment apporté une nouvelle pierre à
l’édifice, en annonçant l’été dernier un
temps de latence inférieur à celui que peut
obtenir le premier venu en utilisant le noyau
Linux 2.6.10. Si l’ordre de grandeur de cette
durée donne une idée des performances
d’un OS, il ne faut pas se focaliser unique-
ment sur ce chiffre, qui n’autorise pas vrai-
ment les comparaisons puisque sa détermi-
nation dépend du processeur et de sa charge
de travail. Cependant, l’annonce de
Montavista
évoque
«une réduction du temps de préemption par
un facteur 100 »
, ce qui n’est représente une
avancée considérable et permet à Linux de
se rapprocher des performances des RTOS
au sens strict. Sans toutefois les atteindre.
Pour le temps réel dur, qui garantit que dans
tous les cas de figure la tâche soit exécutée
et ce dans un temps imparti, il faut encore
aller plus loin.
« Les travaux en cours du déve-
loppeur Ingo Molnar portent sur un projet Linux
Preempt_RT qui serait un OS temps réel dur »,
relate Stelian Pop
. « J’y travaille avec d’autres »
,
préfère préciser l’intéressé, un des déve-
loppeurs historiques de Linux. Ce hongrois
se concentre sur l’élimination des goulots
d’étranglement, notamment en ce qui con-
cerne la gestion des interruptions. L’objectif
est d’atteindre un temps de latence moyen
d’une dizaine de microsecondes, et que
celui-ci ne dépasse jamais 500 µs. Mais il
faudra attendre un peu avant que ces travaux
n’aboutissent à un Linux temps-réel.
Ou plutôt à un Linux temps réel stable et libre.
Car des solutions “real-time” existent déjà : à
la fin des années 90, un étudiant développait
au sein de l’université du Nouveau-Mexique
RTLinux, un RTOS Linux. Ce produit était
bien Open Source, puisque le code source
était disponible dans le domaine public. Sauf
que l’étudiant en question a par la suite fondé
une société nommée
Fsmlabs
, emmenant avec
lui son code pour le faire évoluer de manière
non libre au sein de cette société.
Xenomai est un émulateur permettant
de faire migrer facilement des applica-
tions de systèmes d’exploitation temps-
réel vers un environnement GNU/Linux.
« Il devient donc possible de récupérer
du code source écrit pour VRTX, pSOS+
voire VxWorks et de le faire tourner sur
une plate-forme hôte GNU/Linux », note
l’un des collaborateurs du projet Bruno
Rouchouse. Afin d’émuler le mieux
possible les fonctionnalités des RTOS
classiques, Xenomai repose sur une
déclinaison temps-réel de Linux,
obtenue grâce au projet Adeos. Ce patch
logiciel permet le partage de ressources
matérielles par plusieurs systèmes
d’exploitation concurrents. Adeos
permet ainsi à plusieurs domaines
logiciels organisés par priorité de
fonctionner sur une même plate-forme
matérielle. La couche Adeos permet le
partage des interruptions et des
évenements entre un noyau annexe et le
noyau Linux. Il faut néanmoins adapter
certaines parties du code, « notamment
la gestion des interruptions », tempère
Bruno Rouchouse.
Xenomai dispose pour l’instant de modè-
les implémentant les interfaces de
programmation (API) de VxWorks, Posix
PSE 51, pSOS+, VRTX, RTAI. En plus d’être
un émulateur, Xenomai permet la mise
au point du code source sur une station
Linux avant d’embarquer ce code vers
une carte fonctionnant avec l’un des
RTOS sus-cités.
Émulation avec Xenomai
Accelerated Technology, Enea, Lynuxworks,
Montavista, QNX Software Systems, Wind River
Hormis le fait qu’elles éditent des
systèmes d’exploitation temps réel ou
destinés à l’embarqué, ces sociétés ont
une autre caractéristique commune. Elles
font partie, à des niveaux d’implication
différents, de la fondation Eclipse. Créée
en 2001 sous l’égide d’IBM notamment,
cette communauté open-source a pour
objectif de proposer une plate-forme et
des outils de développement non-
propriétaires. Cela se traduit par un
environnement de développement
intégré (IDE) commun utilisable sur
plusieurs OS. « Du point de vue de
l’utilisateur, la partie édition/contrôle de
l’interface de développement est unique et
disponible sur Internet. Seule l’articulation
avec l’OS est spécifique », précise Luc
Maître, ingénieur systèmes pour
Lynuxworks. Cette interfaçage avec l’OS
peut, lui, être payante. « Ceux qui
utilisent bien le langage Java peuvent
enrichir l’IDE avec leurs propres personna-
lisations », poursuit Luc Maître.
Green Hills n’a néanmoins pas rejoint le
consortium. Pour le responsable du
marketing Chris Smith, « Eclipse n’a pas
été spécifiquement développé pour les
applications embarquées ». Selon lui, l’IDE
Multi de la société va au-delà des
possibilités d’Eclipse. « Dès lors, pourquoi
être membre ? », questionne Chris Smith.
Néanmoins, Green Hills propose « des
plug-ins spécifiques à destination des
clients qui insistent pour utiliser l’environ-
nement de travail Eclipse ».
Eclipse attire les éditeurs