Systèmes Temps Réel. Semestre 2. Responsable Pédagogique : Jackson FRANCOMME Volumes horaires. CM TD TP Projet Evaluation / 2

Documents pareils
Ordonnancement temps réel

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

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

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

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

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Machines virtuelles Cours 1 : Introduction

S LICENCE INFORMATIQUE Non Alt S Alt S S1 S2 S3 S4 SS5 S6 Parcours : S IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques)

Statistiques et traitement des données

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

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Initiation au HPC - Généralités

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

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Master Information et communication spécialité Produits et services multimédia

Projet Active Object

Baccalauréat universitaire (bachelor) en mathématiques et sciences informatiques

Introduction au temps réel

Problèmes liés à la concurrence

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

PIC EVAL Dev Board PIC18F97J60

MASTER SIR. Systèmes Informatiques & Réseaux

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

Microsoft Excel : tables de données

Master Energie spécialité Energie électrique

GROUPE IDRAC Les Experts Bac+4

Année Universitaire ère année de Master Droit Mention Droit Privé 1 er semestre. 1 er SEMESTRE 8 matières CM TD COEFF ECTS.

MASTER 2 PROFESSIONNEL. Génie Logiciel, Logiciels Répartis et Embarqués

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

Algorithmique I. Algorithmique I p.1/??

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

Cours de Systèmes d Exploitation

Introduction aux systèmes temps réel. Iulian Ober IRIT

Synchro et Threads Java TM

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Chapitre 4 : Exclusion mutuelle

ECTS CM TD TP. 1er semestre (S3)

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Solutions informatiques (SI) Semestre 1

Ordonnancement temps réel

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

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

SCIENCES - TECHNOLOGIES - SANTE. STIC : Sciences et Technologies de l Information et de la Communication. Parcours Informatique

sous réserve de validation des modifications DROIT ECONOMIE GESTION SCIENCES DU MANAGEMENT FINANCE

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Introduction aux Systèmes et aux Réseaux

RTDS G3. Emmanuel Gaudin

Introduction aux systèmes temps réel

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Approche Contract First

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

Normes et description. des ressources continues et données d autorité Analyse de l information Recherche documentaire : méthodes et outils

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Sous réserve de validation par les instances de l Université. Information, Communication, Culture Euromédias

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Extension d'un outil de trace pour système embarqué temps réel. Encadrants : Laurent Pautet, Jérôme Hugues

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

MASTER PROFESSIONNEL (2 ème année)

Présentation du Master Ingénierie Informatique et du Master Science Informatique , Année 2 Université Paris-Est Marne-la-Vallée

Mode d emploi du Bureau Virtuel (BV) à destination des étudiants en Formation À Distance (FAD)

Programmation Objet - Cours II

LICENCE PROFESSIONNELLE Assurance, Banque, Finance

SCIENCES POUR L INGENIEUR

Physique et technologies des rayonnements pour l'industrie et la physique médicale

Chapitre VI- La validation de la composition.

UNIVERSITÉ DE LORRAINE Master MIAGE (Méthodes Informatiques Appliquées à la Gestion des Entreprises)

Université de Lorraine Faculté de Droit

MANAGEMENT DES SYSTEMES D INFORMATION ET DE PRODUCTION MSIP

UE Programmation Impérative Licence 2ème Année

LICENCE PROFESSIONNELLE. Systèmes informatiques et logiciels

SRS Day. Vue d ensemble. Avérous Julien-Pierre

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

Département Informatique

TP Temps Réel. Polytech Paris - Mars 2012

Environnements et Outils de Développement Cours 1 Introduction

Master Mention Etudes Politiques (IEP Aix-en-Provence)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Formations en gestion d entreprise

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

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

Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU

Éléments de cadrage général (toutes UE et semestres confondus)

ERESI : une plate-forme d'analyse binaire au niveau noyau. The ERESI team

DROIT-ECONOMIE-GESTION SCIENCES DU MANAGEMENT ADMINISTRATION DES ENTREPRISES

UNIVERSITE DE TOULON UFR FACULTE DE DROIT REGLEMENT D EXAMEN ANNEE 2012/2017 LICENCE DROIT MENTION DROIT GENERAL

30.avr.10 Présentation miniprojet. 9.mars.10 Cours 3 4.mai.10 Cours C mars.10 Cours 4 11.mai.10 Cours C++ 2

!" #$%&'(&)'*'+,--./&0'1&23,+2.)$4$%52'&%'6.%&2'

Présentation d Epicard

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Transcription:

Systèmes Temps Réel ING4 Semestre 2 Responsable Pédagogique : Jackson FRANCOMME Volumes horaires SE Equipe d enseignants : Sandrine MERCIER Franck BIMBARD CM TD TP Projet Evaluation 18 20 36 / 2 Langue : français Crédits ECTS : Total Objectifs : Pré requis : Principes de fonctionnement des systèmes multitâches et temps Réel Conception d un système multitâche temps réel o Gestion des ressources partagées o Echange de données entre tâches o Ordonnancement des tâches indépendantes et dépendantes dans un système temps réel. Langage de programmation de haut niveau : langage C Fonctionnement d un système à base de microprocesseur Commande de base du système d exploitation UNIX/LINUX Principe d une interruption.

Sommaire du cours : CM0 : Présentation des systèmes Temps Réel embarqués o Domaines d applications o Principaux Systèmes d Exploitations Temps Réel o OS pour Automobiles et OSEK/VDX o Solutions UNIX o Démarche de conception d un système Temps Réel CM1 : Systèmes multitâches et Temps Réel o Définitions o Exemples d applications o Structure de noyau o Spécificités d une tâche o Mécanismes de préemption o Les ordonnancements de base o Gestion des tâches o Gestion du temps CM2 : UNIX/LINUX et le Temps Réel o Programmation en C sous LINUX : Norme POSIX o Système de fichiers o Appels système o Entrées/sorties Les types de fichiers Notion de descripteurs E/S standards Primitives de bases o Gestion des erreurs. o Création et recouvrement de processus o Gestion des signaux Envoi et réception Masquage et blocage Exemples CM3 : Services d un noyau multitâche o Programmation concurrente o Partage des ressources o Mécanismes de protection et exclusion mutuelle o Sémaphores et mutex o Gestion des sémaphores sous UNIX o Interblocage et famine CM4 Communication Interprocessus o Description des mécanismes de communication et de synchronisation entre tâches o Applications sous LINUX Communication par tube anonyme et nommé Communication par file de message Communication par mémoire partagée. CM5 : Vers la maîtrise du temps o Introduction Propriété de ponctualité Modèle d une tâche Mesures de performance o Ordonnancement statique avec tâches indépendantes Attribution arbitraire Ordonnancement monotone par taux : Rate Monotonic (RM) o Critères d ordonnançabilité et test de terminaison Deadline Monotonic (DM) o Critère d ordonnançabilité FIFO o Ordonnancement dynamique avec tâches indépendantes Earliest Deadline First (EDF) Least Laxity First (LLF) Maximum Urgency First (MUF)

o Algorithmes pour la prise en compte de tâches apériodiques Traitement en arrière plan («background processing») Les serveurs de tâches Traitement par scrutation («polling») Le serveur sporadique («sporadic server») Algorithme «Slack Stealer») et la méthode d ordonnancement conjoint Cas des tâches apériodiques à contraintes strictes o Interaction entre tâches : problèmes liés à l exclusion mutuelle L inversion de priorité Les solutions Héritage simple Plafond de priorité Exemple : Description détaillée du bug de la mission Mars Pathfinder o Ordonnancement des tâches dépendantes Tâches avec contraintes de précédence Contraintes de précédences et «Rate Monotonic» Contraintes de précédences et «Earliest Deadline» Tâches partageant des ressources critiques o Conclusion Déroulement :

Travaux dirigés : TD1 : Etude de stratégie d ordonnancement de base liée à l exécutif temps réel A6RMTR. TD1 : Ordonnancement Ordonnancement sur noyau préemptif / non préemptif Comparaison de diverses stratégies d ordonnancement TD2 : Systèmes multitâches Exclusion mutuelle et synchronisation entre tâches. Variables Sémaphores pour l Accès d'une Ressource Partageable : Visualisation en " Temps Processeur " Tâches Parallèles en " Temps Humain " Synchronisation entre Plusieurs Tâches avec Variable Sémaphore, Variable Evènement, Boîte à lettres et Mécanisme de Rendez-vous L exclusion mutuelle : Le Dîner des philosophes TD4 : Ordonnancement dynamique. Analyse «Rate Monotonic» Analyse «Deadline Monitonic» Analyse «Earliest Deadline First» Analyse avec inversion de priorité TD5 : Ordonnancement en présence de tâches apériodiques Ordonnancement de tâches apériodiques à contraintes strictes Ordonnancement de tâches apériodiques à contraintes relatives TD6 : Ordonnancement des tâches dépendantes Ordonnancement avec contrainte de précédence Ordonnancement avec ressources critiques TD7 : Etude des fonctions principales UNIX/LINUX Identificateurs de processus Les états logiques d un processus Création de processus Signaux Recouvrement et passage de paramètres TD8 : Synchronisation de processus sous UNIX/LINUX à l aide de signaux Déroutement signaux Gestionnaire d exceptions Mise en évidence de l effet de la primitive «alarm( )» Synchronisation entre processus fils et processus père à l aide de signaux TD9 : Communication entre processus sous UNIX/LINUX Communication par tube anonyme Communication par mémoire partagée sans exclusion mutuelle Les variables sémaphores Réalisation d un rendez-vous entre deux processus par variables sémaphores. Communication par mémoire partagée avec exclusion mutuelle par variable sémaphore

Travaux pratiques : La première série de TP est dédiée à l apprentissage des mécanismes de bases des systèmes multitâches sur un plateforme munie du système d exploitation Linux/Unix (Sandrine MERCIER). TP1 : Gestion de processus Manipulations de bases : Sur identificateurs Les différents états d un processus Création de processus Création de processus multiples : famille et générations Réalisation d un Shell simplifié Recouvrements TP2 : Tubes anonymes et tubes nommés Manipulations de base Création, destruction Comportements en fonction du nombre des lecteurs et écrivains. Réalisation d un Shell simplifié - suite Mise en œuvre d un tube TP3 : Déroutement de signaux et synchronisation de processus sous Linux Gestion des signaux sous Linux Réalisation d un «Time Out» Test de présence d un processus. Synchronisation entre processus père et fils. TP4 : Les IPC (Inter Process Communication) sous Linux Communication par mémoire partagée sans exclusion mutuelle avec exclusion mutuelle Mécanisme de «Rendez-vous» par variables sémaphores. La deuxième série de TP permet l implémentation d une application multitâche embarquée sur un microcontrôleur PIC utilisant le micro-noyau Salvo (Franck BIMBARD). TP5 : Découverte des microcontrôleurs PIC de Microchip : Architecture des microcontrôleurs PIC et plus particulièrement les PIC16F84A La carte de développement PIC Les entrées /sorties PIC16F84A Mise en œuvre du timer Interruption en langage C Chien de garde «Watchdog» Prise en main des outils informatiques MPLAB et PICC pour la programmation en langage C, la compilation puis la simulation Création d un projet sous MPLAB Simulation d un projet avec MPLAB Téléchargement du programme sur la cible avec IC-Prog TP6 : Initiation au RTOS Salvo Migration du PIC16F84A vers le PIC16F628 Création d une application multitâche Initialisation de l ordonnanceur Création de tâches Sémaphores à compte / binaire Communication par messages Gestion des délais TP7 : Conception d une application multitâche (Mini projet) Mise en œuvre des fonctionnalités de Salvo pour une application réalisant un réveil. Projet : /

Conférences : / Evaluation : Devoir surveillé de durée 2 heure Bibliographie : Supports de cours : Polycopié rédigé par mes soins Documents conseillés : cf. site web http://francomme.fr.fm Ouvrages de références : F. Cottet & al., Ordonnancement temps réel, cours et exercices corrigés, Hermes sciences, 2000. Christian Bonnet et Isabelle Demeure, Introduction aux systèmes temps réel, Hermes, Collection pédagogique de télécommunications. J. M. Rifflet, La programmation sous Unix, 3ième édition, Ediscience International, 1995. Webographie : Sites principaux : http://francomme.fr.fm (rubrique systèmes temps réel)