Annexe 1 - Concepts de base du Temps Réel
1. Qu'est ce que le Temps Réel ?
"Un système Temps Réel est un système d'informations dont les corrections ne dépendent pas
uniquement du résultat logique des algorithmes mais aussi de l'instant où ces résultats ont été
produits" .
Un système temps réel est un système où le temps intervient dans la validité du programme :
Possibilité de réagir en un temps adapté aux événements externes ;
Possibilité de fonctionnement en continu sans réduire le débit du flot d'informations traitées ;
Temps de calcul connus et modélisables pour permettre l'analyse de la réactivité.
D'après cette définition, un système Temps Réel n'a pas besoin d'être rapide. Par exemple : le
système de guidage d'un navire peut apparaître comme n'étant pas un système Temps Réel, à
cause de sa faible vitesse et qu'habituellement il y a "assez" de temps (en minutes) pour prendre
une décision avant d'agir. Néanmoins, c'est effectivement un système temps réel.
Le problème de Temps Réel apparaît quand le système est constitués de plusieurs tâches et qu'il
est nécessaire de diviser la puissance du ou des processeurs entre elles. Ceci exclut toute
utilisation d'un système à temps partagé (Unix, Windows).
La conception d'un Système Temps Réel passe par plusieurs phases : Premièrement, on identifie
la tâche à réaliser et les contraintes temporelles qui doivent être satisfaites. Deuxièmement, le
code est écrit. Finalement, le temps d'exécution de chaque tâche est mesuré et un test de rendez-
vous horaire est réalisé pour vérifier qu'aucune tâche ne dépassera son temps limite pendant le
fonctionnement du système. Le test de rendez-vous horaire consiste à appliquer un certain
nombre de tests à l'ensemble des tâches. Si elles passent ces tests, il sera alors possible de
garantir qu'aucun temps limite ne sera dépassé. Si au contraire les tests ne sont pas concluants, il
est nécessaire de reprendre la conception depuis le début, en choisissant un processeur plus
rapide (si cela est possible) ou en utilisant d'autres algorithmes pour implémenter les tâches.
En résumé :
Les tâches peuvent être identifiées par trois valeurs de temps :
Période de la tâche ;
Temps limite pour la tâche ;
Temps de calcul maximal pour la tâche.
La raison d'être du système est de garantir que toutes les tâches (dans toutes leurs configurations
d'exécution) satisferont les temps limites. Pour garantir les temps d'exécution, le système doit
être prévisible. Dire qu'un système est Temps Réel ou que ce système est prévisible est
pratiquement la même chose.