Informatique Temps Réel - Résumé Janvier 2010.

Documents pareils
Ordonnancement temps réel

Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

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

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

1 Mesure de la performance d un système temps réel : la gigue

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

REALISATION d'un. ORDONNANCEUR à ECHEANCES

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Conception des systèmes répartis

Temps Réel. Jérôme Pouiller Septembre 2011

Introduction au temps réel

Cours de Systèmes d Exploitation

Cours de Génie Logiciel

Analyse de performance, monitoring

Problèmes liés à la concurrence

Annexe 6. Notions d ordonnancement.

Modules d automatismes simples

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Parallélisme et Répartition

Cours A7 : Temps Réel

Programmation linéaire

RESEAUX MISE EN ŒUVRE

Programmation parallèle et distribuée

BUILDING AUTOMATION Phoenix Contact dans les coulisses de l Opéra Garnier

Modélisation et Simulation

Vérifier la qualité de vos applications logicielle de manière continue

«Les documents référencés ci-dessus étant protégés par les droits d auteur et soumis à la déclaration au Centre Français d exploitation du droit de

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Une chaudière mixte est facilement identifiable : elle se déclenche chaque fois que vous ouvrez un robinet d eau chaude.

Exécutif temps réel Pierre-Yves Duval (cppm)

ELP 304 : Électronique Numérique. Cours 1 Introduction

MODE D EMPLOI LOGICIEL DE PILOTAGE CROIX SMART 5.0

Release Notes POM v5

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Chapitre 4 : Les mémoires

Analyse du temps de réponse des systèmes temps réel

Ordonnancement temps réel

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Initiation au HPC - Généralités

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Introduction aux Systèmes et aux Réseaux

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

Le serveur modulaire d alerte, de recherche de personnes et de communication

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Fiche n 15 : Envoi d , alarme visuelle et synchronisation Outlook

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO

Université de La Rochelle. Réseaux TD n 6

Fiche technique CPU 314SC/DPM (314-6CG13)

Module ATW-C-INV pour commande des unités extérieures d'inverter Fujitsu Airconditioning

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

La place de SAS dans l'informatique décisionnelle

Historian Server & Client 2012

Création du projet : 1 sur 13

SoMachine. Solution logicielle pour votre architecture Machine Atelier de découverte. SoMachine

Programmation C. Apprendre à développer des programmes simples dans le langage C

Quatrième partie IV. Test. Test 15 février / 71

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Fiche technique CPU 315SN/PN (315-4PN33)

WEA Un Gérant d'objets Persistants pour des environnements distribués

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Operation Execution System (OES) Plateforme Stratégique Pour la performance Industrielle. Copyright 2006 Apriso Corporation 1

COMPASS COMPASS. TOUT SOUS CONTRÔLE, TOUJOURS Système de contrôle des accès à zones réservées et aires protégées. Système de contrôle d accès

Extrait des Exploitations Pédagogiques

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

Plateforme de capture et d analyse de sites Web AspirWeb

Xen. Quelques notes autour de Xen

Initiation à LabView : Les exemples d applications :

CAHIER DES CHARGES D'IMPLANTATION

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

MBR225. Le module a été conçu et réalisé conformément aux normes en vigueur portant sur la sûreté et la fiabilité des installations industrielles.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

E LDS: refroidir intelligemment

DEMANDE D INFORMATION RFI (Request for information)

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

Transmission d informations sur le réseau électrique

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

ProSimPlus HNO3 Résumé des nouvelles fonctionnalités, décembre 2008

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

Systèmes et traitement parallèles

Architecture des ordinateurs

Structure fonctionnelle d un SGBD

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

TEPZZ A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 ( ) G06K 19/077 (2006.

Modélisation multi-agents - Agents réactifs

Logiciels de gestion FAC. Analyste AgExpert. Guide de démarrage rapide 2014

//////////////////////////////////////////////////////////////////// Administration bases de données

1 DC Vision / Généralités DC Vision / applications d intégralité DC Vision / Read and Print et Applications d adressage...

Variateurs de vitesse

LES STOCKS DEFINITION ET TYPOLOGIE DES STOCKS

Transcription:

Informatique Temps Réel - Résumé Janvier 2010. Dubuc Xavier 6 janvier 2010 Table des matières 1 Chapitre 1 2 1.1 Definitions............................................. 2 1.2 Fonctionnement.......................................... 2 1.3 Caractéristiques.......................................... 3 2 Chapitre 2 - Développement d un système temps réel 3 2.1 Capturer les exigences...................................... 3 2.2 Méthodologie stricte de développement............................. 4 2.2.1 Structured Analysed Real Time (SART)........................ 4 2.2.2 Design Approach for Real Time System (DARTS).................. 6 3 Chapitre 3 - Processus & Threads 8 4 Chapitre 4 - L ordonnancement 8 4.1 Table de correspondance des notations............................. 8 4.2 Tâches périodiques........................................ 8 4.2.1 EDF : Earliest Deadline First.............................. 8 4.2.2 RM (Rate Monotonic) (et DM (Deadline Monotonic))................ 8 1

Introduction Il s agit d un cours résumé servant uniquement à l étude, car à l examen, même si c est «avec le cours», vous ne pourrez prendre ce pdf. Il est aussi à rappeller la répartition des points : 20% pour l exercice de la taverne, 40% pour un exercice sur machine à l examen (en rapport avec ce qui a été vu en TP), 40% pour la partie de l examen concernant l application de la théorie (cours ouvert). 1 Chapitre 1 1.1 Definitions Un système temps réel est un système dans lequel l exactitude des applications ne dépend pas seulement de l exactitude des résultats mais aussi du temps auquel ce résultat est produit. Si les contraintes temporelles de l application ne sont pas respectées, on parle de défaillance du système. Il est donc essentiel de garantir le respect des containtes temporelles du système. Le système recueille des informations via des capteurs et il agit sur celui-ci via des actuateurs. Un exemple simple est un controleur de débit, on place un capteur calculant le débit à l entrée d un tuyau et plus loin on place un actuateur (une valve) servant à controler l eau qui sort du tuyau. Le système est un ensemble de tâches autonomes s exécutant concurremment, le code d une tâche correspondant à un bloc modulaire d instructions. Chaque tâche possède son propre flot de contrôle à l exécution et peut communiquer et partager ses ressources avec d autres tâches du système. On définira donc des tâches associées à un ou des évènements, une ou des réactions, une entité externe à calculer, un traitement particulier,... L ordonnanceur est le nom donné au module qui se charge de gérer l enchaînement et la concurrence des tâches en optimisant l occupation de l unité centrale. 1.2 Fonctionnement 1. Fonctionnement cyclique A chaque top horloge faire - Lecture de la memoire des entrees - Calcul des ordres a envoyer au procede - Emission des ordres 2. Fonctionnement évènementiel while (1) { Attendre les evenements signales par interruption A chaque interruption faire { - Lecture information arrivee - Activation du traitement correspondant - Emission des ordres issus du traitement } } Que faire si une interruption survient alors que le système est en train de traiter une interruption précédente? notion de priorité des interruptions notion de tâche associée à une ou plusieurs interruptions mécanisme de préemption (réquisition du processeur) et de reprise de tâche au retour du «vol» du CPU. gestion de l exécution concurrente des tâches (ordonnancement) Un système temps-réel fonctionnera de cette façon. 3. Fonctionnement mixte Mélange des 2 précédents. 2

1.3 Caractéristiques Les caractéristiques nécessaires à un système T.R. sont les suivantes : Fiabilité (systèmes critiques) Prédictibilité (garantir le respect des contraintes temporelles) Préemptibilité des tâches (nécessaire pour la prédictibilité) Gestion poussée des communications inter-tâches Prise en compte du non-déterminisme d ordre d exécution des tâches ; on considère souvent le «worst-case» (cas au pire) pour déterminer un temps de réaction. 2 Chapitre 2 - Développement d un système temps réel 2.1 Capturer les exigences Analyse des besoins : Les entrées : Acquisition de grandeurs par des senseurs. Les sorties : Commande de l environnement par les actuateurs. Les traitements : Mise à jour des sorties en fonction des entrées pour contrôler/commander un processus physique. La visualisation : Présenter à l utilisateur l état du procédé et de sa gestion. Les communications : Partager des données avec les systèmes de contrôle commande voisins. Les sauvegardes des états pour des reprises d exploitation ou des analyses du système a posteriori. 1. Les tâches d entrées Acquérir une donnée physique n est pas trivial, il y a beaucoup de données de types différents et de capteurs de différentes natures et/ou ayant des fonctionnements différents. 2. Les tâches de sorties Il y a différents types d actuateurs permettant au système d agir sur l environnement, Binaires : soit on active soit on active pas, soit on ouvre soit on ouvre pas (enclenchement d un ventilateur, ouverture d une valve,...), Discrètes : sur quel type de bus, Continues : des consignes précises quant à une modification (consigne de vitesse, température,...). 3. Les tâches de traitements Les tâches qui effectuent des analyses, des calculs sur les entrées afin d en dégager les sorties. 4. Les tâches d interface utilisateur Gérer un pupitre de commande permettant de visualiser l état du procédé, les valeurs des consignes et les alarmes ainsi que d agir sur les consignes et les commandes. 5. Les tâches de communication Tâches gérant la communication entre les tâches, elles sont contraintes par des contraintes logicielles et matérielles. (différents moyens de communiquer, différents moyens de formater les informations,...) 6. Les tâches de sauvegarde Elles sauvegardent les états du systèmes régulièrement afin de permettre d analyser son fonctionnement, les erreurs, de permettre des reprises et mises en route ainsi que d améliorer les performances. Il faut maintenant parvenir à mettre en oeuvre l ensemble de ces tâches en garantissant la synchronisation, les transferts de données et le partage des ressources. Pour ce faire, il y a 2 modèles : Synchrone Les évènements émis par le procédé peuvent être différés. Les évènements sont perçus comme immédiats par l informatique. Les évènements externes sont synchronisés avec les tâches. Non préemptif, ordonnancement à priori, séquenceur. Asynchrone Les évènements émis par le procédé sont traités immédiatement interruptions. Les évènements sont perçus comme immédiats par l informatique. Les évènements externes ne sont pas synchronisés avec les tâches. Préemptif, ordonnancement en ligne, noyau temps réel. 3

2.2 Méthodologie stricte de développement Il convient d adopter une méthodologie pour le développement d applications informatiques : L architecture, la maintenabilité, la lisibilité, le suivi des spécifications, l évolubilité sont augmentés. Nécessité de penser au préalable aux tests unitaires (par modules) et globaux. Une méthodologie répandue, le cycle en V mais pas forcément adaptée au contrôle-commande : Specification Validation Conception Preliminaire Integration Conception Detaillee Tests Unitaires Codage Moins problématique, le cycle en W : Specification Simulation Validation Conception Integration Conception Adaptee Integration ( avec noyau RT) Tests Tests Codage Codage ( croise ) Nous allons utiliser 2 autres approches, plus complètes. Nous les développons ci-dessous. 2.2.1 Structured Analysed Real Time (SART) Éléments graphiques Les données 4

Les processus fonctionnels Stockage Terminaisons Les processus de contrôle Le processus de contrôle représente la logique de pilotage des processus fonctionnels. Les processus fonctionnels fournissent tous les évènements aux processus de contrôle qui gèrent les évènements d (de) (dés)activation des processus fonctionnels. Les flots de contrôle Les flots de contrôle transportent les évènements qui conditionnent, directement ou indirectement, l exécution des processus fonctionnels. 5

Il y a 3 évènements prédéfinis : E enable (activation), D Disable (désactivation) et T Trigger (enclenchement). 2.2.2 Design Approach for Real Time System (DARTS) Cette approche permet de mettre l accent sur la synchronisation et la communication entre les tâches. Relations entre tâches Une tâche ne peut débuter que lorsqu une autre tâche s est exécutée en totalité ou en partie : Asynchrone ou unilatérale : une seule tâche est bloquée/en attente, Synchrone ou bilatérale : les 2 tâches doivent atteindre un point de rendez-vous, Activation des tâches Tâche matérielle : périodique : horloge temps réel : HTR(durée) Non-périodique : interruption : IT(nom) ou chien de garde : CG(nom) Tâche logicielle : boîte aux lettres 6

Tâches Même définition que dans SART pour les processus fonctionnel mis à part qu un signal d activation est nécessaire en entrée. Module de traitement Il s agit de programmes spécifiques appelés par une ou plusieurs tâches, ils sont ré-entrants et permettent d alléger le code des tâches tout en améliorant la structure. Synchronisation & Communication Synchronisation Asynchrone simple, multiple de type «OU» Synchrone Communication : boîte aux lettres (BAL) BAL bloquante en écriture 1 message FIFO à n messages, simple ou multiples FIFO à n messages et priorités BAL non bloquante ou à écrasement 1 message FIFO à n messages, simple ou multiples Stockage Module de données avec protection des accès par exclusion mutuelle 7

3 Chapitre 3 - Processus & Threads Useless de résumer une notion vue & revue 42 fois en 3 ans... 4 Chapitre 4 - L ordonnancement 4.1 Table de correspondance des notations Notation Signification τ i tâche de nom τ i τ i,j job j de la tâche de nom τ i période de la tâcheφ r i temps de release ou d arrivée dans le pool des tâches s i temps de démarrage réel Φ i temps de démarrage de la tâche (dans le cas de séparation en plusieurs jobs) C i temps d exécution au pire d i deadline absolu D i deadline relatif (= d i r i ) f i temps maximal de fin d une tâche (contrainte f i d i ) max (0, f i d i ) avance ou retard de la tâche c i (t) temps maximal restant à exécuter d i t c i (t) laxité, c est-à-dire une période creuse d exécution (slack) p i Priorité de la tâche R i Temps de réponse U i Taux d utilisation maximale du processeur par période par la tâche (U i = Ci Taux d utilisation totale du processeur (U p = n ) U p i=1 U i ) Dans le cours sont développées principalement 2 manières d ordonnancer, 4.2 Tâches périodiques 4.2.1 EDF : Earliest Deadline First p i = 1 d i (dynamique) Des tâches sont ordonnançables si : n i=1 C i 1 Demande du processeur dans [0, L] : g(0, L) n i=1 L Di + C i L ordonnancement est dès lors acceptable si L D, g(0, L) L. où D = {d k d k min (H, L )}, H = lcm(t 1,..., T n ) = ppcm(t 1,..., T n ) et L = n i=i ( D i )U i 1 U p 4.2.2 RM (Rate Monotonic) (et DM (Deadline Monotonic)) p i = 1 D i (statique, souvent D i = ) Des tâches sont ordonnançables si : n i=1 C i n(2 1 n 1) 8

Temps de réponse : R i = C i + i 1 k=1 Ri T k C k Afin de calculer ce temps de réponse R i, il existe une manière itérative d y parvenir : R i,0 = C i R i,s = C i + i 1 Ri,s 1 C k i=k=1 T k Calcul que l on itère jusqu à ce que R i,s = R i,s 1 ce qui signifie que l on a trouvé le temps de réponse ou que R i,s > D i qui signifie que le temps de réponse est plus long que le deadline relatif. L ordonnancement est dès lors acceptable si R i D i tâche τ i. 9