Non classifié
Novembre 1999
SYSTEMES TEMPS REELS
(annexes)
Systèmes temps réels
2
Non classifié
Novembre 1999
Table des matières
ANNEXE 1 - CONCEPTS DE BASE DU TEMPS REEL ............................................................................................ 4
1. QU'EST CE QUE LE TEMPS REEL ? ........................................................................................................................... 4
2. QUELLE EST LA RELATION ENTRE LE SYSTEME D'EXPLOITATION ET LE TEMPS REEL ? ........................................... 5
3. LES EXTENSIONS POSIX TEMPS REEL. .................................................................................................................. 5
4. LES SERVICES DE BASES D'UN SYSTEME TEMPS REEL .............................................................................................. 7
4.1. TACHES .............................................................................................................................................................. 7
4.2. BOITES AUX LETTRES ......................................................................................................................................... 9
4.3. EVENEMENTS ..................................................................................................................................................... 9
4.4. SEMAPHORES ................................................................................................................................................... 10
4.5. INTERRUPTIONS ............................................................................................................................................... 10
4.6. TIMERS OU CHRONOMETRE ............................................................................................................................... 10
ANNEXE 2 - PRESENTATION DU SYSTEME TEMPS REEL VXWORKS ......................................................... 11
1. PRESENTATION ..................................................................................................................................................... 11
2. CARACTERISTIQUES TEMPS REEL .......................................................................................................................... 12
3. INTERFACE AVEC UNIX ....................................................................................................................................... 15
4. AUTRES PARTICULARITES ..................................................................................................................................... 16
ANNEXE 3 - PRESENTATION DE RTC .................................................................................................................... 18
1. PRESENTATION ..................................................................................................................................................... 18
2. PRIMITIVES ET FONCTIONS TEMPS REEL ................................................................................................................ 18
3. AUTRES CARACTERISTIQUES ................................................................................................................................ 21
SIGLES ET TERMINOLOGIE : .................................................................................................................................. 22
SIGLES GENERAUX : ...................................................................................................................................................... 22
TERMINOLOGIE : ........................................................................................................................................................... 23
BIBLIOGRAPHIE : ....................................................................................................................................................... 24
SITES INTERNET : .......................................................................................................................................................... 24
GLOSSAIRE : ................................................................................................................................................................. 25
Systèmes temps réels
3
Non classifié
Novembre 1999
Liste des figures
Figure 1 - Interface POSIX d'un système d'exploitation ...................................................................... 6
Figure 2 - Round Robin entre tâches de même priorité ....................................................................... 7
Figure 3 - Ordonnancement en tourniquet ........................................................................................... 8
Figure 4 - Exemple de changement de contexte dans un système temps réel ..................................... 8
Figure 5 - Etats possibles des tâches .................................................................................................... 9
Figure 6 - Architecture globale de VxWorks ..................................................................................... 11
Figure 7 - Structure du noyau WIND................................................................................................. 12
Figure 8 - Diagramme d'états des tâches sous VxWorks ................................................................... 12
Figure 9 - Environnement de communication de VxWorks .............................................................. 15
Figure 10 - L'environnement Tornado ............................................................................................... 17
Figure 11 - Diagramme d'états des tâches sous RTC ......................................................................... 18
Systèmes temps réels
4
Non classifié
Novembre 1999
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 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.
Systèmes temps réels
5
Non classifié
Novembre 1999
2. Quelle est la relation entre le système d'exploitation et le Temps Réel ?
La correction sémantique de la réponse est de la responsabilité du programmeur, la correction
temporelle dépend du système d'exploitation.
Le système doit supporter et organiser l'exécution de toutes les tâches. Le système doit
également gérer toutes les interruptions.
Il doit offrir :
L'algorithme de prévision
Les mécanismes de communication inter-processus (sémaphores, messages, etc.)
Gérer les interruptions.
Activer tâches à chacune de leur période.
Contrairement aux systèmes d'exploitation standards, le but d'un système d'exploitation temps
réel est de minimiser la complexité. Il n'est pas nécessaire d'avoir un système d'exploitation
ayant beaucoup de possibilités mais un système capable d'exécuter les tâches telles que prévues
et rapidement.
Il est préférable d'avoir un système d'exploitation qui prend normalement 10 unités de temps
pour accomplir un changement de contexte et qui en prend 12 dans les pires cas, qu'un autre
système qui en moyenne prend 3 unités de temps mais qui de temps en temps peut aller jusqu'à
20.
On ne sera surpris de découvrir que les systèmes temps réel sont "plus lents" que les normaux.
Dans certain cas, afin d'avoir des comportements prévisibles, il pourra même être nécessaire de
désactiver la mémoire cache avec la perte de performances associées. La mémoire cache, les
processeurs avec des unités pipelines et les algorithmes de prédiction de sauts sont des ennemis
clairement désignés de la prévisibilité et par conséquent des Systèmes Temps Réel.
3. Les Extensions POSIX Temps Réel.
POSIX sont les initiales de "Portable Operating System Interface" (Interface Portable pour
Systèmes d'Exploitation). C'est un standard qui tend à obtenir la portabilité des logiciels aux
niveau du code source.
En d'autres termes, un programme destiné à un système d'exploitation et respectant le standard
POSIX devrait se compiler et s'exécuter sous n'importe quel système POSIX, même s'il provient
d'un fabricant différent. Le standard POSIX définit l'interface que le système d'exploitation doit
offrir aux applications : le jeux d'appels système. POSIX est développé par l'IEEE (Institute of
Electrical and Electronic Engineering) et standardisé par ANSI (American National Standards
Institute) et ISO (International Standards Organisation). Evidemment, POSIX est basé sur
UNIX. La majorité des systèmes d'exploitation (y compris Windows NT) tendent à être
compatibles POSIX aux travers de leurs différentes versions.
1 / 27 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !