Temps réel

Définition, exemples et bonnes pratiques

À retenir

  • Le temps réel est une question de déterminisme (respect d'un délai) et non seulement de rapidité.
  • Une réponse exacte arrivée trop tard est considérée comme une erreur dans les systèmes critiques.
  • Il nécessite souvent une architecture matérielle et logicielle dédiée pour garantir que les tâches prioritaires ne sont jamais interrompues.

En informatique, le temps réel désigne la capacité d'un système à traiter des informations et à fournir une réponse dans un délai strictement défini et garanti. Contrairement à une idée reçue, cela ne signifie pas forcément que le système est ultra-rapide, mais plutôt qu'il est prévisible : l'action doit se produire avant une échéance précise, sans quoi le système est considéré comme défaillant. Imaginez un airbag : peu importe la puissance du processeur, s'il se déclenche avec une seconde de retard, il a échoué dans sa mission.

Étymologie

Traduction directe de l'anglais real-time. Historiquement, le terme vient du monde de la navigation et des compétitions sportives (comme la voile) pour désigner la durée effective d'une épreuve, sans tenir compte des compensations ou handicaps. En informatique, il est apparu avec les premiers ordinateurs de contrôle industriel pour distinguer les systèmes réagissant aux événements physiques des systèmes de calcul classiques.

Exemples d'usage

  • Le système de freinage ABS d'une voiture, qui doit relâcher la pression sur les roues plusieurs fois par seconde de manière synchronisée avec la glisse.
  • Le pilotage automatique d'un drone, qui ajuste les moteurs en permanence pour maintenir la stabilité face au vent.
  • La diffusion d'un flux vidéo en direct (streaming), où les images doivent arriver régulièrement pour éviter les saccades.

Cas d'usage

Ce concept est omniprésent dans les systèmes embarqués (automobile, aéronautique), l'industrie (automates de production), la finance (trading haute fréquence) et le multimédia (jeux vidéo, audio professionnel). On distingue souvent le temps réel dur (une seconde de retard est une catastrophe) du temps réel souple (un léger retard réduit la qualité mais n'est pas critique).

Bonnes pratiques

Pour concevoir un tel système, il faut éviter les processus qui bloquent le processeur de façon imprévisible, comme les nettoyages de mémoire automatiques (Garbage Collection) trop longs. On utilise généralement des systèmes d'exploitation spécifiques appelés RTOS (Real-Time Operating Systems) qui privilégient le respect des priorités sur la vitesse pure.

Synonymes

système réactif traitement immédiat déterminisme temporel

Antonymes

temps différé traitement par lots asynchrone batch processing

Conseil

Si vous débutez, ne confondez pas 'temps réel' et 'vitesse de calcul'. Un ordinateur très lent qui garantit une réponse en exactement 1 seconde est un système temps réel, alors qu'un supercalculateur qui répond en 0,001 seconde la plupart du temps mais prend 2 secondes une fois par jour ne l'est pas.

Questions fréquentes

Est-ce que Windows ou macOS sont des systèmes temps réel ?

Non, ce sont des systèmes d'exploitation à usage général. Ils privilégient le confort de l'utilisateur et peuvent parfois 'geler' quelques millisecondes pour des tâches de fond, ce qui est incompatible avec le temps réel strict.

Quelle est la différence entre temps réel dur et souple ?

Dans le 'dur' (hard real-time), rater une échéance peut causer un accident physique. Dans le 'souple' (soft real-time), comme une conversation Skype, rater une échéance crée juste une gêne (micro-coupure).