Cours A7 : Temps Réel



Documents pareils
Cours A7 : Temps Réel

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Introduction aux Systèmes et aux Réseaux

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

Partie 7 : Gestion de la mémoire

Sécurité et sûreté des systèmes embarqués et mobiles

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

Chapitre 4 : Outils de communication centralisés entre processus

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

gestion des processus La gestion des processus

Cours Programmation Système

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Ordonnancement temps réel

Structure fonctionnelle d un SGBD

Licence Sciences et Technologies Examen janvier 2010

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

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

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

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

Cours de Systèmes d Exploitation

Contributions à l expérimentation sur les systèmes distribués de grande taille

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

4D v11 SQL Release 5 (11.5) ADDENDUM

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

Chapitre 5 : Flot maximal dans un graphe

Ordonnancement temps réel

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

Gestion des processus

CH.3 SYSTÈMES D'EXPLOITATION

GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Support de cours système d exploitation

SYSTÈME DE GESTION DE FICHIERS

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

Systemes d'exploitation des ordinateurs

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

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

Chapitre I Notions de base et outils de travail

Gestion répartie de données - 1

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Traduction des Langages : Le Compilateur Micro Java

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

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

Nouvelles stratégies et technologies de sauvegarde

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Chapitre 2. Les processus. 2.1 Introduction. 2.2 les différents états d un processus

LOGICIEL DE GESTION DE LABORATOIRE ALPHA LABO

Introduction aux algorithmes répartis

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

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

PROGRAMMATION EVENEMENTIELLE sur EXCEL

PG208, Projet n 3 : Serveur HTTP évolué

Un ordonnanceur stupide

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Aperçu de la sauvegarde sous Windows 7

1 LE L S S ERV R EURS Si 5

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

Systèmes d exploitation Gestion de processus

Mode Opératoire Windows XP

INF601 : Algorithme et Structure de données

T. A. D. pile. Chapitre 7 (suite) Listes particulières. T. A. D. file. représentation chaînée de la file algorithmique. Files

Annexe 6. Notions d ordonnancement.

Ordinateurs, Structure et Applications

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

Algorithmique et systèmes répartis

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

Architecture ordinateur. Organisation mémoire et Entrées/Sorties

GPA770 Microélectronique appliquée Exercices série A

Avira Version 2012 (Windows)

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

Vérification formelle de la plate-forme Java Card

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

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

Réalisation d un OS 32 bits pour PC(x86)

Introduction au temps réel

Surveiller les applications et les services grâce à la surveillance réseau

Editeur de solutions innovantes C 3. Solution globale managée de communication et de téléphonie sur IP

White Paper - Livre Blanc

KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel

Windows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

GUIDE D'UTILISATION DU SYSTEME TELEPHONIQUE POLYCOM

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Démarrer et quitter... 13

Dispositif sur budget fédéral

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

Chapitre 2. Cluster de calcul (Torque / Maui) Grid and Cloud Computing

Windows Internet Name Service (WINS)

Transcription:

Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE)

Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion mémoire, +/- par rapport au TR. Comprendre les mécanismes systèmes mis en oeuvre dans un système temps réel

Gestion de plusieurs tâches. Pour chaque tâche : Notre système Contexte: son nom, les registres d états, etc. CO (compteur ordinal) et une zone mémoire de programme. PP (pointeur de pile) et données temporaires.

La gestion des tâches (1/3) Etats des tâches : courant en-attente prêt Action sur les tâches (changement d états) : allocation préemption blocage/réveil

La gestion des tâches (1/3) Diagramme de gestion des tâches blocage courant élection préemption prêt en-attente réveil

La gestion des tâches (1/3) On appelle ordonnanceur la partie du SE qui prend en charge la gestion des tâches. création, initialisation, élection, destruction gestion du diagramme des tâches (en-attente, courant, prêt) structure de données associées liste tâches prêtes liste tâches en attentes Politique d ordonnancement...

Les politiques d ordonnancement Ordonnancement statique et dynamique statique : avant un flot d exécution dynamique : pendant l exécution d un flot les tâches sont re-prioriser en fonction des priorités La préemption de tâches pour pouvoir réorganiser les priorités des tâches dans la liste des tâches en attente et élire une tâche prioritaire il faut pouvoir arrêter la tâche courante (préemption).

Les algorithmes d ordonnancement Tourniquet (round robin) Priorité Premier entré premier sorti (FIFO)

Exemple du tourniquet Soient les données suivantes : Tâche T1 T2 T3 T4 Durée 3 4 1 6 Donner le déroulement des tâches pour le tourniquet considérant que les tâches s effectuent pendant des durées de temps fixées.

Exemple du tourniquet Tâche T1 T2 T3 T4 Durée 3 4 1 6 Les tâches s exécuteront dans cet ordre : T1 T2 T3 T4 T1 T2 T4 T1 T2 T4 T2 T4 T4 T4

Exercice Donner l algorithme de gestion des tâches dans la cas d un tourniquet. Structure de données et fonctions de base (à définir et préciser) : Liste_Tâche = une liste chaînée contenant les tâches prêtes. Première_Tâche = retourne la première tâche dans Liste_Tâche. Tâche _Suivante = permet de passer à la tâche suivante dans la liste. TC = Tâche Courante. DTC = Durée de TC. Insérer_Fin_Liste_Tâche = insère la tache TC en fin de liste Liste_Tâche.

Algorithme du Tourniquet Liste_Tâche = une liste chaînée contenant les tâches prêtes. Première_Tâche (Liste_Tâche) = retourne la première tâche dans Liste_Tâche. TC = Tâche Courante. DTC = Durée de TC. Insérer_Fin_Liste_Tâche (TC) = insère la tache TC en fin de liste Liste_Tâche. Tourniquet TQ Liste_Tâche NON Vide TC = Sortir_Première_Tâche ; Exécuter_Tâche (TC, 1ut) % Exécution pendant un quantum de temps% % Interruption de TC ; DTC = DTC 1 ; Si DTC < 0 alors Insérer_Fin_Liste_Tâche (TC) ; fsi FTQ

Tourniquet +/- Avantages : équité entre toutes les tâches, mise en oeuvre simple. Inconvénients : ne tient pas compte des besoins applicatifs, notion de priorité.

Priorité Soient les données suivantes : Tâche T1 T2 T3 T4 Durée 3 4 1 6 Priorité 2 3 4 1 Donner le déroulement des tâches pour le tourniquet considérant que 1 représente priorité la plus haute.

Priorité simple Les tâches s exécuteront dans cet ordre : T4 T4 T4 T4 T4 T4 T1 T1 T1 T2 T2 T2 T2 T3 Si le tableau devient? Tâche T1 T2 T3 T4 Durée 3 4 1 6 Priorité 2 2 3 1 T4 T4 T4 T4 T4 T4?

Exercice Donner l algorithme de gestion des tâches dans la cas d un tourniquet. Structure de données et fonctions de base (à définir et préciser) : Liste_Tâche = une liste chaînée contenant les tâches prêtes. Première_Tâche = retourne la première tâche dans Liste_Tâche. Tâche _Suivante = permet de passer à la tâche suivante dans la liste. TC = Tâche Courante. DTC = Durée de TC. Insérer_Fin_Liste_Tâche = insère la tache TC en fin de liste Liste_Tâche.

Algorithme Priorité simple Priorité TQ Liste_Tâche NON Vide TC = Sortir_Tâche_Prioritaire ; Exécuter (TC) ; FTQ

Priorité et tourniquet Tâche T1 T2 T3 T4 Durée 3 4 1 6 Priorité 2 2 3 1 Ordre arrivée 3 2 1 4 Les tâches s exécuteront dans cet ordre : T4 T4 T4 T4 T4 T4 T2 T2 T2 T2 T1 T1 T1 T3

Priorité avantages et inconvénients Avantages : Meilleur respect des contraintes applicatives. Inconvénients : Ne tient pas compte de la communication entre tâches.

Premier entré premier sorti (FIFO) Donner l algorithme de cette méthode : FIFO TQ Liste_Tâche NON Vide TC = Première Tâche (Liste_Tâche); Exécuter (TC) ; Supprimer (TC) ; FTQ Discuter les pros/cons

Gestion de tâches communicantes Renforcement des primitives de notre système: besoin de suspendre une tâche en cours d exécution : suspendre besoin d informer une tâche en-attente de la disponibilité d une ressource signaler Exemple : une tâche est mise en attente d une E/S(suspendre), lors de la disponibilité de la ressource E/S elle sera réveillée (signaler)

Exemple Tâche 1 Tâche 2 SousTâche 1.1 SousTâche 1.2 suspendre signaler SousTâche 2.1

Exemple 2 Tâche 1 ST 1.1 ST 1.2 suspendre signaler ST 1.3 Tâche 2 ST 2.1 ST 2.2 ST 2.3 Tâche 3 ST 3.1 ST 3.2 Tâche T1 T2 T3 Durée 3 3 2 Priorité 3 2 2

Exercice Donner l algorithme d ordonnancement de l exemple 2? Discuter du choix?

Exemple 2 bis Tâche 1 ST 1.1 ST 1.2 suspendre signaler... t Tâche 2 ST 2.1 ST 2.2 ST 2.3 t Tâche 3 ST 3.1 ST 3.2 t Tâche T1 T2 T3 Durée 3 3 2 Priorité 3 2 2

Comparer les deux exemples Donner l algorithme de l exemple 2 bis Où il y a besoin d un SE préemptif? Les tâches prioritaires se finissent-elles les premières?

Limites de ces approches Unix basé sur une priorité et le partage du temps. Les STRs sont basés sur un ordonnancement préemptif des tâches.

Gestion mémoire (1/4) Dans les SEs, les adresses mémoires sont des adresses virtuelles, le SE fait la correspondance entre des adresses virtuelles et des adresses réelles. Trois niveau de mémoire avec des vitesses d accès différentes : mémoire cache mémoire de masse mémoire disque

Gestion mémoire (1/4) Mémoire cache Espace Virtuel de T #p adr dans p M M U Mémoire (RAM) Disque

Gestion mémoire (1/4) Gestion par pages Accès mémoire et gestion des pages : Demande d accès mémoire Si page disponible en mémoire alors accès Sinon % défaut de page % suspendre la tâche dé-allouer une page %choix en fonction de la politique% charger nouvelle page signaler fsi

Limite pour le TR : Gestion mémoire (1/4) Difficile de prédire un défaut de page : Pour l éviter des systèmes offrent des fonctions de réservation/ blocage de page. Opération lourde et complexe. Opération réaliser en général par interruption.

Gestion des interruptions (1/) Les étapes de la gestion des ITs : Sauvegarde du contexte d exécution de la la tâche courante (CO, PP, registres) Activation du gestionnaire d IT En fonction de la nature de l IT et des priorités entre IT Traitement de l IT Signaler fin IT Reprendre tâche ou élire nouvelle tâche

Gestion des interruptions (1/) Arrivée IT Signaler Fin IT T svg contexte gestion IT traitement IT gestion IT élection T T t Temps de commutation Temps de latence interruption Temps de sélection +Temps de préemption

Gestion des interruptions (1/) Limites pour le TR Pas de garantie sur les temps de latence, de traitement et de restitution du contexte d une tâche. Les STRs disposent de priorités définit finement pour gérer les interruptions et les repoussent au niveau de l application.