Récemment, la minimisation de l’énergie est devenue une préoccupation majeure dans les OS temps réel (Real-time operating system RTOS) puisque les nouvelles générations de ces systèmes adressent de nouveaux critères tels que la faible consommation d'énergie. Pour la haute performance de ces systèmes, la réduction de la consommation d'énergie au niveau du système d'exploitation et offrir des services optimaux tout en respectant les contraintes temps-réel sont nécessaires.

Une étude est proposée pour l’OS temps réel embarqué reconfigurable pour les microprocesseurs. Nous proposons de développer une couche intermédiaire qui va jouer le rôle de middleware  et qui sera en interaction avec le noyau Linux. Cette couche va gérer l'ajout / suppression / mise à jour des tâches apériodiques périodiques ayant des ressources partagées et des contraintes de précédence.

Ces tâches doivent respecter leurs délais après un scénario de reconfiguration. Une reconfiguration peut être matérielle ou logicielle. Une reconfiguration logicielle est définie par l'addition / suppression / mise à jour des tâches mais la reconfiguration matérielle est définie  par l'activation / désactivation d'un processeur.

Le middleware proposé va diviser l'exécution matérielle en plusieurs processeurs virtuels comme des slots de temps. La décomposition se fait en fonction de la catégorie de la tâche. Le premier processeur virtuel exécute des tâches périodiques, le second exécute des tâches apériodiques  avec des délais durs et le troisième processeur virtuel exécute des tâches apériodiques avec des délais souples. Après l’application d'un scénario de reconfiguration, certaines tâches peuvent manquer leurs échéances et la consommation d'énergie peut augmenter.

Afin de réobtenir la faisabilité du système après un tel scénario, une base d'agents est définie pour appliquer quelques solutions logicielles. Cette contribution peut être appliquée à un grand nombre de RTOS.

Etude de cas: RT-Linux

Notre étude porte spécifiquement sur RT-Linux. Nous l'avons choisi car il est open source. Il est un temps réel RTOS micro-noyau dur qui exécute le système d'exploitation comme un processus entièrement préemptif. La figure ci-dessous représente la conception du système de RT-Linux.
Aspects importants sont affichés par la figure:

  -  RT-Linux se trouve entre le matériel et le noyau,
   -  Il agit comme le matériel pour le noyau et
   -  Il traite le noyau comme un grand processus unique.

RT-Linux reçoit les interruptions de la couche matérielle et les envoie au noyau linux après les avoir converti en des interruptions logicielles. En outre,  RT-LINUX gère l’ordonnancement  des tâches en temps réel.  Le noyau n'est pas conçu pour être reconfigurable. Ainsi, RT-Linux n'est pas reconfigurable.

Figure 1: RT-Linux system

Localisation du middleware :

 Cette recherche  propose de créer une couche middleware entre le RT-Linux et le matériel.
 Le middleware sera en interaction avec le noyau Linux comme le montre la figure ci-dessous.

Figure 2 :The middleware layer location

Le middleware proposé peut être utilisée pour reconfigurer théoriquement son OS.

Un outil est développé et des simulations sont présentées pour souligner la performance de ces solutions. Plusieurs routines seront ajoutées à RT-Linux pour appliquer les différentes solutions proposées. Une routine est un service offert par RT-Linux.

Aussi, les différents services offerts par ce middleware seront développés.