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