Contraintes temps réel
Objectifs
- Comprendre la notion de système temps réel et ses contraintes
- Distinguer les systèmes temps réel dur et souple
- Identifier des exemples concrets de systèmes embarqués temps réel dans la vie quotidienne
Introduction
Imaginez un airbag qui se déclenche quelques secondes après un accident, ou un pilote automatique d'avion qui réagit avec un temps de latence. Ces systèmes seraient catastrophiques ! Dans le monde de l'embarqué, certaines tâches doivent être exécutées dans un délai IMPÉRATIF. C'est le domaine fascinant et critique des contraintes temps réel.
Comment les systèmes informatiques embarqués garantissent-ils l'exécution de tâches dans des délais stricts et prévisibles ?
Qu'est-ce qu'un système temps réel ? Définition et enjeux
Un système temps réel est un système informatique dont la correction ne dépend pas seulement du résultat logique des calculs, mais aussi du moment où ce résultat est produit. Autrement dit, il doit fournir la bonne réponse, au bon moment. Le délai maximum autorisé pour une réponse est appelé l'échéance (ou deadline). Si cette échéance n'est pas respectée, le système échoue. Cette notion est fondamentale dans les systèmes embarqués, où l'ordinateur est intégré dans un dispositif plus large (voiture, avion, robot, appareil médical). Contrairement à un ordinateur classique où un ralentissement est gênant (une vidéo qui lag), dans un système temps réel, un ralentissement peut être dangereux. Prenons l'exemple du système de freinage ABS d'une voiture : les capteurs mesurent la rotation des roues plusieurs centaines de fois par seconde. Le calculateur doit analyser ces données et, si nécessaire, moduler la pression de freinage en quelques millisecondes pour éviter le blocage des roues. Un retard de traitement rendrait le système inefficace et pourrait provoquer un accident.
Points clés
- La correction dépend du résultat ET du temps de réponse.
- L'échéance (deadline) est le délai maximum autorisé pour une tâche.
- Ces systèmes sont souvent embarqués et interagissent avec le monde physique.
Temps réel 'dur' vs temps réel 'souple' : une différence cruciale
Tous les systèmes temps réel n'ont pas le même niveau d'exigence. On distingue deux grandes catégories. 1. Le temps réel DUR (ou strict) : Le non-respect d'une échéance entraîne une défaillance catastrophique du système, pouvant mettre en danger des vies humaines ou causer des dégâts matériels importants. La conséquence est inacceptable. Les exemples sont nombreux : le système de contrôle des airbags (l'échéance est de l'ordre de la dizaine de millisecondes après un choc), le pilotage automatique d'un avion de ligne, un stimulateur cardiaque (qui doit délivrer une impulsion électrique à un moment très précis), ou les systèmes de contrôle des robots sur une chaîne de montage. 2. Le temps réel SOUPLE (ou mou) : Le non-respect d'une échéance dégrade la qualité du service ou la performance, mais n'entraîne pas de catastrophe. Le système reste utilisable. Un exemple classique est la lecture d'un flux vidéo en streaming : si quelques trames sont en retard, l'image peut brièvement se figer ou la qualité baisser, mais le film continue. Un autre exemple est l'interface tactile d'un smartphone : un léger retard entre le toucher et la réaction est frustrant, mais n'a pas de conséquence grave. Cette distinction est essentielle pour choisir l'architecture matérielle et logicielle adaptée à un système.
Points clés
- Temps réel DUR : non-respect = échec catastrophique (sécurité).
- Temps réel SOUPLE : non-respect = dégradation de la qualité de service.
- La catégorie détermine les choix technologiques et le niveau de garantie nécessaire.
Applications pratiques
Les systèmes embarqués temps réel sont omniprésents dans notre environnement. Dans la domotique, le thermostat d'un chauffage qui régule la température doit réagir dans un certain délai pour maintenir le confort (temps réel souple). Dans les transports, c'est le cœur du sujet : les systèmes électroniques d'une voiture (ECU) gèrent l'injection de carburant, l'allumage, la stabilité (ESP), tous avec des contraintes temps réel dures pour la sécurité. Un drone doit constamment ajuster la vitesse de ses moteurs pour rester stable en vol, sous la contrainte de la gravité ! Dans l'industrie, les automates programmables contrôlent les machines-outils sur les chaînes de production, où un mouvement doit être parfaitement synchronisé. Dans le domaine médical, un respirateur artificiel ou une pompe à insuline automatisée sont des systèmes temps réel durs par excellence : une erreur de timing peut être fatale. Même dans les loisirs, une console de jeu vidéo doit calculer et afficher les images à un rythme régulier (par exemple 60 images par seconde) pour une expérience fluide, c'est une contrainte temps réel souple.
Points clés
- Transports : sécurité automobile (ABS, ESP), aviation, drones.
- Industrie : robots et automates de production.
- Médical : dispositifs de maintien des fonctions vitales.
- Multimédia : lecture fluide de flux audio/vidéo, jeux vidéo.
À retenir
Un système temps réel est caractérisé par le fait qu'il doit fournir un résultat correct dans un délai impératif, appelé échéance. On distingue les systèmes temps réel 'durs', où le dépassement de l'échéance a des conséquences catastrophiques (sécurité), des systèmes temps réel 'souples', où cela cause une simple dégradation de la qualité de service. Ces systèmes embarqués sont fondamentaux dans des domaines critiques comme les transports, la médecine et l'industrie.
- Un système temps réel doit être rapide ET prévisible (garantir les délais).
- La distinction temps réel DUR / temps réel SOUPLE est basée sur la gravité des conséquences d'un retard.
- Ces systèmes sont au cœur des dispositifs embarqués de sécurité et d'automatisation qui nous entourent.
