Introduction Qu'est ce que le temps-réel ? Exemples d'applications temps-réel Limites des systèmes classiques pour le temps réel Exercices
Qu'est ce que le temps-réel ? Le terme de temps-réel est employé pour désigner le temps physique. Le temps réel permet de décrire l'environnement extérieur.
Qu'est ce que le temps réel ? On définit un système temps réel comme un système dont le comportement dépend, non seulement de l'exactitude des traitements effectués, mais également du temps où les résultats de ces traitements sont produits. Objectifs lors de la conception : système prédictible. Déterminisme logique : une même entrée appliquée au système produit toujours la même sortie. Déterminisme temporel : les contraintes de temps sont respectées. Fiabilité : le système (logiciel, matériel) répond à des contraintes de disponibilité.
Qu'est ce que le temps réel ? On définit un système temps réel comme un système dont le comportement dépend, non seulement de l'exactitude des traitements effectués, mais également du temps où les résultats de ces traitements sont produits. Le temps réel entre donc dans le critère de correction des applications. Un retard est considéré comme une erreur qui entraîne de graves conséquences.
Qu'est ce que le temps réel ? On définit un système temps réel comme un système dont le comportement dépend, non seulement de l'exactitude des traitements effectués, mais également du temps où les résultats de ces traitements sont produits. Ordre de grandeur du temps Ordre (1ms) Système 1 Radar 1000 visualisation 3600000 Process chimique 86400000 Prévision 2592000000 Navigation de sonde
Contraintes de temps S E Limite quantifiée sur le temps séparant deux événements. Cette limite est soit la limite min et/ou la limite max. Système S E fenêtre x Cela peut être aussi sur deux sorties : cohérence de production du son et de l'image. Cadence de production sur une sortie: régularité de présentation des images dans une vidéo. x
Définitions : temps réel dur et temps réel lâche Une échéance est qualifiée de dure (hard dealine) lorsque le résultat d'un traitement arrive et provoque une exception dans le système. Si le retard ne provoque pas d'exception dans le système, on dit que l'échéance est lâche (soft deadline).
Définitions : temps réel dur et temps réel lâche Questions : Classer en soft ou hard : traitement d'images dans une vidéoconférence, contrôle de radioactivité de centrale nucléaire.
Le système temps réel et son environnement Le système temps réel est un système en interaction avec son environnement. Il peut être modélisé par un système qui se compose d'un processeur central et de périphérique d'entrées/sorties (capteurs,actionneurs). Processeur Temps réel Capteurs Actionneurs Collecte les signaux ou événements Réactions vis à vis des événements La réaction du système s'effectue au travers de commandes
Exemple de système : téléphone portable
Interactions du système avec l'environnement Les interactions entre le système temps réel et son environnement peuvent s'effectuer soit à des moments déterminés : par une référence de temps interne au système (time driven) par l'environnement lui même (event-driven system) Lorsque le système doit répondre dans un temps limité à des événements externes, on parle de système réactif.
Prévisibilité (predictability) L’un des aspects importants des systèmes temps réel est la prévisibilité du système ; un système temps réel doit être conçu de telle façon que ses performances soient définies dans le pire des cas (dans un système classique on s'intéresse au traitement moyen) La prévisibilité est ce qui permet de déterminer à l’avance si un système va respecter ses contraintes temporelles. La politique d'ordonnancement des activités est à déterminer en fonctions des paramètres liés aux calculs des activités.
Exemples de politique d'ordonnancement ID Depart C T1 1 3 T2 T3 1 2 3 4 5 6 7 8 9 10 11 12 T2 T3 T1 nop 1 2 3 4 5 6 7 8 9 10 11 12 T2 T3 T1 nop
Les sources de non déterminismes Les sources de non déterminismes sont : Charge de calcul : variation des durées d'exécution des activités Entrées/sorties : profil d'arrivée, durée des communications, temps de réaction. Interruptions : temps de réaction du système Fautes et exceptions matérielles ou logicielles.
La fiabilité (reliability) Un aspect important est la fiabilité d'un système. Si les composants matériels ou logiciels ne se sont pas fiables, on ne peut prédire le comportement du système. Ainsi, les systèmes temps réel sont souvent conçus de façon à être tolérants aux pannes (fault tolerant)
Les systèmes embarqués (embedded systems) Si l'intervention humaine directe est impossibles, on parle de systèmes embarqués. La connaissance a priori du comportement de tels systèmes est essentielle. Ce sont souvent des systèmes dédiés (dedicated) à la fois du point de vue matériel et logiciel, pour les besoins d'une application spécifique. Définition : Système informatique dans lequel le processeur est englobé dans un système plus large et/ou le logiciel est entièrement dédié à une application donnée.
Systèmes répartis Un système réparti est un ensemble de machines autonomes connectées par un réseau, et équipées d'un logiciel dédié à la coordination des activités du système ainsi qu'au partage de ses ressources. Le système est généralement réparti et temps réel pour des raisons de fiabilité, contraintes industrielles, partage de ressources. Fiabilité = redondance ressources partagées : Données perifiériques.
Exemple d'applications temps réel Un Robot Un combiné de radio téléphone GSM Un système de Vidéo Conférence
Système embarqué : Sony playstation 2
Un système de Vidéo Conférence Ces caractéristiques ? Prise en compte du temps Expression des contraintes temporelles Contraintes dures ou non Système : dédié, embarqué, général
Un système de Vidéo Conférence 1 On veut bâtir un système de vidéo conférence sur un réseau local Le système numérise le signal vidéo Il le transforme en séquence d'images (30 trames/seconde) A cause du débit du réseau, il faut compresser l'image avant de la transmettre Les opérations, compression, accès au réseau sont effectués par des périphériques matériels spécialisés pilotés par des logiciels de la station
Un système de Vidéo Conférence 2 Plusieurs opérations doivent s'enchaîner dans le temps ; Numération, Compression, la transmission. La somme des temps donne le temps de latence du système, c'est à dire le temps mesuré entre l'instant où le signal commence à être numérisé et l'instant où la première trame est envoyée sur le réseau. Il faut minimiser ce temps de latence Le système doit réduire le temps passé entre l'envoi de deux trames successives. Pour cela pendant la compression, on numérise une autre image et pendant la transmission une image peut être compressée : Les traitements sont effectués en cascade.
Un système de Vidéo Conférence 3 Mais cet enchaînement ne peut se faire n'importe comment. Les activités sont synchronisées les unes par rapport aux autres. Si l'on connaît le temps passé dans chaque module on peut fixer cette synchronisation. Mais un réseau local est partagé par plusieurs stations . On a des phénomènes de surcharge, il faut donc passer à un mode dégradé (soft contraintes); Conclusion Le système comporte des contraintes temporelles. A certains moments, elles tolèrent ne pas être respectées. Son architecture est générale, elle peut être reprise pour faire fonctionner d'autres types d'applications.
Limitations des systèmes classiques Ils sont trop mal adaptés Les politiques d'ordonnancement des activités mise en œuvre partagent équitablement le temps d'exécution. Les mécanismes d'accès aux ressources partagées et de synchronisation doivent être adaptés, afin d'éliminer les incertitudes temporelles. L'utilisation des caches engendrent des fluctuations dans le temps d'exécution des activités du système. Solution Il faut pouvoir indiquer au support d'exécution le degré d'urgence d'une activité ou d'une interruption pour éliminer les sources d'incertitudes temporelles.
Exercices Répondre par oui ou par non. Un système temps réel est un système classique mais qui va plus vite. Le système qui contrôle un ascenseur est un système temps réel. On peut exécuter une application temps réel sur n'importe quel système.
Conclusion Classement des systèmes temps réel selon : Leur besoin en garantie de service. Il existe plusieurs niveaux de contraintes Système temps réel dur ou critique Système temps réel souple Leur environnement Système embarqués ou enfouis Système répartis