[PDF] Chapitre 3 : Les systèmes Temps Réel Caractéristiques d’un



Previous PDF Next PDF







Introduction aux Systèmes Temps Réel - STR

Exemples fournissant une définition intuitive d'un système temps réel: Exemple 1 [Laplante 2004]: Un avion utilise une séquence d'impulsions de l'accéléromètre pour déterminer sa position Exemple 2 [Laplante 2004]: Une usine nucléaire exige une réponse rapide à des événements qui se



Chapitre 3 : Les systèmes Temps Réel Caractéristiques d’un

Les systèmes informatiques temps réel sont aujourd'hui présents dans de nombreux secteurs d'activités : 1 dans l'industrie de production par exemple, au travers des systèmes de contrôle de procédé (usines, centrales nucléaires) ; 2 dans l’économie au travers du traitement des données boursières en « temps réel » ; 3



Systèmes et exécutifs temps-réel

Temps-réel strict/dur (hard real-time) : le non respect d’une contrainte de temps a des conséquences graves (humaines, économiques, écologiques) zBesoin de garanties Temps-réel souple/mou (soft real-time) : on peut tolérer le non respect occasionnel d’une contrainte de temps 6 Mauvaises interprétations de la notion de temps-réel



CEG4566/CSI4541 – Conception de systèmes temps réel

CEG4566/CSI4541 – Conception de systèmes temps réel Chapitre 6 – Vivacité, sécurité (Safety), fiabilité et tolérance aux fautes dans les systèmes en temps réel 6 1 Introduction générale aux notions de sécurité et de vivacité • Une propriété de sécurité indique que rien de mauvais ne peut arriver



Problématique des systèmes temps réel

LPMI – option IREEL Problématique des systèmes temps réel - 2005 Marie-Agnès Peraldi-Frati Exemple d’application robotique : le cycab • Véhicule électrique • conçus pour les zones à circulation restreinte – hyper-centre urbain – gare/aérogare – campus universitaire – site touristique



Informatique industrielle A7-19571 Systèmes temps-réel JF

Informatique industrielle A7-19571 Systèmes temps-réel J F Peyre Informatique industrielle A7-19571 Systèmes temps-réel J F Peyre Partie I : Introduction



Introduction aux systèmes embarqués temps réel

un standard incontournable de la programmation temps réel Cette interface de pro-grammation est en outre la plus flexible et la plus puissante, offrant la puissance du moniteur de Hoare par exemple, ce qui permet de créer tout outil de communication/ synchronisation Nous montrons ensuite comment l’utilisation d’AADL comme langage



Synthèse d’une conception UML temps-réel à partir de

Synthèse d’une conception UML temps-réel à partir de diagrammes de séquences L Apvrille 1 —— P de Saqui-Sannes2, 3 —— F Khendek4 1 GET/ENST, Institut Eurécom, BP 193, 2229 route des Crêtes, 06904 Sophia-

[PDF] commentaire la révélation du fléau la peste

[PDF] système temps réel définition

[PDF] la petite histoire facebook

[PDF] petite histoire pour dormir

[PDF] pour la petite histoire expression

[PDF] les types de lecture ? l'école primaire

[PDF] petite histoire synonyme

[PDF] pour la petite histoire définition

[PDF] projet de lecteur chauveau

[PDF] projet lecture cp rased

[PDF] projet personnel de lecture

[PDF] structure en couche d un systeme d exploitation

[PDF] projet de lecteur ouzoulias

[PDF] travailler le projet de lecteur

[PDF] structure d'un systeme d'exploitation

1

Chapitre 3 : Les systèmes Temps Réel

I. Définition En informatique, on parle d'un système temps réel lorsque ce système est capable de contrôler ou piloter un procédé physique à une vitesse adaptée à l'évolution du procédé contrôlé. Les systèmes informatiques temps réel se différencient des autres systèmes informatiques par la prise en compte de contraintes temporelles dont le respect est aussi important que l'exactitude du résultat, autrement dit le système ne doit pas simplement délivrer des résultats exacts, il doit les délivrer dans des délais imposés. Les systèmes informatiques temps réel sont aujourd'hui présents dans de nombreux secteurs d'activités :

1. dans l'industrie de production par exemple, au travers des systèmes de contrôle de

procédé (usines, centrales nucléaires) ;

2. dans l"économie au travers du traitement des données boursières en " temps réel » ; 3. télécommunications (transport de la parole, systèmes de commutation, ...), 4. domaine médical (assistance et supervision de malades, ...), 5. contrôle de différents équipements dans les voitures, bus, trains, avions, ..., 6. contrôle et régulation de trafic en milieu urbain, 7. guidage de véhicules en milieu urbain, 8. domaine militaire (suivi de trajectoires de missiles, ...) 9. aérospatial (suivi de satellites, simulation de vols, pilotage automatique, ...), 10. multimédia (transport d"images et de voie, téléconférences, ...), 11. finance (suivi du cours des devises et actions, ...), 12. loisirs (consoles de jeu, ...), 13. domotique (sécurité d"habitations, ...), 14. contrôle/commande d"appareils électroménagers.

Un système temps réel n"est pas un système "qui va vite" mais un système qui satisfait à des contraintes temporelles. Le développement de systèmes temps réel nécessite donc que chacun des éléments du système soit lui-même temps réel, c"est-à-dire permettre de prendre en compte des contraintes temporelles. Un système d'exploitation conçu pour prendre en compte ces contraintes est appelé système d'exploitation temps réel.

II. Spécificités Pour garantir le respect de limites ou contraintes temporelles, il est nécessaire que :

1. les différents services et algorithmes utilisés s'exécutent en temps borné mais peut être

interrompus par un processus plus prioritaire ;

2. Un système d'exploitation temps réel doit ainsi être conçu de manière à ce que les

services qu'il propose (accès hardware, etc.) répondent en un temps borné ;

3. les différents enchaînements possibles des traitements garantissent que chacun de

ceux-ci ne dépassent pas leurs limites temporelles. Ceci est vérifié à l'aide du " test d'acceptabilité ».

2 III. Caractéristiques d'un système temps réel

1. La prévisibilité d"un STR : est un aspect important. Un STR doit être conçu tel

que ses performances soient définies dans le pire cas (alors que dans les systèmes classiques, les performances sont définies en termes de moyenne).

2. La prévisibilité est le fait de savoir à l"avance si un système va respecter ses

contraintes temporelles (C.T.). Pour cela, il est nécessaire de connaître avec précision les paramètres des tâches : temps global de calcul de chaque activité, périodicité, date de réveil, etc.

3. Le déterminisme d"un STR : est le but à atteindre pour assurer la prévisibilité :

Pour qu"un système soit prévisible, il faut qu"il soit déterministe. Donc enlever toute incertitude sur le comportement des activités (individuelles et mises ensemble)

4. Découpage en taches

5. Utilisation du temps concret : Le temps réel (ou temps concret) sera utilisé de

plusieurs façons : - Soit en définissant la date à laquelle une action doit être commencée - Soit en définissant la date à laquelle une action doit être finie - Il peut être nécessaire de pouvoir modifier ces paramètres en cours d'exécution et de pouvoir préciser les actions à prendre en cas de faute temporelle

6. Ordonnancement

7. Respect des contraintes temporelles

8. La fiabilité

IV. Ordre de grandeur de temps

- nanosecond - O(ns) : Temps d"accès à une RAM (5-80ns), Durée entre deux ticks d"horloge d"un processeur Pentium (1GHz) Fréquence de 1GHz (109Hz) - microseconde - O(Ⱥs) : Traitement dans un noyau de système d"exploitation (changement de contexte, interruption matérielle), Systèmes utilisant des radars (navigation, détection de mouvement, etc.), Transmission sur des bus de terrain, transmission radio, Fréquence de 1 MHz (106 Hz) - milliseconde - O(ms) : Temps d"accès à un disque dur SCSI ou IDE (5-20 ms), La durée d"échantillonnage du son, protocoles de télécommunication, Fréquence de 1

KHz (103 Hz)

- seconde (s) - O(s) : Systèmes de visualisation humain (temps durant lequel l"oeil peut "intégrer" 25 images au plus), Applications multimédia, Temps de réponse des applications informatiques (accès DB, compilation, etc.), Fréquence de 1 Hz - L'heure (h) - O(h) : Applications de surveillance de réactions chimiques, surveillance de données météorologiques - Le mois, l'année - O(m, a) : Systèmes de navigation de sonde spatiale

V. Classement des systèmes temps réel

Les systèmes temps réel sont classés selon le respect des contraintes temporelles : - Temps réel dur ou critique (hard real-time) : le non respect des contraintes temporelles entraîne la faute du système. Ex. : contrôle de trafic aérien, système de conduite de missile, etc. - Temps réel souple (soft real-time) : le respect des échéances est important mais le non respect des échéances ne peut occasionner de graves conséquences. Ex. : projection 3 vidéo (décalage entre le son et l"image), Un robot qui capte des infos sur des objets défilant sur un convoyeur - Temps réel ferme (firm real-time) : temps réel souple avec le manquement occasionnel des échéances. Ex. : projection vidéo (perte de quelques trames d"images). VI. Limites des systèmes classiques pour le temps réel - Reposent sur un OS qui offre des mécanismes mal adaptés au temps Réel - politiques d"ordonnancement visent le partage équitable du temps d"exécution. Pas adaptées à des tâches plus critiques que d"autres.

- les mécanismes d"accès aux ressources partagées sont à adapter pour éliminer les

incertitudes temporelles - la gestion des E/S engendre de longues attentes (parfois non bornées) - la gestion des interruptions n"est pas optimisée - les mécanismes de gestion de la mémoire virtuelle sont à revoir (swapping, ...) - les temporisateurs qui organisent le temps n"ont pas une résolution assez fine (pour beaucoup d"applications temps réel) - On ne dispose pas de moyens pour indiquer à l"OS le degré d"urgence d"une tâche

- le temps de réponse des événements externes n"est pas prévisible : le système

n"indique rien sur la durée de prise en compte d"une interruption

VII. Tâche

Un processus correspond à un fichier exécutable en cours d"exécution sur un processeur. Il est

entre autre caractérisé par un code (le programme à exécuter), une pile et un tas qui

permettent de stocker les données nécessaires à son bon fonctionnement, un identifiant

unique, et une priorité. La priorité permet au système d"exploitation de gérer plusieurs

processus en cours d"exécution sur un processeur, un processus à plus haute priorité se voyant

attribuer un temps d"utilisation processeur plus important.

Un processus peut également être décomposé en tâches (threads ou fils d"exécution), chaque

tâche étant une sorte de processus léger. Dans ce cours, nous utiliserons le terme de tâche

pour désigner une suite d"instructions séquentielles correspondant à une tâche. Les tâches sont divisées en deux grandes catégories, en fonction de leur périodicité.

- Les tâches périodiques (ou cycliques) sont des tâches qui sont exécutées à intervalles

réguliers. Elles sont entre autre définies par la période avec laquelle elles sont censées

s"exécuter, ce qui est géré par l"ordonnanceur. Une tâche périodique peut par exemple être responsable de l"observation d"un capteur à intervalles réguliers, de la régulation de moteurs, de monitoring, etc.

- Les tâches apériodiques sont, quant à elles, exécutées à intervalles irréguliers, et

peuvent donc survenir à n"importe quel instant. Il s"agira typiquement de tâches de configuration, et de tâches activées par une alarme, ou par une entrée de l"utilisateur. Les interruptions jouent un rôle important, étant le principal vecteur d"activation. - Une tâche est dite sporadique si elle est apériodique et que l"intervalle minimal entre deux activations est connu.

1. Caractéristiques d'une tâche

- préemptible : tâche élue qui peut être arrêtée et remise à l"état prêt, pour allouer le

processeur à une autre tâche 4

- non préemptible : une fois élue, la tâche ne doit plus être interrompue jusqu"à la fin de

la requête (tâches atomiques, à exécution immédiate). Ex : tâche qui s"exécute sous le

contrôle d"une interruption

- tâches indépendantes : lorsqu"elles n"ont pas de relations de précédence, ni ne

partagent des ressources critiques - tâches dépendantes : o Par une relation de précédence statique : si elles agissent selon un ordre prédéterminé, ou induit par la communication par messages ou par une relation explicite de synchronisation. Elle est statique car connue a priori. On peut construire le graphe de dépendance. o Par une relation de précédence dynamique : si elles partagent des ressources critiques (accès en exclusion mutuelle). La relation est dynamique car l"utilisation de la ressource dépend de l"ordre d"exécution des tâches du Havre - UFR ST - LITIS - Équipe STI Sy

2. Etats d'une tâche

- élue : un processeur est alloué à la tâche - bloquée : la tâche attend une ressource, un message ou un signal de synchronisation - prête (éligible) : la tâche attend d"être élue - passive : la tâche n"a pas de requête en cours - inexistante : la tâche n"est pas créée

VIII. Ordonnancements classiques des tâches

Il s"agit de déterminer quelle tâche prête doit être élue :

1. Premier arrivé, premier servi (les tâches de faible temps d"exécution sont

pénalisées si elles sont précédées dans la file par une tâche de longue durée)

2. Plus court d'abord : remédie à l"inconvénient précédent. Minimise le temps de

réponse moyen. Pénalise les travaux longs. Elle impose d"estimer les durées d"exécution des

tâches (connues difficilement).

3. Temps restant le plus court d'abord : la tâche en exécution restitue le processeur

lorsqu"une nouvelle tâche ayant un temps d"exécution inférieur à son temps d"exécution

restant devient prête.

4. Tourniquet (RoundRobin) : on définit un quantum de temps (10ms à

100ms). Chaque tâche de la file acquiert le processeur pendant au maximum un quantum de

temps, puis le cède à sa suivante dans la file, etc. ! Utilisée souvent dans les systèmes à temps

partagé. Ses performances dépendent du quantum de temps. Si trop grand : augmente les temps de réponse, si trop petit : multiplication des commutations de contextes.

5. Priorités constantes : des priorités sont affectées aux tâches et à un instant donné, la

tâche élue est celle qui a la plus forte priorité. Les tâches de faible priorité peuvent ne pas

disposer du processeur (famine). Solution : faire “vieillir" la priorité des tâches en attente

(augmenter en fonction du temps d"attente). La priorité devient ainsi variable (et donc non constante !) 5

Remarques Aucune des politiques présentées ne permet de remplir les 2 objectifs d"un ordonnancement

temps réel. Notamment : pas de prise en compte de l"urgence des tâches (délai critique)  Ordonnancement spécifique aux tâches temps réel IX. Terminologie pour l'ordonnancement des tâches temps réel

Une tâche possède des paramètres chronologiques (délais) et chronométriques (dates). Les

paramètres de base d"une tâche sont :quotesdbs_dbs4.pdfusesText_7