Vous êtes sur la page 1sur 60

SYSTÈMES TEMPS RÉEL

Maher JAOUADI
Janvier 2018
Définition 1
Un système temps réel se compose d'un ou
plusieurs sous-systèmes devant répondre en un
temps fini et spécifié à des stimuli générés par le
monde extérieur

Un résultat hors échéance reste faux même s’il s’avère


logiquement correct
• Exemples
Un contrôleur de vitesse pour voiture, une machine à laver,
un robot d'entrepôt, un pilotage automatique de TGV, une
centrale nucléaire, un système international de routage
aérien, un système de gestion de salle de marché, etc.
Définition 2
Le comportement d'un système informatique
est qualifié de « temps réel » lorsqu'il est
assujetti à l'évolution d'un procédé qui lui est
connecté et qu'il doit piloter ou suivre en
réagissant à tous ses changements d'états .

Groupe CNRS sur la problématique temps réel 1988


Définition 3
Un système temps réel est défini comme un
système dont le comportement dépend :
• De l'exactitude des traitements effectuées
• Du temps où les résultats sont produits

Un retard = le fait de rater une échéance =


erreur du système.
Définition 4
"En informatique temps réel, le comportement
correct d’un système dépend, non seulement
des résultats logiques des traitements, mais
aussi du temps auquel les résultats sont
produits" [STA 88].

Un système temps réel n’est pas un système


« qui va vite » mais un système qui satisfait à
des contraintes temporelles.
Définition suite
Exemples de grandeur [DOR 91, DEM 99] :
• La milliseconde pour les systèmes radar.
• La seconde pour les systèmes de visualisation
humain.
• Quelques heures pour le contrôle de production
impliquant des réactions chimiques.
• 24 heures pour les prévisions météo.
• Plusieurs mois ou années pour les systèmes de
navigation de sonde spatiale.
Exemples de systèmes temps réel
Exemples de systèmes temps réel
Types de systèmes informatiques
1. Systèmes transformationnels (calcul
scientifique, gestion de BD)

• Les données sont disponibles au lancement


• Les instants de productions des résultats ne
sont pas contraints
Types de systèmes informatiques
2. Systèmes interactifs (systèmes
transactionnels ou outils bureautiques)

• Les résultats dépendent de données produites


par l'environnement
• Les instants de production respectent des
valeurs statistiques (souvent peu contraints)
Types de systèmes informatiques
3. Systèmes temps réel ou systèmes réactifs:
Systèmes embarqués

• Systèmes où l'intervention humaine est limitée (voire


absente)
• Résultats entièrement conditionnés par
l'environnement connecté
• Les instants de production dépendent de la dynamique
du procédé (environnement + traitement)
• Les instants de production sont fortement contraints
(survie du système)
Organisation schématique d’un
système temps réel
• L’ application doit disposer d’une
image précise et cohérente de la
réalité au cours du temps
• L’objectif du temps réel vise donc à
borner la différence entre l’image du
système dans la réalité et celle dans
l’application (|R(t)-A(t)| < Ɛ
• Pour actualiser l’image dans
l’application, celle-ci lit notamment
des capteurs périodiquement
(granularité temporelle pendant
laquelle les mesures évoluent
significativement)
Contraintes du temps réel
• Concordance des images du système
– Échelles de temps propres au système :
• Avion (m-sec), Auto (sec), Bateau (min)
– Régularité des scrutations et de leur propagation
• Échantillonnage, périodes, gigues, …
– Précisions logique et temporelle des calculs
• Justesse des calculs, disponibilité dans fenêtre de temps
• Cohérence temporelle
– Ensemble de mesures faiblement dispersées
• Réaction aux événements
– Calcul des actions vs réaction à un événement extérieur
• Réaction aux pannes, aux surcharges, aux conflits
– Importance # Urgence # Priorité
Notations
• Caractéristiques de la tâche ti
– Ci : durée de calcul de ti
– Si : date de démarrage de la tâche ti
• Avant l’heure ce n’est pas l’heure
– Di : date d’échéance de ti
• Après l’heure ce n’est plus l’heure
– Ti : période de ti
– Ui = Ci / Ti = utilisation du processeur pour ti
• Si + Ci < Di mais …
• Di < Ti n’est pas obligatoire
• Si peut être différent de 0 (problème d’écho)
Exemple : Tache périodique
Exemple : Tache périodique
Exemple : Tache périodique
Exemple : Tache périodique
Classification des systèmes temps réel
• Si le retard d' un traitement = exception
(traitement spécifique en cas d'erreur) : on parle
d'échéance dure, et il s'agit d'une défaillance
• Si le retard ne provoque pas d'exception:
échéance Lâche
• Un système dont aucune échéance ne doit être
dépassée: Temps réel dur (hard real time)
• Si un dépassement occasionnel ne met pas en
danger le système : temps réel lâche, ou mou
(soft real time)
Hard Real-Time - Temps réel strict
(dur)
Soft Real-Time - Temps réel souple
(mou)
Échec du respect de l’échéance
• Dans un système de temps réel strict, le non-respect de
l’échéance ne peut survenir
– Déterminisme maximal des opérations
• WCET : Worst Case Execution Time
– Réduction des points non-déterministes
• Pré-allocation des ressources
• Sur-dimensionnement du système
• Dans un système de temps réel souple, le non respect de
l’échéance est acceptable
– Dans un certain pourcentage
– Un certain nombre de fois
– Avec une certaine fréquence
– Peut aboutir à un traitement dégradé
Critical Real Time : Temps réel critique
– Terminologie qui met l'accent sur les
conséquences d'une défaillance du système et
concerne la sûreté de fonctionnement.
– Le système est critique si :
● Il y a des conséquences humaines en cas de
défaillance
(contrôle aérien, centrales nucléaires, etc...)
● Le coût financier d'une défaillance du système
est d'ordre supérieur à celui du système.
(exploration spatiale, etc...)
Propriétés
• Prévisibilité
• Déterminisme
• Fiablité
Prévisibilité
• Conception afin que les performances soient
définies dans le pire des cas
• Permet de déterminer à l'avance si un système
va respecter ses contraintes temporelles
• Nécessite un bonne connaissance des
paramètres liés aux calculs des activités =
déterminisme
Déterminisme
Enlever toute incertitude (= conserver la prévisibilité)
– Sur le comportement des activités individuelles
– Sur le comportement des activités groupées dans le
contexte d'exécution (+ordonnancement)
Sources de non déterminisme :
– Charge de calculs (variations des durées d'exécution des
activités)
– Entréessorties (temps de réaction, durée des
communications)
– Interruptions (temps de réaction du système)
– Fautes et exceptions matérielles ou logicielles = Fiabilité
Fiabilité
• Intervention humaine directe difficile (syst
temps réel embarqués)
• Conception tolérante aux fautes, pour
garantir le comportement du système et de
ses composants (prévisibilité => déterminisme
=> fiabilité)
• Temps de réaction cruciaux : conception de
système dédiés
Compromis hardware/software
• Capacités, propriétés natives (rapidité), fiabilité
du hardware
– Mémoire, cpu, com
• Poids des différents traitements pour mener à
bien une tâche donnée
– Algo, complexité
• Gestion du hardware pour permettre l'exécution
des traitements (noyau temps réel)
– ordonnancement, gestion de la mémoire, préemption,
etc...
Exemples
• Logiciel de contrôle d'un Combiné GSM:
– Embarqué
– Gestion des opérations de la couche physique
• Émission, réception, mesure des niveaux de réception, etc...
– Gestion des procédures logiques
• Localisation, mesures de qualité du lien radio,
– Gestion de la conversation
• Relais entre deux reseaux
– IHM
• Rédaction, navigation, etc...
Exemples
Système de Video conférence sur réseau local
– Numérisation du signal video
• Séquence de 30 images/s
• Compression
– Reseau
• Accès, envoi, réception
Exemples
Robot Autonome
– Robot type mars explorer:
– Aller du point A au point B sans être bloqué
• Navigation
• évitement d'obstacle
– Contrainte importantes car il en découle la « survie »
de la mission : le robot ne doit pas rester bloqué
– échantillonnage des capteurs de proximité
– Vitesse de déplacement
– Architecture de subsomption pour ordonnancer
navigation et évitement d'obstacles
Système et environnement
Interaction système environnement :
• A des moments déterminés par une référence de temps
interne au système : système pilotés par le temps (time
driven system) , programmée pour exécuter les
actions/lectures à intervalles réguliers fixés par un timer
(fonctionnement séquentiel) = systèmes synchrones
• A des moments déterminés par l'environnement luimême:
il attend les sollicitations et réagit à cellesci: système piloté
par les évènements (event driven system) = systèmes
asynchrones

Un système temps réel est composé d'un système


contrôlé et d'un système contrôleur
Système et environnement
Sous-systèmes du système temps réel
Un système temps réel se compose de plusieurs sous
systèmes répondant à des critères de temps réel.
Cependant, tous les sous-systèmes d’un système temps
réel ne répondent pas à des critères de temps réel !
• Les tâches temps réel critiques doivent absolument
respecter les échéances prévues.
• Les tâches temps réel non-critiques peuvent répondre
avec un certain retard sachant que la cohérence est
dégradée.
• Les autres tâches répondront au mieux.
Différentes catégories de systèmes
Mécanismes Fondamentaux
● Idée générale : revoir les mécanismes
fondamentaux d'un OS classique pour
comprendre les origines de la latence d'un
système.
● Latence :
– Délai global de bout en bout entre le changement
d'état dans un environnent et la réaction
correspondante en sortie du système
Mécanismes Fondamentaux
Il s'agit d'un délai composite qui comprend :
– Les délais de scrutation du système
– Les délais dus à l'os
– Les délais du calcul applicatif
– Les délais de transmission du message
Mécanismes Fondamentaux
Gigue sur la latence :
– Décrit l'incertitude sur la latence
– Problèmes d'accès aux ressources
– ordonnancement
Mécanismes Fondamentaux
Exemple (1) : système élémentaire
● Soit un système simple qui exécute un
programme unique :
– Acquisition des données
– Traitement (calcul)
– Restitution des résultats
Mécanismes Fondamentaux
● Exemple (1) : système élémentaire
Mécanismes Fondamentaux
• Phase 1
Mécanismes Fondamentaux
• Phase 2
Mécanismes Fondamentaux
• Phase 3
Mécanismes Fondamentaux
Exemple (1) : système élémentaire
– Traitement séquentiel suffisant
– Séquencement réglé par l'horloge
– Pas de concurrence entre les phases
– OS simple
– Seule la dimension des ressources
matérielles/logicielles est à prendre en compte
(faire face au pire des cas: simple)
Mécanismes Fondamentaux
Exemple (2) : système plus complexe :
– Un évènement survient à n'importe quel
moment :
instant d'apparition non maîtrisé (traitement
déjà en cours, ...)
– Il doit être pris en compte dans un délais
maximum donné.
Mécanismes Fondamentaux
Deux grands modèles d'interaction :
– Scrutation cyclique (polling)
– Interaction par interruptions
Mécanismes Fondamentaux
● Scrutation :
Le système prend l'initiative d'activer la
fonction qui va lire une entrée à un instant
programmé pour vérifier si un évènement a
eu lieu. Le plus souvent cette scrutation sera
faite périodiquement.
Mécanismes Fondamentaux
● Scrutation :
Boucle infinie :
Tant que données non disponibles
Vérifier les capteurs
Lire les capteurs
Traiter les données
Démarrer les réactions
Tant que action en cours
Vérifier les actionneurs
Mécanismes Fondamentaux
● Scrutation :
• Avantages :
– Latence du système = temps de traitement d'une
boucle
– Cas proche du système simple séquentiel vu
précédemment
– Simple à programmer
• Inconvénients
– « Alignement » de la boucle de traitements sur le
– périphérique le plus lent
– Programme difficile à maintenir
Mécanismes Fondamentaux
● Interaction par interruptions :
– Un signal hardware associé à l'arrivée d'un
événement déclenche l'activation de la fonction
qui va lire la donnée d'entrée. Le cours normal de
l'execution du programme est intérompu.
– Initialement introduit pour gérer les E/S d'un
processeur
– Concept étendu à la notion d'interruption
interne ou exception (trap) logicielle
Mécanismes Fondamentaux
● Interaction par interruptions :
Mécanismes Fondamentaux
● Interaction par interruptions :
1. Scrutation :
Boucle infinie :
tant que (état = données diponibles)
vérifier état des capteurs
lire les données mémorisées
remettre à zéro état des capteurs
Mécanismes Fondamentaux
● Interaction par interruptions :
2 gestionnaire d'interuption:

Lire et mémoriser la donnée


positionner (état = données diponibles)
acquitter l'interrupion
Mécanismes Fondamentaux
● Interaction par interruptions :
•Avantages :
– Le traitement d'un événement externe va être
partagé entre un traitement immédiat effecté par le
gestionnaire d'interruption et par une gestion
différée, confié à une tâche: traitement multitâche
possible.
•Inconvénients
–Une grande partie du temps cpu est consacré à autre
chose que l'application
–Programme difficile à maintenir
Mécanismes Fondamentaux
Les délais dus à l'os
Services de base:
– Execution d'un programme par le processeur
(éventuellement en concurrence :
ordonnancement)
– Gestion de la mémoire
– Partage des ressources
– Synchronisation, communication
– Gestion du temps, horloge
Mécanismes Fondamentaux
Les délais dus à l'os
Services de base:
– Execution d'un programme par le processeur
(éventuellement en concurrence :
ordonnancement)
– Gestion de la mémoire
– Partage des ressources
– Synchronisation, communication
– Gestion du temps, horloge
Mécanismes Fondamentaux
Les tâches :
– Programme :
● Objet statique : suite d'instructions agissant sur un ensemble de
données
– Processus :
● Objet dynamique géré par l'OS : tâche ou process
– Espaces mémoires séparés
– Communiquent par des canaux spéciaux
– Création coûteuse en temps
– Mécanismes de protection très coûteux
– Passage d'un processus à l'autre : coûteux transferts de mémoire
Mécanismes Fondamentaux
Processus :
– Zone programme
– Zone de données
– Zone de pile (données temporaires)
● Ensemble des informations caratérisant
l'execution d'un processus : contexte du processus
– Processus lourds (contexte important)
– Processus légers (contexte partagé/propre)
Mécanismes Fondamentaux
Gestion multitâche et ordonnancement :
– Un processus peut avoir plusieurs états:
● Courant : tâche élue, qui possède le processeur
● Prêt : tâche éligible, demande le processeur
● En attente : tâche bloquée en attente d'un événement
– Transition d'un état à un autre :
● Réveil : « en attente » à « prêt »
● Allocation : « prêt » à « courant »
● Préemption : « courant » à « prêt »
● Blocage : « courant » à « en attente »
Mécanismes Fondamentaux

Vous aimerez peut-être aussi