Introduction à l informatique temps réel SYSTEMES TEMPS REEL

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

Ordonnancement temps réel

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

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

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

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

Introduction au temps réel

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

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

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

Introduction aux systèmes temps réel

Projet Active Object

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

Cours A7 : Temps Réel

Ordonnancement temps réel

Cours A7 : Temps Réel

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

QoS et Multimédia SIR / RTS. Introduction / Architecture des applications multimédia communicantes

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

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

Les diagrammes de modélisation

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Applications Embarquées Critiques

Chapitre 4 : Exclusion mutuelle

MEAD : temps réel et tolérance aux pannes pour CORBA

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

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

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

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

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

Cours de Génie Logiciel

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

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

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

GESTION LOGISTIQUE GESTION COMMERCIALE GESTION DE PRODUCTION

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

T500 DUAlTACH. JAQUET T500 DualTach Instrument de mesure et de surveillance équipé de 2 entrées fréquence TACHYMETRE 2 CANAUX

SQL Server 2012 et SQL Server 2014

Pourquoi l apprentissage?

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

La technologie Java Card TM

RTDS G3. Emmanuel Gaudin

Eléments constitutifs et synthèse des convertisseurs statiques. Convertisseur statique CVS. K à séquences convenables. Source d'entrée S1

VMWare Infrastructure 3

Autorité de Régulation des Communications électroniques et des Postes

I- Définitions des signaux.

Transmissions série et parallèle

Extrait des Exploitations Pédagogiques

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

Partie 7 : Gestion de la mémoire

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

White Paper - Livre Blanc

Algorithmique des Systèmes Répartis Protocoles de Communications

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Conception des systèmes répartis

Liste des Paramètres 2FC4...-1ST 2FC4...-1PB 2FC4...-1PN 2FC4...-1SC 2FC4...-1CB

Votre Réseau est-il prêt?

Dossier d'étude technique

Guide de l'utilisateur du IP Audio Conference Phone BCM Business Communications Manager

Le multiplexage. Sommaire

Métriques de performance pour les algorithmes et programmes parallèles

Développement de lois et de structures de réglages destinées à la téléopération avec retour d effort

Architecture des ordinateurs

Continuité et dérivabilité d une fonction

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Modélisation multi-agents - Agents réactifs

Outils permettant la diffusion de l information. Un point sur le droit numérique

VRM Monitor. Aide en ligne

Une représentation complète

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

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

Agrégation de liens xdsl sur un réseau radio

epowerswitch 4M+ Fiche technique

Concept de machine virtuelle

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

CH.3 SYSTÈMES D'EXPLOITATION

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Diagrammes de Package, de déploiement et de composants UML

Implémentation des SGBD

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

Cours Informatique 1. Monsieur SADOUNI Salheddine

Modélisation et Simulation

Java pour le Web. Cours Java - F. Michel


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

NFP111 Systèmes et Applications Réparties

IFT1215 Introduction aux systèmes informatiques

PG208, Projet n 3 : Serveur HTTP évolué

Logiciels et Systèmes Embarqués :

CAHIER DES CHARGES D'IMPLANTATION

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Transcription:

Introduction à l informatique temps réel SYSTEMES TEMPS REEL

Types de systèmes informatiques Systèmes transformationnels (calcul scientifique, SGBD) les données sont disponibles au lancement les instants de production des résultats ne sont pas contraints Systèmes interactifs (systèmes transactionnels ou outils bureautiques) les résultats dépendent de données produites par l environnement les instants de production respectent des valeurs statistiques Systèmes réactifs ou temps réel résultats entièrement conditionnés par l environnement connecté les instants de production dépendent de la dynamique du procédé 2

Définition (Groupe CNRS sur la problématique temps réel 1988) Le comportement d un système informatique est qualifié de temps réel lorsqu il est assujetti à l évolution d un procédé qui lui est connecté et qu il doit piloter ou suivre en réagissant à tous ses changements d état. 3

Propriétés Fortes interaction avec le procédé IHM inexistant, limité ou particulier Contraintes temporelles période de scrutation, délais Contraintes de coût, d espace, de consommation matériel taille mémoire Prédictibilité temps / espace Fiabilité / sûreté image de marque sécurité inaccessibilité 4

Validité d un programme TR Outre la correction algorithmique le temps intervient dans la validité du programme: le temps de réaction doit être adapté aux événements externes Le programme doit pouvoir fonctionner en continu en maintenant sa capacité à traiter le flux de données d entrée Faute temporelle faute algorithmique exemple: flux audio Au sens strict, «valider» un système temps réel c est démontrer rigoureusement que le système a le comportement spécifié (preuve de programme) Impossible avec les langages habituels 5

Systèmes dédiés L architecture matérielle et logicielle est une composante essentielle du système L architecture est adaptée aux besoins spécifiques de l application sur critères de: Fiabilité / robustesse Prédictibilité Taille Consommation Coût Dimensionnement particulier du système Compromis matériels et logiciels Système d exploitation par composants 6

Systèmes complexes Hétérogènes Temps réel / non temps réel Critiques / non critiques Communicants Entités réparties Parallélismes Evolutifs Ajout / suppression / modification pendant la durée de vie Hot plug Adaptatifs Modes d urgences, modes dégradés Garanties de QoS différence avec logiciel conventionnel 7

Exemple: régulation / asservissement pour contrôle numérique Entrée de Référence r(t) y k, r k sont les valeurs échantillonnées pour k=0,1,2,3 à la fréquence T fixe qui dépend du procédé et de la loi de contrôle. A / D A / D r k y k Loi de contrôle calcul u k D / A y(t) u(t) Par exemple, dans un contrôle de moteur d automobile on échantillonne plus fréquemment l angle de rotation du capteur procédé vilebrequin toutes les µsec que la température du moteur toutes les 10 sec actionneur 8

Exemple: navigation aérienne Interfaces opérateurs sol Niveau 2 Capteurs à terre Radars Calculs d états Contrôle de l espace aérien Niveau 1 Données de navigation Calculs d états Gestion du vol Niveau 0 Calculs d états Régulation du vol avions Capteurs embarqués actionneurs 9

Exemple: Multimédia Stockage, transmission & affichage de flux vidéo, audio, image ou graphique ont des contraintes temporelles fortes Cas de l image Standard vidéo 30 img/s (TVHD 60 img/s), téléconférence 10 à 20 MPEG-2 débit en compression selon l application de 1,5 à 35 Mb/s MPEG-2 est un très gros consommateur de CPU (surtout en compression) Cas du son De 16 kb/s (téléphone) à 128 kb/s (qualité CD) L oreille est très sensible aux glitchs ou trous de quelques centaines de millisecondes Dans une diffusion son & image la synchronisation des lèvres impose un décalage de moins de 80 ms entre les flux audio et vidéo 10

Multimédia Les applications multimédia ont donc des spécifications temporelles fortes, particulièrement sur les applications interactives (TV en direct) Compression & transmission des deux flux doivent respecter des contraintes de: synchronisation des flux régularité des flux délai de bout en bout 11

Définitions Un système est dit embarqué lorsqu il est intimement lié à un procédé à contrôler Un système est embarqué est dit enfoui lorsque son fonctionnement interne est peu ou pas du tout accessible Un système est qualifié de temps réel lorsqu il est assujetti à des contraintes temporelles explicites Un système est dit concurrent lorsqu il est composé de modules pouvant s exécuter en parallèle Un système est dit critique lorsque son cahier des charges n autorise aucune défaillance 12

Développement de systèmes TR (1) Spécification / modélisation / conception Encore peu répandu: UML, SDL, SART... approches «maison» Multitâche (LACATRE, chronogrammes, ) Approches synchrones (Esterel, Signal) Codesign (Approches heuristiques, SystemC, ) Programmation Systèmes logiciels sans OS OS temps réel RTOS (VxWorks, LynxOS, FreeRTOS, PICOS, Micrium ) OS généralistes (NT, Linux, Java, ) OS embarqués (RTX, Windows CE, JavaCard, Android ) Langages: ASM, C, C++, Java (technologies objets en expansion) Encore peu de réutilisation 13

Développement de systèmes TR (2) Communication Bus (VME, CompactPCI) Mémoire partagée, interruptions Réseaux de terrain (CAN, TTP, FIP) Réseaux (socket, TCP/IP) Middleware de communication (Corba TR, ControlHost, Design Patterns) Vérification / validation Ordonnancement, logique temporelle Approches synchrones (Esterel, Signal) 14

Qu'est ce que le temps réel? Définition (2): Un système temps réel est défini comme dont le comportement dépend : De l'exactitude des traitements effectuées Du temps où les résultats sont produits un système Un retard = le fait de rater une échéance = erreur du système. 15

Exemple : tâche périodique 16

Exemple : tâche périodique 17

Exemple : tâche périodique 18

Exemple : tâche périodique 19

Temps réel dur et lâche : Si le retard d' un traitement = exception (traitement spécifique en cas d'erreur) : on parle d'échéance dure, et il s'agit d'une défaillance Si le retard ne provoque pas d'exception: échéance lâche Un système dont aucune échéance ne doit être dépassée: Temps réel dur (hard real time) Si un dépassement occasionnel ne met pas en danger le système : temps réel lâche, ou mou (soft real time) 20

Temps réel critique : Terminologie qui met l'accent sur les conséquences d'une défaillance du système et concerne la sûreté de fonctionnement Le système est critique si : Il y a des conséquences humaines en cas de défaillance (contrôle aérien, centrales nucléaires, etc...) Le coût financier d'une défaillance du système est d'ordre supérieur à celui du système. (exploration spatiale, etc...) 21

Système et environnement : Système : ensemble d' «activités» correspondant à un où plusieurs traitements effectués en séquence ou en concurrence. Les traitements communiquent éventuellement entre eux. Le système est en interaction avec son environnement Modélisation simple : [1 n] processeurs + périphériques (capteurs, actionneurs) Les capteurs : collecte des signaux (évènements) émis par l'environnement Prélèvement de l'état fugitif de l'environnement (mesures) Les actionneurs effectuent les réactions du système 22

Système et environnement : Interaction système environnement : A des moments déterminés par une référence de temps interne au système : système pilotés par le temps (time driven system), programmée pour exécuter les actions/lectures à intervalles réguliers fixés par un timer (fonctionnement séquentiel) = systèmes synchrones A des moments déterminés par l'environnement lui même: il attend les sollicitations et réagit à celles ci: système piloté par les évènements (event driven system) = systèmes asynchrones Un système temps réel est composé d'un système contrôlé et d'un système contrôleur 23

24

Propriétés Prévisibilité Déterminisme Fiablité 25

Prévisibilité Conception afin que les performances soient définies dans le pire des cas Permet de déterminer à l'avance si un système va respecter ses contraintes temporelles Nécessite un bonne connaissance des paramètres liés aux calculs des activités = déterminisme 26

Déterminisme Enlever toute incertitude (= conserver la prévisibilité) Sur le comportement des activités individuelles Sur le comportement des activités groupées dans le contexte d'exécution (+ordonnancement) Sources de non déterminisme : Charge de calculs (variations des durées d'exécution des activités) Entrées sorties (temps de réaction, durée des communications) Interruptions (temps de réaction du système) Fautes et exceptions matérielles ou logicielles = Fiabilité 27

Fiabilité Intervention humaine directe difficile (syst temps réel embarqués) Conception tolérante aux fautes, pour garantir le comportement du système et de ses composants (prévisibilité => déterminisme => fiabilité) Temps de réaction cruciaux : conception de système dédiés 28

Compromis hardware/software Capacités, propriétés natives (rapidité), fiabilité du hardware Mémoire, cpu, com Poids des différents traitements pour mener à bien une tâche donnée Algo, complexité Gestion du hardware pour permettre l'execution des traitements (noyau temps réel) ordonnancement, gestion de la mémoire, préemption, etc... 29

Exemples Logiciel de contrôle d'un Combiné GSM: Embarqué Gestion des opérations de la couche physique Émission, réception, mesure des niveaux de réception, etc Gestion des procédures logiques Localisation, mesures de qualité du lien radio, Gestion de la conversation Relais entre deux reseaux IHM Redaction, navigation, etc... 30

Système de Video conférence sur réseau local Numérisation du signal video Reseau Séquence de 30 images/s Compression Accès, envoi, réception 31

Robot Autonome Robot type mars explorer: Aller du point A au point B sans être bloqué Navigation évitement d'obstaclew Contrainte importantes car il en découle la «survie» de la mission : le robot ne doit pas rester bloqué échantillonnage des capteurs de proximité Vitesse de déplacement Architecture de subsomption pour ordonnancement, navigation et évitement d'obstacles 32

Limites des systèmes classiques: Ordonnancement: temps partagé Gestion des entrées sorties et des interruptions sous optimales Gestion de la mémoire virtuelle très souple : engendre des fluctuations des temps d'exécution des activités d'un système Résolution temporelle pas assez fine 33

Mécanismes Fondamentaux Idée générale : revoir les mécanismes fondamentaux d'un OS classique pour comprendre les origines de la latence d'un système. Latence : Délai global de bout en bout entre le changement d'état dans un environnent et la réaction correspondante en sortie du système 34

Mécanismes Fondamentaux Il s'agit d'un délai composite qui comprend : Les Les Les Les délais délais délais délais de scrutation du système dus à l'os du calcul applicatif de transmission du message 35

Mécanismes Fondamentaux Il s'agit d'un délai composite qui comprend : Les Les Les Les délais délais délais délais de scrutation du système dus à l'os du calcul applicatif de transmission du message 36

Mécanismes Fondamentaux Il s'agit d'un délai composite qui comprend : Les Les Les Les délais délais délais délais de scrutation du système dus à l'os du calcul applicatif Gigue sur la latence : de transmission du message Décrit l'incertitude sur la latence Problèmes d'accès aux ressources ordonnancement 37

Mécanismes Fondamentaux Exemple (1) : système élémentaire Soit un système simple qui exécute un programme unique : Acquisition des données Traitement (calcul) Restitution des résultats 38

Mécanismes Fondamentaux Exemple (1) : système élémentaire 39

II. Mécanismes Fondamentaux Exemple (1) : phase 1 40

II. Mécanismes Fondamentaux Exemple (1) : phase 2 41

II. Mécanismes Fondamentaux Exemple (1) : phase 3 42

Mécanismes Fondamentaux Exemple (1) : système élémentaire Traitement séquentiel suffisant Séquencement réglé par l'horloge Pas de concurrence entre les phases OS simple Seule la dimension des ressources matérielles/logicielles est à prendre en face au pire des cas: simple) compte (faire 43

Mécanismes Fondamentaux Exemple (2) : système plus complexe : Un évènement survient à n'importe quel moment instant d'apparition non maîtrisé (traitement déjà cours,...) Il doit être pris en compte dans un délais maximum donné : en 44

Mécanismes Fondamentaux Exemple (2) : système plus complexe : Un évènement survient à n'importe quel moment instant d'apparition non maîtrisé (traitement déjà cours,...) Il doit être pris en compte dans un délais donné Deux grands modèles d'interaction : Scrutation cyclique (polling) Interaction par interruptions : en maximum 45

Mécanismes Fondamentaux Scrutation : Le système prend l'initiative d'activer la fonction qui va lire une entrée à un instant programmé pour vérifier si un évènement a eu lieu. Le plus souvent cette scrutation sera faite périodiquement. 46

II. Mécanismes Fondamentaux Scrutation : Boucle infinie : Tant que données non disponibles Vérifier les capteurs Lire les capteurs Traiter les données Démarrer les réactions Tant que action en cours Vérifier les actionneurs 47

Mécanismes Fondamentaux Scrutation (2) : Avantages : Latence du système = temps de traitement d'une boucle Cas proche du système simple séquentiel vu précédemment Simple à programmer Inconvénients «Alignement» de la boucle de traitements sur le périphérique le plus lent Programme difficile à maintenir 48

Mécanismes Fondamentaux Interaction par interruptions : Un signal hardware associé à l'arrivée d'un événement déclenche l'activation de la fonction qui va lire la donnée d'entrée. Le cours normal de l'execution du programme est intérompu. Initialement introduit pour gérer les E/S d'un processeur Concept étendu à la notion d'interruption interne ou exception (trap) logicielle 49

Mécanismes Fondamentaux Interaction par interruptions : 50

Mécanismes Fondamentaux Interaction par interruption : 1. Scrutation : Boucle infinie : tant que (état = données diponibles) vérifier état des capteurs lire les données mémorisées remettre à zéro état des capteurs 51

Mécanismes Fondamentaux Interaction par interruption : 2 gestionnaire d'interuption: Lire et mémoriser la donnée positionner (état = données acquitter l'interrupion diponibles) 52

Mécanismes Fondamentaux Interaction par interruption: Avantages : Le traitement d'un événement externe va être partagé entre un traitement immédiat effectué par le gestionnaire d'interruption et par une gestion différée, confié à une tâche: traitement multitâche possible. Inconvénients Une grande partie du temps cpu est consacré à autre chose que l'application Programme difficile à maintenir 53

Mécanismes Fondamentaux Il s'agit d'un délai composite qui comprend : Les délais de scrutation du système Les délais dus à l'os Les délais du calcul applicatif Les délais de transmission du message 54

II. Mécanismes Fondamentaux Services de base: Execution d'un programme par le (éventuellement en concurrence : Gestion de la mémoire Partage des ressources Synchronisation, communication Gestion du temps, horloge processeur ordonnancement) 55

II. Mécanismes Fondamentaux Services de base: Execution d'un programme par le (éventuellement en concurrence : Gestion de la mémoire Partage des ressources Synchronisation, communication Gestion du temps, horloge processeur ordonnancement) 56

II. Mécanismes Fondamentaux Les tâches : Programme : Objet statique : suite d'instructions agissant sur un ensemble de données Processus : Objet dynamique géré par l'os : tâche ou process Espaces mémoires séparés Communiquent par des canaux spéciaux Création coûteuse en temps Mécanismes de protection très coûteux Passage d'un processus à l'autre : coûteux transferts de mémoire 57

II. Mécanismes Fondamentaux Processus : Zone programme Zone de données Zone de pile (données temporaires) Ensemble des informations caratérisant l'execution d'un processus : contexte du processus Processus lourds (contexte important) Processus légers (contexte partagé/propre)

II. Mécanismes Fondamentaux Gestion multitâche et ordonnancement : Un processus peut avoit plusieurs états: Courant : tâche élue, qui possède le processeur Prêt : tâche éligible, demande le processeur En attente : tâche bloquée en attente d'un événement Transition d'un état à un autre : Réveil : «en attente» à «prêt» Allocation : «prêt» à «courant» Préemption : «courant» à «prêt» Blocage : «courant» à «en attente»

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux

II. Mécanismes Fondamentaux La partie de l'os qui fait évoluer les états des tâches et qui alloue le processeur s'appelle l'ordonnanceur (scheduler) L'ordonnanceur est une procédure de service l'os Ordonnanceur : Préemptif : le processus courant peut être désaloué par décision de l'ordonnanceur (ex : interruptions) Non préemptif: la tâche courante ne peur être interrompue par une autre tâche de

II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes classiques) Premier arrivé, premier servi (FIFO) Premier tâche de la file est allouée Une tâche réveillée ou préemptée : fin de file

II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes classiques) Tour de rôle (tourniquet) FIFO Activation périodique des tâches Pas de notion urgence vis a vis des traitement Politique égalitaire : partage du temps

II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes classiques) Par priorité Choix dans la liste des tâches en fonction de la priorité la tâche La priorité la plus haute l'emporte (allocation) : pas de partage du temps «totalitaire» de

II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes classiques) Unix : priorités et partage du temps : Traitement des tâches de priorité les plus haute Tourniquet parmi les tâches de même priorité Traitement d'interruptions au détriment de tâches de fortes priorités

II. Mécanismes Fondamentaux Lois d'ordonnancement (systèmes TR) Limiter Limiter Utiliser le partage du temps les préemptions (très coûteux) les priorités Ordonner les priorités a priori lors des tests de faisabilité, en fonction des situations/charges du système possibles Grande importance de l'ordonancement/traitement préemptions des

II. Mécanismes Fondamentaux Rappel : Les délais Les délais Les délais Les délais de scrutation du système dus à l'os du calcul applicatif de transmission du message

II. Mécanismes Fondamentaux Gestion des ressources : Problème d'accès concurrent à une même ressource Ex: Tâches 1 et 2

II. Mécanismes Fondamentaux Gestion des ressources : On appelle séquence atomique une suite d'opérations exécutées par un système qui permet de passer d'un état cohérent à un autre état cohérent sans possibilité d'interruption de la séquence (ex : tâches 1 et 2) On appelle section critique une séquence d'opérations qu'il faut effectuer de façon atomique Les sections critiques opérant sur des ressources communes doivent être exécutées en exclusion mutuelle

II. Mécanismes Fondamentaux Pour assurer l'atomicité d'un séquence : Masquage matériel : on assure que la séquence ne sera préemptée en masquant toutes les interruptions et les appels au système pouvant provoquer une préemption Masquage logiciel : inhibition de l'ordonnanceur pendant le déroulement de la section critique. Utilisation de sémaphores d'exclusion mutuelle

II. Mécanismes Fondamentaux Sémaphore binaire ou d'exclusion mutuelle : Entité logique associée Deux primitives P et V sémaphore. à une ressource permettent de manipuler le Entrée d'une tâche en section critique : elle invoque le P Fin du traitement protégé : elle effectue le V

II. Mécanismes Fondamentaux P : Compteur = compteur 1 Si compteur < 0 Mettre la tâche en file d'attente Sinon accorder la ressource (FIFO) Compteur est initialisé à 1 Si plusieurs taches requiers de la file d'attente le P (déjà à 0) constitution Une tâche qui acquiers la ressource «passe le P»

II. Mécanismes Fondamentaux V : Compteur = compteur Si compteur <= 0 sortir une tâche + 1 de la file d'attente (FIFO) Lorsqu'une tâche à effectuée le V, le choix parmi les tâches en attente peut s'effectuer avec les mêmes critères que pour l'ordonnancement Mécanisme qui peut être étendu à plusieurs ressources: Seule la valeur d'initialisation du compteur

II. Mécanismes Fondamentaux Limites pour le TR: Attention aux blocages! Une tâche de faible priorité ne peut bloquer une tâche haute Solutions : Gestion des attentes par priorité Fournir des primitives de type «test de disponibilité» Associer un temps d'attente maximum aux primitives bloquantes

Plan : I. Introduction II. Mécanismes Fondamentaux III. Maîtrise du temps IV. Systèmes Temps Réel

III. Maîtrise du temps Ordonnancement Tests de faisabilité Analyse de l'interaction entre processus Inclusion de processus apériodiques

III. Maîtrise du temps Ordonnancement : «dans quel ordre exécuter les tâches?» Satisfaire les contraintes de temps des transactions TR en allouant de façon efficace les ressource cpu. Différentes catégories d'algorithmes : Off line : les décisions d'ordonnancement sont prises avant l'exécution du système : algorithme statique On line : réévaluation en ligne de l'ordonnancement en fonction de la modification des critères de choix (prise en compte d'évènements non prévus): algorithme dynamique

III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Statiques pilotés par table : Hors ligne L'application va être découpée en séquences élémentaires qui ne seront jamais interrompues Une séquence est une procédure définie par l' utilisateur, C'est l'unité de base Un processus est une suite ordonnée de séquences l'ordonnancement des processus est régit par un calendrier C'est une table spécifiant le liste des processus à activer Application systématique par ordonnancement cyclique ABCABCABC

III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Statiques pilotés par table : Les processus sont indépendants les uns des autres L'ordonnancement des processus est régi par une horloge Il n'existe pas de préemption Le découpage en séquences non interruptibles assure la protection Des données partagées entre les processus Il est aisé de certifier le comportement de l'application

III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Statiques préémptifs basés sur les priorités Hors ligne Permet d'assigner les priorités aux tâches Une fois en cours d'exécution, le système un utilise ordonnancement préemptif (analyse rate monotonic) basée sur la notion de priorité fixée apriori.

III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Dynamique avec planification à l'exécution Analyse en ligne Choix de l'ordonnancement en fonction de critères d'analyse : HPF : Highest Priority First EDF : Earliest Deadline First : échéance la plus proche LLF : Least Laxity First (marge la plus courte) EDF + notion durée de travail Prise de décision quand le système est actif Les critères peuvent varier durant l'exécution de

III. Maîtrise du temps 4 types d'algorithmes d'ordonnancement: Dynamique avec notion du meilleur effort : En ligne Pas d'analyse Le système fait de son mieux

III. Maîtrise du temps Les tâches : Périodiques Sporadiques Apériodiques

III. Maîtrise du temps Les tâches : Périodiques réguliers : doivent être activées à intervalles Sporadiques : irrégulières mais il existe un temps minimal entre deux activations Apériodiques : irrégulières

III. Maîtrise du temps Les tâches : Périodiques Sporadiques Apériodiques Et aussi : Tâches indépendantes Tâches dépendantes

Rappel : III. Maîtrise du temps C: coût d'une tâche D: échéance (deadline), la tâche doit être avant que D soit écoulé T: période d'activation de la tâche exécutée

Exemple : tâche périodique

III. Maîtrise du temps Ordonnancement Tests de faisabilité Analyse de l'interaction entre processus Inclusion de processus apériodiques

III. Maîtrise du temps Test de faisabilité : Déterminer s'il existe algorithme qui satisfait les contraintes du système. un S'il existe un ordonnancement d'un ensemble de tâches qui respecte les contraintes associées à ces tâches, alors l'ensemble des tâches est dit faisable Implique la connaissance du coût des tâches dans le pire des cas

III. Maîtrise du temps

III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic (RM). Méthode d'affectation hors ligne de priorité statiques ensemble de tâches. Ordonancement optimal si HPF est utilisé Critères : Tâches périodiques à l'état Prêt au début de chaque période Échéance = Fin de Période (D=T) à une Les tâches ne se suspendent pas elles mêmes en cours d'exécution Préemtion possible, temps de Préemption négligeable Temps d'ordonancement négligeable Tâches indépendantes, C connu

III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic (RM). L'affectation de priorité se fait en fonction de la fréquence des tâches: Plus la fréquence est forte, plus la priorité est élevée Priorité de la tâche i : Pi = 1/Ti Ordonnancement avec HPF

III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic (RM). Condition suffisante : Métrique : taux d'utilisation du processeur = quantité de temps de traitement consommé par les tâches par n rapport au temps total : U duree i période i i1

III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic (RM). Condition suffisante : Métrique : taux d'utilisation du processeur = quantité de temps de traitement consommé par les tâches par n rapport au temps total : U duree i période i i 1 Pour toute tâche i, avec Ci connu, et Ti=Di, on a: i i j j pour tout i, 1in, U C T i2 1i 1 j 1

III. Maîtrise du temps Test de faisabilité : Analyse Rate Monotonic Condition suffisante : En particulier pour n tâches on a: pour tout i, 1in, U C i T in2 1 n i 1 1 n (RM). Partie de gauche : taux d'utilisation par les n tâche Partie droite : temps cpu allouable au max, en fonction du nombre de tâche, n

III. Maîtrise du temps

III. Maîtrise du temps Théorème de la zone critique Si toutes les tâches arrivent initialement dans le système simultanément et si elles respectent leur première échéance, alors toutes échéances seront respectée par la suite quelle que soit l'instant d'arrivé des tâches pour tout i, 1in, min 0 td C i j j t. ceil t Tj 1 Avec t : instant d'arrivée de la tâche i 1 Prend en compte le retar imputable au déroulement des tâches de plus forte priorité

III. Maîtrise du temps Théorème de la zone critique Plus généralement : On considère un temps de simulation donnée. On réveille toutes les tâches périodiques en même temps à l'instant 0 (pire des cas) Si toutes les tâches sont ordonnancées par HPF sur temps de simulation sans qu'aucune échéance soit manquée, alors le test est considéré comme validé le

III. Maîtrise du temps Propriété harmonique : Cas particulier de tâches où toutes les périodes multiples entre elles: n pour tout i, 1in,U C i T i 1 i 1 sont

III. Maîtrise du temps Test de faisabilité : Analyse Deadline Monotonic (DM). Dérivée de RM Condition suffisante : L'echéance est str inférieure à la période (Di < Ti) La priorité est fixée par ordre inverse de l'échéance i pour tout i, 1in, U i C j D j i2 1 j 1 Affectation statique des priorités, on applique HPF 1i

III. Maîtrise du temps Test de faisabilité : Analyse Dynamique : EDF Ordonnancement dynamique : variation des priorités tâches lorsque le système est en fonctionnement Condition suffisante : pour tout i, 1in, U i C j T j 1 i j1 Priorité : tâche qui possède l'échéance la plus proche En cas d'egalité : la tâche en cours reste en execution des

III. Maîtrise du temps Exemple : HPF

III. Maîtrise du temps Exemple : HPF

III. Maîtrise du temps Exemple : HPF

III. Maîtrise du temps Exemple : HPF

III. Maîtrise du temps Exemple : HPF

III. Maîtrise du temps Exemple : HPF

III. Maîtrise du temps Exemple : HPF

III. Maîtrise du temps Exemple : EDF

III. Maîtrise du temps Exemple : EDF

III. Maîtrise du temps Exemple : EDF

III. Maîtrise du temps Exemple : EDF

III. Maîtrise du temps Exemple : EDF

III. Maîtrise du temps Exemple : EDF

III. Maîtrise du temps Exemple : EDF

III. Maîtrise du temps Test de faisabilité : Analyse Dynamique : LLF Ordonnancement dynamique : variation des priorités tâches lorsque le système est en fonctionnement Condition suffisante : pour tout i, 1in, U i C j T j 1 i j1 Priorité : tâche qui possède la marge la plus faible Marge = echeance temps de calcul restant des

III. Maîtrise du temps

III. Maîtrise du temps

III. Maîtrise du temps Interaction entre processus : Dans certains cas, les tâches peuvent être potentiellement dépendantes : cas d'accès en exclusion mutuelle à des ressources communes Pb de l'inversion de priorité : Une tâche de plus faible priorité bloque une tâche plus importante Le système doit temporairement inverser les priorités pour éviter le préemption (section critique) Coûteux et lourd à gérer

III. Maîtrise du temps Solution: héritage de priorité : Le possesseur du sémaphore est la tâche qui a eu le droit d'accéder à la ressource en exclusion mutuelle Héritage simple : c'est le sémaphore qui gère les priorités dans sa file d'attente La tâche qui détiens le sémaphore hérite de la priorité de la tâche qui réclame la ressource Limite à 1 le nombre d'inversion de priorités

III. Maîtrise du temps Solution: héritage de priorité (pour info): Héritage par verrou le plus haut Héritage par plafond de priorité

III. Maîtrise du temps Inclusion de processus apériodiques : Un processus périodique assimilé à intégré dans le système. Il contrôle les tâches apériodiques Ce serveur possède : Une priorité Pm (à définir) Un coût Cm dans le pire des cas définit profil d'arrivée des tâches apériodiques Une période Tm un serveur est en fonction du

III. Maîtrise du temps Fonctionnement en 2 phases: Scrutation des évenements périodiques à utiliser Déclenchement de l'exécution s'il y a au moins un événement en attente d'être traité. Dans ce cas, la capacité de traitement Cm est offerte. Donne un profil périodique à des événement apériodiques Peut être intégré dans RM, DM, etc...

III. Maîtrise du temps Résumé : analyse RM Affectation des priorités statique Optimal : si un algorihtme statique arrive a produire un ordonnancement, alors RM y arrive aussi Peut être augmenté pour prendre en compte: Les situations de blocage Les tâches apériodiques Simple Ne pas oublier de vérifier le cas harmonique

III. Maîtrise du temps Résumé : analyse DM Idem RM

III. Maîtrise du temps Résumé : ordonnancement HPF Simple Bien adapté aux tâches périodiques Très utilisé et apériodiques Indépendance impérative Sous optimal

III. Maîtrise du temps Résumé : ordonnancement EDF Simple Optimise l'usage des ressource Bien adapté aux tâches périodiques et apériodiques Indépendance impérative Comportement délicat en cas de surcharge Commence à apparaître dans les nouveux OS

III. Maîtrise du temps Résumé : ordonnancement LLF Priorités dynamiques Même hypothèses que EDF Optimal sur 1 cpu Meileur qu'edf en multiprocesseur Difficile à implanter: nécéssité de maintenir à jour le temps de calcul consommé pour chaque tâche

III. Maîtrise du temps Résumé général: Faire le test: RM ou DM Tester les différentes politique d'ordonacement: HPF vs EDF vs LLF Conclure sur la politique la moins coûteuse : La plus simple: le moins de calculs dynamiques Le moins de préemption