3. STR
Prof.M.K.MANSOURI
3
Objectifs du cours ?
Systèmes temps réel–Première partie–plan du cours
1. Qu’est ce qu’un système temps réel ?
2. Objectifs et fonctionnalité d’un système temps réel
3. Échelle de temps et temps de réponse
4. Sévérité des contraintes et échelle de temps
5. Expression des contraintes temps réel
6. Exemples de grandeurs
7. Quelques exemples de systèmes temps réel
8. Exemple typique
9. Exercices
10. Système temps réel : Notion d’échéance
11. Catégories de systèmes temps réel
12. Terminologie de fonctionnement d’un Système temps réel
13. Structures générales d’un système temps réel
14. Système temps réel et son environnement
15. Conception d’un système temps réel
16. Exemples généraux et spécifiques de systèmes temps réel
4. STR
Prof.M.K.MANSOURI
4
Objectifs
qu’est-ce qu’un système temps réel ?
comment vérifier a priori le comportement
« ordonnancement »
comment implémenter le comportement
« les outils de programmation »
5. STR
Prof.M.K.MANSOURI
5
1.1 Qu’est ce qu’un système temps réel (1) :
STR- 1. Introduction aux systèmes temps réel
Définition :
Systèmes dont la correction ne dépend pas
seulement des valeurs des résultats produits
mais également des
délais dans lesquels les résultats sont produits
•le système doit répondre a des stimuli
externes sous un délai spécifié,
•l’absence de réponse est aussi grave
qu’une réponse erronée, voire plus.
6. STR
Prof.M.K.MANSOURI
6
1.1 Qu’est ce qu’un système temps réel (2) :
STR- 1. Introduction aux systèmes temps réel
•C’est un système qui interagit avec un environnement externe
qui lui-même évolue avec le temps,
•qui réalise certaines fonctionnalités en relation avec
cet environnement,
•Et qui exploite des ressources limitées.
7. STR
Prof.M.K.MANSOURI
7
1.1 Qu’est ce qu’un système temps réel (3) :
STR- 1. Introduction aux systèmes temps réel
système temps réel : qui doit fournir un service
dans un contexte où le temps intervient
évolution du système (système réactif)
contraintes de temps (échéances)
par opposition aux systèmes interactifs ou
transformationnels
systèmes embarqués :
autonomes, avec un fort couplage entre le matériel
et le logiciel
utilisation dans un but très précis
souvent inclus dans un système plus vaste
~ 90% du marché des processeurs
8. STR
Prof.M.K.MANSOURI
8
1.1 Qu’est ce qu’un système temps réel (4) :
STR- 1. Introduction aux systèmes temps réel
Non seulement des résultats exacts
mais aussi fournis dans un temps donné, compatible
avec l'évolution du système :
dans un système temps réel, un résultat de calcul
mathématiquement exact mais arrivant au-delà
d'une échéance pré-définie est un résultat faux
l'échelle de temps dépend du système :
de quelques millisecondes pour un
système de navigation aérienne
à plusieurs minutes ou heures pour
contrôle d'un réacteur chimique
9. STR
Prof.M.K.MANSOURI
9
1.2 Objectifs et fonctionnalité d’un système temps réel (1) :
STR- 1. Introduction aux systèmes temps réel
Exactitude logique (logical correctness) : sorties
adéquates en fonction des entrées, assurant le
comportement désiré pour le système suite à des
événements et aux données communiquées,
Exactitude temporelle (timeliness) : respect des
contraintes temporelles (ex : échéance). Les sorties sont
présentées au bon moment,
Plusieurs contraintes à vérifier pour qu ’un système temps
réel soit fonctionnel (1) :
Déterminisme logique : les mêmes entrées appliquées au
système produisent les mêmes résultats,
10. STR
Prof.M.K.MANSOURI
10
1.2 Objectifs et fonctionnalité d’un système temps réel (2) :
STR- 1. Introduction aux systèmes temps réel
Fiabilité : le système répond à des contraintes de
disponibilité (fiabilité du logiciel et du matériel).
=> Système prédictible : on cherche à déterminer a priori si
le système va répondre aux exigences temporelles.
Un système temps réel n’est pas un système "qui va vite"
mais un système qui satisfait à des contraintes
temporelles.
Plusieurs contraintes à vérifier pour qu’un système temps
réel soit fonctionnel (2) :
11. STR
Prof.M.K.MANSOURI
11
1.3 Échelle de temps et temps de réponse :
STR- 1. Introduction aux systèmes temps réel
Le rythme d’évolution de l’environnement détermine
l’échelle de temps relative à une contrainte temps réel.
Le temps de réponse d’un système en temps réel est la
durée entre la présentation des entrées à un système et
l’apparition des sorties suite aux traitements effectués
sur ces entrées par le système.
Le temps de réponse permet d’exprimer la contrainte et est
lié à l’échelle de temps d’évolution de l’environnement.
12. STR
Prof.M.K.MANSOURI
12
1.4 Sévérité des contraintes et échelle de temps :
STR- 1. Introduction aux systèmes temps réel
La sévérité et l’échelle de temps d’une contrainte ne
sont pas nécessairement liées
Combinaison possible de niveaux de sévérité et
d’échelles de temps différentes dans un même système
La sévérité des contraintes est généralement une
caractéristique prédominante dans un système temps
réel
Le temps de réponse est plus souvent lié à la
technologie et aux ressources matérielles utilisées
13. STR
Prof.M.K.MANSOURI
13
1.5 Expression des contraintes temps réel :
STR- 1. Introduction aux systèmes temps réel
Répondre à un événement en un temps donné :
temps de réponse borné de façon absolue,
Effectuer certaines opérations à un instant donné
temps de réponse moyen
agenda
Traiter un nombre donné d'événements par unité de
temps :
producteurs ou consommateurs d'événements
à un rythme donné
14. STR
Prof.M.K.MANSOURI
14
1.6 Exemples de grandeurs :
STR- 1. Introduction aux systèmes temps réel
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.
15. STR
Prof.M.K.MANSOURI
15
1.7 Quelques exemples de STR (1) :
STR- 1. Introduction aux systèmes temps réel
Transports : métro, aéronautique (avions, satellites,
spatial), contrôle de véhicules (automobiles, trains, …),
Robotique (ex : PathFinder),
systèmes militaires de contrôle / commande,
Contrôle de processus industriels, Système de
production industriel : centrale nucléaire, chaîne de
montage, usine chimique,
contrôle du trafic (aérien, terrestre),
16. STR
Prof.M.K.MANSOURI
16
1.7 Quelques exemples de STR (2) :
STR- 1. Introduction aux systèmes temps réel
Supervision médicale, écologique.
…etc.
Services téléphoniques : téléphone mobile,
autocommutateur.
Multimédias : décodeurs numériques openTV,
décodeurs TNT, MPEG, jeux vidéo. films d’animation.
20. STR
Prof.M.K.MANSOURI
20
1.9 Quelques exemples : Exercice :
STR- 1. Introduction aux systèmes temps réel
Une application gestion de colis est-elle TR ?
Discuter les exemples.
Une application paie est-elle TR ?
Un système de freinage est-il Temps Réel ?
Une carte à puce est-elle un STR ?
Le système de pilotage d’un satellite est-il TR ?
Une téléphone GSM est-il un STR ?
21. STR
Prof.M.K.MANSOURI
21
1.10 STR : Notion d’échéance (1) :
STR- 1. Introduction aux systèmes temps réel
Définition : On appelle échéance une contrainte temps
à laquelle doit au plus tard se produire un événement.
Les systèmes sont classifiés par rapport à la tolérance
aux échéances.
22. STR
Prof.M.K.MANSOURI
22
1.10 STR : Notion d’échéance (2) :
STR- 1. Introduction aux systèmes temps réel
Échéance dure (hard deadline) : dans ce cas l’arrivée
après échéance d’un événement attendu déclenchera
une exception (gestion d’erreurs)
Échéance lâche (molle) (soft deadline), dans ce cas
l’arrivée après échéance d’un événement attendu ne
déclenchera pas une exception (gestion d’erreurs)
On peut noter deux types d’échéances :
23. STR
Prof.M.K.MANSOURI
23
1.11 : Catégories de systèmes temps réel (1) :
STR- 1. Introduction aux systèmes temps réel
Les systèmes temps réel peuvent se classer, selon le respect
des contraintes temporelles, en trois catégories :
Temps réel dur ou critique (hard real time) :
lorsqu’un résultat arrivant en retard provoque un
accident fatal au système (génération d'une exception).
C’est aussi un système dans lequel certaines échéances ne
doivent en aucun cas être dépassées.
Exemples : système de contrôle d’avion, système de
conduite de missile,
24. STR
Prof.M.K.MANSOURI
24
1.11 : Catégories de systèmes temps réel (2) :
STR- 1. Introduction aux systèmes temps réel
Temps réel mou ou souple (soft real time) : réduction
progressive de l’intérêt d’un résultat arrivant en retard pour
le système. l’arrivée exceptionnelle après échéance d’un
événement attendu ne mettra pas le système en danger
(erreur)
Exemple : système de distribution de son (streaming), système
d'acquisition de données pour affichage.
La distinction entre les trois est une notion assez floue
Temps réel ferme (firm real time): lorsqu’un résultat
arrivant en retard n’a plus d’importance pour le système.
C’est aussi un système dans lequel le dépassement
occasionnel des échéances ne met pas le système en
difficulté.
Exemple : projection vidéo
25. STR
Prof.M.K.MANSOURI
25
1.11 : Catégories de systèmes temps réel (3) :
STR- 1. Introduction aux systèmes temps réel
Temps réel dur :
La réponse du système dans les délais est vitale
L’absence de réponse est catastrophique (plus qu’une
réponse incorrecte)
Exemples : Contrôle aérien, contrôle d’une centrale nucléaire…
26. STR
Prof.M.K.MANSOURI
26
1.11 : Catégories de systèmes temps réel (4) :
STR- 1. Introduction aux systèmes temps réel
Temps réel ferme :
La réponse du système dans les délais est essentielle. Le
résultat ne sert plus a rien une fois le deadline passe.
Exemples : transactions en bourse…
(définition alternative : la pénalité de non-réponse est dans le
même ordre de magnitude que la valeur de la réponse)
(c’est subjectif : le temps réel ferme de l’un peut être le temps
réel dur de l’autre)
27. STR
Prof.M.K.MANSOURI
27
1.11 : Catégories de systèmes temps réel (5) :
STR- 1. Introduction aux systèmes temps réel
Temps réel mou :
La réponse du système après les délais réduit
progressivement sont intérêt.
Les pénalités ne sont pas catastrophiques.
Exemples : logiciel embarqué du téléphone portable, iPod, ...etc.
28. STR
Prof.M.K.MANSOURI
28
1.11 : Catégories de systèmes temps réel (6) Classification :
STR- 1. Introduction aux systèmes temps réel
…en fait, la fermeté est une caractéristique de chaque
échéance (deadline)
critère de respect des contraintes temporelles :
dans un système donné, des tâches temps réel dures et
lâches peuvent cohabiter, éventuellement avec des
tâches sans contraintes temporelles.
complexe, doit être défini pour chaque tâche dans le
cas d'une application temps réel lâche. On parle de
Qds (Qualité de service, de seuil d’acceptabilité, …)
booléen pour le temps réel dur : vrai/faux; ça passe ou
ça casse !
un même système peut avoir des sous-systemes TR
dur, TR-ferme ou TR-mou.
29. STR
Prof.M.K.MANSOURI
29
1.12 : Terminologie de fonctionnement d’un STR (1) :
STR- 1. Introduction aux systèmes temps réel
La prévisibilité est ce que qui permet de déterminer à
l’avance si un systèmes temps réel va respecter ses
contraintes temporelles.
PRÉVISIBILITÉ :
Le déterminisme est le but que l’on cherche à atteindre
afin de prédire le comportement temporel d’un système
temps réel : il s’agit d’enlever toute incertitude sur le
comportement des activités individuelles et sur leurs
comportements quand elles sont mises ensemble dans
le contexte d’exécution du système.
DÉTERMINISME :
30. STR
Prof.M.K.MANSOURI
30
1.12 Terminologie de fonctionnement d’un STR (2) :
STR- 1. Introduction aux systèmes temps réel
La source de non déterminisme :
charge de calcul,
entrées/sorties,
Interruptions,
fautes et exceptions matérielle ou logicielles
la fiabilité est la capacité d'un système qui exécute et
maintient ses fonctions dans des environnements
normaux, aussi bien que des environnements hostiles
ou inattendus.
FIABILITÉ :
31. STR
Prof.M.K.MANSOURI
31
1.12 : Terminologie de fonctionnement d’un STR (3) :
Exercice :
STR- 1. Introduction aux systèmes temps réel
o Interruptions,
Quels sont les facteurs de non-déterminisme en
temps d’exécution dans un ensemble (machine +
système d’exploitation) ?
o temps calcul,
o Entrées / sorties,
o mémoires (caches, MV,...)
o ordonnancement des tâches
o etc...
33. STR
Prof.M.K.MANSOURI
33
1.13 : Structures générales d’un STR (2) :
STR- 1. Introduction aux systèmes temps réel
Ce noyau temps réel va offrir des services au(x)
logiciel(s) d'application; ces services seront basés sur
les ressources disponibles au niveau du matériel.
Un système temps réel est une association logiciel-
matériel où le logiciel permet, entre autre, une gestion
adéquate des ressources matérielles en vue de remplir
certaines tâches ou fonctions dans des limites
temporelles bien précises,
La partie du logiciel qui réalise cette gestion est le
système d'exploitation ou noyau temps réel,
34. STR
Prof.M.K.MANSOURI
34
1.13 : Structures générales d’un STR (3) :
STR- 1. Introduction aux systèmes temps réel
L’architecture d'un système informatique temps réel est
la suivante :
35. STR
Prof.M.K.MANSOURI
35
1.14 : Système temps réel et son environnement (1) :
STR- 1. Introduction aux systèmes temps réel
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."
Systèmes embarqués, ou Embedded systems, ou
systèmes enfouis : systèmes informatiques dans lequel
le processeur/calculateur est englobé dans un système
plus large et/ou que le logiciel est entièrement dédié à
une application donnée. (exemple : une sonde spatiale,
un téléphone mobile).
36. STR
Prof.M.K.MANSOURI
36
1.14 : Système temps réel et son environnement (2) :
STR- 1. Introduction aux systèmes temps réel
Le système TR contrôle un système plus large (le
système contrôlé).
Les capteurs scrutent les événements du système
contrôlé, fournissent des mesures, ...
Les actionneurs agissent sur le fonctionnement en
fonction des traitements du STR sur le système contrôlé
37. STR
Prof.M.K.MANSOURI
37
1.14 : Système temps réel et son environnement (3)
classification :
STR- 1. Introduction aux systèmes temps réel
STR piloté par les événements : le STR réagit en
fonction d’états préétablis et atteints (temps,
température,…)
STR piloté par le temps : le STR réagit sur des
échéances régulières définis par un temps interne au
système,
Il sera qualifié de réactif, si il doit réagir à un
événement en temps imparti.
38. STR
Prof.M.K.MANSOURI
38
1.14 : Système temps réel et son environnement (4)
Exemple : le contrôleur :
STR- 1. Introduction aux systèmes temps réel
Les systèmes temps réel sont souvent embarques dans
un équipement spécialisé, leur but étant de contrôler
l’équipement et/ou son environnement
Environ 99% des processeurs produits dans le monde
sont dédiés aux systèmes embarques
39. STR
Prof.M.K.MANSOURI
39
1.14 : Système temps réel et son environnement (5) :
STR- 1. Introduction aux systèmes temps réel
Système réparti temps réel pour des raisons de :
Contraintes physiques.
Fiabilité (redondance).
Partage des données, périphériques, ...
Problèmes liés aux systèmes embarqués :
Intervention humaine directe difficile voire impossible.
Problèmes liés aux systèmes répartis :
Hétérogénéité (matériel et logiciel).
Localisation des ressources (programmes,
périphériques, processeurs, ...).
Performance (recouvrement des communications,
prédictibilité).
40. STR
Prof.M.K.MANSOURI
40
1.15 : Conception d’un système temps réel :
STR- 1. Introduction aux systèmes temps réel
Description et expression des contraintes temps réel,
Représentation simultanée de l’évolution logique et
temporelle du système,
Prédiction et estimation des temps de réponse,
Sélection de l’architecture, du matériel et du logiciel,
Compromis et équilibre matériel-logiciel.
Le matériel conditionne les coûts de production,
Le logiciel conditionne les coûts de développement,
41. STR
Prof.M.K.MANSOURI
41
1.16 : Exemples généraux de systèmes temps réel :
STR- 1. Introduction aux systèmes temps réel
Contrôle des fonctions d'un véhicule automobile
Guidage d'une fusée
Simulateur de vol
Commutateur de réseau ou de téléphonie
Téléphone cellulaire numérique
Contrôle d'une unité de production industrielle (chaîne
de montage, usine chimique, traitement des eaux,
centrale nucléaire...)
Contrôle des fonctions d'un satellite de télécommunication
Robotique (ex : PathFinder).
…etc.
42. STR
Prof.M.K.MANSOURI
42
1.19 : Exemple : Bases de données temps réel :
STR- 1. Introduction aux systèmes temps réel
Cotations boursières, enchères sur Internet, … etc.
Cohérence temporelle absolue
Toutes les données d’un même ensemble doivent
être rafraîchies avant un seuil de temps
Cohérence temporelle relative.
1.20 : Exemple : Flux de données multimédia :
Son :
Si image alors synchronisation image/son < 80msec
Tél: 16kbds, 192 Kbds qualité CD
Dans la QdS doivent être pris en compte : délai,
régularité et synchronisation