Introduction aux systèmes temps réel

Transcription

Introduction aux systèmes temps réel
Introduction aux systèmes temps réel
Frank Singhoff
Bureau C-203
Université de Brest, France
LISyC/EA 3883
[email protected]
UE applications de l’informatique, Université de Brest – Page 1/22
Plan du cours
1. Concepts de base : c’est quoi un système temps réel.
2. Exemple d’un système temps réel critique : un système
automobile.
3. Exemple d’un système temps réel non critique : une
application multimédias.
4. Résumé, ce qu’il faut retenir.
UE applications de l’informatique, Université de Brest – Page 2/22
Présentation, définitions (1)
• "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].
• Objectifs :
Déterminisme logique : les mêmes entrées appliquées au système
produisent les mêmes résultats.
Déterminisme temporel : respect des contraintes temporelles (ex :
échéance).
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.
UE applications de l’informatique, Université de Brest – Page 3/22
Présentation, définitions (2)
• 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.
UE applications de l’informatique, Université de Brest – Page 4/22
Présentation, définitions (3)
• Classement des systèmes temps réel selon le
respect des contraintes temporelles :
Respect des contraintes déterministes, probabilistes ou
“best effort”.
Systèmes temps réel dur ou critique.
Systèmes temps réel mou ou souple.
Systèmes temps réel ouvert ou fermé.
UE applications de l’informatique, Université de Brest – Page 5/22
Présentation, définitions (4)
• Classement des systèmes temps réel selon leur environnement.
• 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. (ex : une sonde spatiale, un
téléphone mobile).
• 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." Coulouris et al. [COU 94].
• Système réparti temps réel pour des raisons de :
Fiabilité (redondance).
Contraintes physiques.
Partage des données, périphériques, ...
UE applications de l’informatique, Université de Brest – Page 6/22
Présentation, définitions (5)
• Problèmes liés aux systèmes embarqués :
Intervention humaine directe difficile voire impossible.
• Problèmes liés aux systèmes répartis :
Localisation des ressources (programmes,
périphériques, processeurs, ...).
Hétérogénéité (matériel et logiciel).
Performance (recouvrement des communications,
prédictibilité).
UE applications de l’informatique, Université de Brest – Page 7/22
Exemples de systèmes temps réel
• Préface d’un livre sur le temps réel souple : "This book is about
real-world programming ... So real-world programs (and real-world
programmers) are all around us. What characterizes all of these
real-world applications is a critical dependence on time." [GAL 95]
Transports : métro, aéronautique (avions, satellites, spacial), trains,
automobile, ...
Multimédias : décodeurs numériques openTV, décodeurs TNT,
MPEG, jeux vidéo. films d’animation.
Services téléphoniques : téléphone mobile, auto-commutateur.
Supervision médicale, écologique.
Système de production industriel : centrale nucléaire, chaîne de
montage, usine chimique.
Robotique (ex : PathFinder).
etc...
UE applications de l’informatique, Université de Brest – Page 8/22
Plan du cours
1. Concepts de base : c’est quoi un système temps réel.
2. Exemple d’un système temps réel critique : un système
automobile.
3. Exemple d’un système temps réel non critique : une
application multimédias.
4. Résumé, ce qu’il faut retenir.
UE applications de l’informatique, Université de Brest – Page 9/22
Exemple de l’automobile (1)
Architecture:
Matériel et logiciel dédiés : ECU = Electronic Control Unit
(processeur). CAN = Controller Area Network (réseau). Système
d’exploitation OSEK-VDX.
Système fermé, validé a priori.
Utilisation de redondance matérielle et logicielle et de matériel dont
le coût/fiabilité est élevé (sauf automobile).
UE applications de l’informatique, Université de Brest – Page 10/22
Exemple de l’automobile (2)
• Exigences des systèmes temps réel critiques :
Contraintes temporelles : temps de réponse, échéance,
date d’exécution au plus tôt, cadence, etc.
Dimensionnement au pire cas et réservation des
ressources.
• Exemple de l’ESP (Electronic Stability Program) :
Capteurs concernés : volant, roues.
Actionneurs : injection moteur, frein.
Contrainte : réaction sur les freins et l’injection suite à
un coup de volant brusque en moins de 150
milliseconde =⇒ temps de réponse ≤ 150 ms.
UE applications de l’informatique, Université de Brest – Page 11/22
Exemple de l’automobile (3)
• Système d’exploitation : couche logicielle qui gère les périphériques et founit une
interface simplifiée avec le matériel [TAN 01].
• Objectif :
Partager les ressources équitablement.
Abstraire le matériel et donc faciliter son utilisation.
Adapté à tous les types d’applications.
• Systèmes d’exploitation pour applications non temps réel : Windows, Linux, Mac-OS.
UE applications de l’informatique, Université de Brest – Page 12/22
Exemple de l’automobile (4)
30
Nombre d’entreprises utilisant le système
25
21.42
19.7
Pourcentage
20
15
12.84
10.19
10
6.64 5.96
III
sC
N
uc E
le
us
+
R
RT T
-L X
in
Ch ux
or
us
O
S
A
ut
re
s
S
in
do
w
X
O
M
iR
nx
RT
V
Ly
T
S9
O
W
W
in
do
w
sN
X
N
ire
Q
S
2.86 2.41 2.3 1.95
1.83 1.72 1.61
So
lu
tio
n
pr
op
rié
ta
O
ks
pS
or
W
vx
3.89
X
4.69
5
Systèmes temps réel embarqués
• Système d’exploitation pour le temps réel :
Très nombreux systèmes : un système d’exploitation pour un
domaine applicatif, voire une application.
Souvent simple, déterministe, de faible envergure, configurable.
UE applications de l’informatique, Université de Brest – Page 13/22
Exemple de l’automobile (5)
• Compilation croisée :
UE applications de l’informatique, Université de Brest – Page 14/22
Plan du cours
1. Concepts de base : c’est quoi un système temps réel.
2. Exemple d’un système temps réel critique : un système
automobile.
3. Exemple d’un système temps réel non critique : une
application multimédias.
4. Résumé, ce qu’il faut retenir.
UE applications de l’informatique, Université de Brest – Page 15/22
Exemple de Msn sur Internet (1)
• Architecture :
Plate-forme généraliste. Déterminisme temporel faible à cause du
matériel et du logiciel : PC + windows + Internet.
Application interactive.
Débits variables et difficiles à estimer hors ligne (codage des
informations).
UE applications de l’informatique, Université de Brest – Page 16/22
Exemple de Msn sur Internet (2)
• Exigences pour cette application multimédia (qui est
un système temps réel non critique) :
Contraintes temporelles différentes : synchronisations
intra et inter-flux, latence de bout en bout, ...
Système ouvert, impossible de valider a priori.
Impossible de réserver les ressources ou d’analyser les
besoins : on fait au mieux ("best-effort").
Besoin en matériel quasi-infini !
UE applications de l’informatique, Université de Brest – Page 17/22
Exemple de Msn sur Internet (3)
• Exemples de contraintes :
1. Contraintes spaciales :
Audio qualité voie téléphonique : 64 Kbits/s
Audio qualité CD : 1,4 Mbits/s
Vidéo MPEG 2 CBR : 2 Mbits/s (cf. TV numérique)
2. Contraintes temporelles :
Intra-flux vidéo : cadence de 40 ms (Europe, PAL/SECAM) ou 33
ms (USA, NTSC)
Voix-lèvres (inter-flux) : variation de +/- 80 ms maximum (gigue)
Téléphonie : délais de bout en bout ≤ 250 ms
=⇒ Contraintes temporelles très contextuelles (type de films, capacité de
perception du spectateur).
UE applications de l’informatique, Université de Brest – Page 18/22
Plan du cours
1. Concepts de base : c’est quoi un système temps réel.
2. Exemple d’un système temps réel critique : un système
automobile.
3. Exemple d’un système temps réel non critique : une
application multimédias.
4. Résumé, ce qu’il faut retenir.
UE applications de l’informatique, Université de Brest – Page 19/22
Résumé, ce qu’il faut retenir
Systèmes temps réel : systèmes informatiques contraints par le
temps. De très nombreux systèmes informatiques sont temps réel.
Systèmes temps réel critiques et non critiques.
Systèmes temps réel critiques :
Conséquences tragiques (vies humaines, faillites économiques).
en cas de non respect des contraintes temporelles.
Logiciels, matériels spécifiques.
Systèmes temps réel non critiques :
Conséquences mineures en cas de non respect des contraintes
temporelles (ex: application multimédias).
Logiciel et matériel généralistes.
UE applications de l’informatique, Université de Brest – Page 20/22
Références (1)
[COU 94] G. Coulouris, J. Dollimore, and T. Kindberg.
Distributed Systems—Concepts and Design, 2nd Ed.
Addison-Wesley Publishers Ltd., 1994.
[DEM 99] I. Demeure and C. Bonnet. Introduction aux
systèmes temps réel. Collection pédagogique de
télécommunications, Hermès, septembre 1999.
[DOR 91] A. Dorseuil and P. Pillot. Le temps réel en millieu
industriel. Edition DUNOD, Collection Informatique
Industrielle, 1991.
UE applications de l’informatique, Université de Brest – Page 21/22
Références (2)
[GAL 95] B. O. Gallmeister. POSIX 4 : Programming for the
Real World . O’Reilly and Associates, January 1995.
[STA 88] John Stankovic. « Misconceptions about real-time
computing ». IEEE Computer, October 1988.
[TAN 01] A. Tanenbaum. Modern Operating Systems.
Prentice-Hall, 2001.
UE applications de l’informatique, Université de Brest – Page 22/22