Introduction
Un point commun entre une usine, un avion, une centrale nucléaire, une
machine à laver, une auto, et un appareil multimédia de salon, est
qu'ils possèdent tous, de nos jours, un ou plusieurs processeur(s) ou
microcontrôleur(s) pour les gérer. Un autre point commun entre ces
systèmes, est que le logiciel qui y est déroulé, a
conscience de l'écoulement du temps, et prend des décisions en
fonction de celui-ci. On parle alors de système temps-réel,
sachant que ce terme revêt un sens extrêmement large (chapitre
1).
Dans ce travail, la notion de temps-réel dans les systèmes que nous
étudions possède deux caractéristiques (chapitre
2) : i) elle correspond à une série
de contraintes temporelles (absolues, relatives, moyennes) que
le système doit absolument vérifier, sous peine de conséquence
catastrophique sinon (perte de vies humaines, destruction de matériel,
impact financier important, ...), ii) le temps est perçu comme
une grandeur physique mesurable, et le système a conscience qu'elle affecte tous les traitements logiciels
effectués.
Dans ce contexte, la problématique qui nous intéresse est celle qui
consiste à vérifier que le système respectera toutes les contraintes temporelles spécifiées avant toute exécution réelle
du système ; on parle d'approche par analyse (à la différence
d'approches par exécution réelle ou simulée, qui ne peuvent
que démontrer que le système est défaillant, et jamais qu'il est
correct). Prouver de telles propriétés nécessite deux
choses : i) être capable de caractériser le comportement
temporel de chaque entité du système prise indépendamment, ii)
organiser l'ensemble des traitements associés à chacune de ces
entités, de sorte que les contraintes temporelles imposées soient
toutes respectées. Dans cette étude, nous nous intéressons au
deuxième point, qui porte le nom d'ordonnancement temps-réel
(chapitre 3). Le coeur de la problématique associée
provient du fait qu'il y a compétition entre les entités pour
accéder aux ressources (dont le ou les processeur(s) fait/font
partie) disponibles en nombre et en capacité restreints, et que par
conséquent un arbitrage des accès à ces ressources est nécessaire.
Dans ce chapitre, nous présentons quelques résultats scientifiques
(propriétés, algorithmes, approches, ...) liés à cette problématique.
Ce document est extrait d'une version préliminaire
de mon rapport de thèse, qui est désormais allégé d'une grosse
partie de ce qui constitue la présente étude.