Ordonnancement. Méthodes de Programmation Système 2003/2004 J. Delacroix 1

Documents pareils
Ordonnancement temps réel

Cours A7 : Temps Réel

REALISATION d'un. ORDONNANCEUR à ECHEANCES

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

Ordonnancement temps réel

Partie 7 : Gestion de la mémoire

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

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

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

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

Chapitre 4 : Outils de communication centralisés entre processus

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

Cours A7 : Temps Réel

Cours Programmation Système

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

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

Impact de choix d implantation sur les performances d une application de Contrôle-Commande

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

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

Cours de Systèmes d Exploitation

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

Chapitre 4 : Exclusion mutuelle

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

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

Les diagrammes de modélisation

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

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

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

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

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

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

PROGRAMMATION EVENEMENTIELLE sur EXCEL

Support de cours système d exploitation

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

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Introduction aux Systèmes et aux Réseaux

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

TP LINUX : MISE EN RÉSEAU D UN SERVEUR LINUX

Concept de machine virtuelle

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Utilisation de l outil lié à MBKSTR 9

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Spécifications du logiciel. Mise à jour : 24 février 2011 Nombre total de pages : 7

Licence Sciences et Technologies Examen janvier 2010

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

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

SYSTÈME DE GESTION DE FICHIERS

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

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

VOCALYS LITE.

Gestion répartie de données - 1

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Introduction. A ce stade, il est important de différencier 3 choses :

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Statistiques et traitement des données

I- Définitions des signaux.

DirXML License Auditing Tool version Guide de l'utilisateur

TP Service HTTP Serveur Apache Linux Debian

LES ACCES ODBC AVEC LE SYSTEME SAS

1 Démarrage de Marionnet

Cours Informatique Master STEP

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Introduction au temps réel

Analyse de performance, monitoring

Hervé Le Coustumer - Directeur Business Unit Support & Services Managés

îundesdruokerei Berlin

Introduction aux algorithmes répartis

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Tout savoir sur le matériel informatique

UserLock Quoi de neuf dans UserLock? Version 8.5

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

MANUEL D UTILISATION (simplifié) DE LA CENTRALE LS-30

Démarrer et quitter... 13

Chapitre IX : Virtualisation

Internet et Multimédia Exercices: flux multimédia

Gestion des processus

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

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Annexe 6. Notions d ordonnancement.

TVD 03 GSM - Transmetteur Téléphonique Vocal

Systèmes d exploitation Gestion de processus

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

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Exécution des instructions machine

Symantec Protection Suite Enterprise Edition Protection éprouvée pour les terminaux, la messagerie et les environnements Web

LES GENERATEURS DE NOMBRES ALEATOIRES

Chapitre 4 : Édition de fichiers texte - Vi

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Mises à jour CELCAT depuis la version 6.4

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Initiation au HPC - Généralités

IFT1215 Introduction aux systèmes informatiques

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

1 Description du phénomène. 2 Mode de diffusion effets dommageables

Fiche des fonctions du téléphone Business Communications Manager

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Transcription:

Ordonnancement Méthodes de Programmation Système 2003/2004 J. Delacroix 1

Ordonnancement dans un système multiprocessus Méthodes de Programmation Système 2003/2004 J. Delacroix 2

Mémoire Centrale Système multiprocessus P1 P2 P3 P4 P51 P6 elu attente E/S attente cpu attente E/S attente cpu Processeur P2 attente cpu P1 UE P4 Bus Méthodes de Programmation Système 2003/2004 J. Delacroix 3

Système multiprocessus Etats des processus Fin Réveil Election Elu En exécution Prêt En attente du processeur Préemption (réquisition) Blocage Déblocage Bloqué En attente de ressources Méthodes de Programmation Système 2003/2004 J. Delacroix 4

Réveil Prêt Election Elu Fin En exécution Système multiprocessus Etats des processus En attente du processeur Préemption (réquisition) Blocage Déblocage Bloqué En attente de ressources Election : allocation du processeur Préemption : réquisition du processeur ordonnancement non préemptif : un processus élu le demeure sauf s il se bloque de lui-même ordonnancement préemptif : un processus élu peut perdre le processeur - s il se bloque de lui-même (état bloqué) - si le processeur est réquisitionné pour un autre processus (état prêt) Méthodes de Programmation Système 2003/2004 J. Delacroix 5

Système multiprocessus Ordonnancement Processus P0 Système d exploitation Processus P1 ELU Interruption ou appels système Sauvegarde PCB 0 élection PRET Recharge PCB 1 BLOQUE PRET Interruption ou appels système ELU ELU Sauvegarde PCB 1 élection Recharge PCB 0 PRET Méthodes de Programmation Système 2003/2004 J. Delacroix 6

Système multiprocessus Ordonnancement Le système Unix ou Linux est un gestionnaire de processus. Il offre des services aux processus Il ne comporte pas à proprement parler de processus qui exécutent son code. Ce sont les processus utilisateurs qui en passant en mode noyau exécutent le code du système L ordonnancement est lancé à chaque fois qu un processus utilisateur s apprête à repasser en mode utilisateur depuis le mode noyau. Méthodes de Programmation Système 2003/2004 J. Delacroix 7

Système multiprocessus Ordonnanceur et répartiteur PCB PCB PCB PCB PCB PCB PCB PCB PCB PCB PCB PCB Préemption Cpu Cpu Cpu Blocage Election Répartiteur Prêts Classement selon une Ordonnanceur Politique d'ordonnancement Déblocage Bloqués Méthodes de Programmation Système 2003/2004 J. Delacroix 8

Politiques d'ordonnancement Objectifs Temps partagé (interactifs) Maximiser le taux d'occupation du processeur Minimiser le temps de réponse des processus Temps réel Respecter les contraintes temporelles des processus Méthodes de Programmation Système 2003/2004 J. Delacroix 9

Politiques d'ordonnancement Premier arrivé, premier servi FIFO, sans réquisition Par priorités constantes Par tourniquet (round robin) Par files de priorités de priorités constantes multiniveaux avec ou sans extinction de priorité Méthodes de Programmation Système 2003/2004 J. Delacroix 10

Algorithme : Premier Arrivé Premier Servi FIFO, sans réquisition Prêt Prêt Actif P1 P2 P3 Bloqué 24 3 3 Temps de cycle P3 P2 P1 Temps moyen d'attente 17 millisecondes (0 + 24 + 27)/3 24 27 30 Méthodes de Programmation Système 2003/2004 J. Delacroix 11

Algorithme : Premier Arrivé Premier Servi Prêt P2 P3 P1 Prêt Actif 3 3 24 Temps de cycle Bloqué P3 P2 P1 Temps moyen d'attente 3 millisecondes (6 + 0+ 3) /3 3 30 6 Méthodes de Programmation Système 2003/2004 J. Delacroix 12

Politiques d'ordonnancement Premier arrivé, premier servi Par priorités constantes chaque processus reçoit une priorité le processus de plus forte priorité est élu Avec ou sans réquisition Par tourniquet (round robin) Par files de priorités de priorités constantes multiniveaux avec ou sans extinction de priorité Méthodes de Programmation Système 2003/2004 J. Delacroix 13

Algorithme : avec priorités Prêt P1 3 1 3 2 10 1 2 5 P2 P3 P4 P4 P3 P2 Temps moyen d'attente 8,2 millisecondes P1 Méthodes de Programmation Système 2003/2004 J. Delacroix 14

Politiques d'ordonnancement Premier arrivé, premier servi Par priorités constantes Par tourniquet (round robin) Définition d'un quantum = tranche de temps Un processus élu s'exécute au plus durant un quantum; à la fin du quantum, préemption et réinsertion en fin de file d'attente des processus prêts Par files de priorités de priorités constantes multiniveaux avec ou sans extinction de priorité Méthodes de Programmation Système 2003/2004 J. Delacroix 15

Algorithme : tourniquet Prêt P1 P2 P3 Quantum = 4 20 7 3 Temps de cycle P3 P2 P1 4 8 11 15 18 22 26 30 Méthodes de Programmation Système 2003/2004 J. Delacroix 16

Politiques d'ordonnancement Premier arrivé, premier servi Par priorités constantes Par tourniquet (round robin) Par files de priorités de priorités constantes multiniveaux avec ou sans extinction de priorité chaque file est associée à un quantum éventuellement différent sans extinction : un processus garde toujours la même priorité avec extinction : la priorité d'un processus décroit en fonction de son utilisation de la cpu Méthodes de Programmation Système 2003/2004 J. Delacroix 17

Algorithme : multifiles sans extinction Arrivée Prêt F1 q1 F2 q2 F3 q3 Election Fn qn Méthodes de Programmation Système 2003/2004 J. Delacroix 18

Algorithme : multifiles avec extinction Arrivée Prêt F1 q1 Priorité F2 q2 F3 q3 Election Fn FCFS -- Méthodes de Programmation Système 2003/2004 J. Delacroix 19

Ordonnancement : système LINUX Trois classes d ordonnancement (norme POSIX) : Prio ++ SCHED_FIFO : Priorité préemptif SCHED_RR : Tourniquet (quantum) SCHED_OTHER : politique Unix Priorité fixe Priorité variable Fonction de l utilisation du processeur A l instant t, le système élit (fonction GOODNESS du noyau) -Le processus SCHED_FIFO de plus forte priorité qui s exécute jusqu à sa fin ou jusqu à préemption par un processus FIFO plus prioritaire -Le processus SCHED_RR de plus forte priorité pour un quantum -Le processus SCHED_OTHER de plus forte priorité Méthodes de Programmation Système 2003/2004 J. Delacroix 20

Ordonnancement dans le système Unix Méthodes de Programmation Système 2003/2004 J. Delacroix 21

Ordonnancement dans le système Unix Utilisateur Interruption Appels système Trappe P1 (u) Noyau (pas de processus noyau) Sauvegarde de contexte (CO, PSW) P1 (n) P2 (u) P1 (CO, PSW) P2 (CO, PSW) Traitement It Appel système Restitution de contexte Ordonnancement Election P1 P2 Prêt Méthodes de Programmation Système 2003/2004 J. Delacroix 22

Ordonnancement dans le système Unix Politique en temps partagé basée sur le quantum Priorité du processus : champs dans l'entrée de la table des processus. Elle est fonction de l'utilisation de l'unité centrale Multiples files de priorité Deux classes de priorité : priorité utilisateur (préemption) priorité noyau (endormis sur sleep) Méthodes de Programmation Système 2003/2004 J. Delacroix 23

Ordonnancement dans le système Unix Priorités du mode noyau (sleep) Non interruptible Interruptible Swapper Attente E/S disque Attente tampon Attente sortie tty Attente entrée tty Attente exit du fils Priorités du mode user (préempté) Niveau utilisateur 0 Niveau utilisateur 1 Niveau utilisateur n Méthodes de Programmation Système 2003/2004 J. Delacroix 24

Ordonnancement dans le système Unix Multiples files de priorité Priorité Noyau : la file où le processus s'endort est fonction de l'événement attendu la priorité correspond à une "préférence" sur les réveils suite à un événement : "éviter les embouteillages" un processus endormi en priorité noyau demeure toujours dans la file où il s'est endormi Méthodes de Programmation Système 2003/2004 J. Delacroix 25

Ordonnancement dans le système Unix Multiples files de priorité Priorité Utilisateur : un processus qui se réveille quitte la priorité noyau pour réintégrer les priorités utilisateur la procédure de traitement de l'interruption horloge ajuste les priorités des processus en mode utilisateur toutes les secondes (system V) et fait entrer le noyau dans son algorithme d'ordonnancement pour éviter qu'un processus monopolise l'unité centrale Méthodes de Programmation Système 2003/2004 J. Delacroix 26

Ordonnancement dans le système Unix Procédure de traitement de l'it horloge et priorité des processus A chaque IT horloge ++ dans le champ "utilisation CPU" du processus élu Toutes les secondes (~~de 50 à 100 IT horloge) Utilisation UC = Utilisation UC / 2 priorité processus = Utilisation UC/2 + (priorité de base niveau utilisateur) Recalcul de la priorité; les processus se déplacent dans les files de priorité Méthodes de Programmation Système 2003/2004 J. Delacroix 27

Ordonnancement dans le système Unix Exemple Trois processus A, B, C Priorité initiale = 60 Priorité de niveau 0 = 60 L'It horloge se déclenche 60 fois par seconde Méthodes de Programmation Système 2003/2004 J. Delacroix 28

0 A 1 B 2 C 3 A 4 B 5 67 (60 + 15/2) 63 (60 +7/2) Proc A Proc B Proc C Priorité Compte UC Priorité Compte UC Priorité Compte UC 60 0 1 75 (60+30/2) 76 (60 + 33/2) 60 30 (60/2) 15 (30/2) 7 (15/2) 8 67 33 (67/2) 60 0 60 0 60 0 1 60 60 0 75 30 60 0 1 60 67 15 75 30 63 7 8 67 67 15 Méthodes de Programmation Système 2003/2004 J. Delacroix 29

Ordonnancement dans les systèmes temps réel Méthodes de Programmation Système 2003/2004 J. Delacroix 30

Caractéristiques de l'ordonnancement temps réel Contexte applicatif Application de contrôle multitâches Commandes Fonction de pilotage Mesures Evénements Fonction de suivi Contraintes de temps Méthodes de Programmation Système 2003/2004 J. Delacroix 31

Caractéristiques de l'ordonnancement temps réel Caractéristiques de l'ordonnancement temps réel - But principal de l'ordonnancement : permettre le respect des contraintes temporelles associées à l'application et aux tâches. - Chaque tâche possède un délai critique : temps maximal pour s'exécuter depuis sa date de réveil. La date butoir résultante est appelée échéance. - Le dépassement d'une échéance est appelé faute temporelle. Délai critique Exécution non terminée : faute temporelle réveil échéance Méthodes de Programmation Système 2003/2004 J. Delacroix 32

Caractéristiques de l'ordonnancement temps réel Caractéristiques de l'ordonnancement temps réel Applications embarquées et critiques : nécessité de certifier l'ordonnancement réalisé, c'est-à-dire de vérifier avant le lancement de l'application (hors ligne) le respect des contraintes temporelles. Cette certification s'effectue à l'aide de tests d'acceptabilité qui prennent en compte les paramètres temporels des tâches (temps d'exécutions des tâches). Méthodes de Programmation Système 2003/2004 J. Delacroix 33

Caractéristiques de l'ordonnancement temps réel Test d'acceptabilité Vraie Configuration ordonnançable Fausse Configuration non ordonnançable Complexité de la configuration de tâches Condition suffisante Condition exacte (rarement) Condition nécessaire Méthodes de Programmation Système 2003/2004 J. Delacroix 34

Caractéristiques de l'ordonnancement temps réel Caractéristiques de l'ordonnancement temps réel Tests d'acceptabilité : utilisent les temps d'exécution des tâches. Il faut pouvoir déterminer et borner ces temps L'exécutif doit être déterministe Un exécutif déterministe est un exécutif pour lequel les temps de certaines opérations système et matérielles élémentaires peuvent être bornés : temps de commutation, temps de prise en compte des interruptions, etc Méthodes de Programmation Système 2003/2004 J. Delacroix 35

Caractéristiques de l'ordonnancement temps réel Caractéristiques de l'ordonnancement temps réel Ordonnancement hors ligne Un ordonnancement hors ligne établit avant le lancement de l'application une séquence fixe d'exécution des tâches à partir de tous les paramètres de celles-ci. Cette séquence est rangée dans une table et exécutée en ligne par un automate t = 0 tâche 1 t = 5 tâche 3 t = 8 tâche 1 t = 15 tâche 3 t = 30 tâche 5 t = 32 tâche 4 Construite hors ligne automate Méthodes de Programmation Système 2003/2004 J. Delacroix 36

Caractéristiques de l'ordonnancement temps réel Caractéristiques de l'ordonnancement temps réel Ordonnancement en ligne La séquence d'exécution des tâches est établie dynamiquement par l'ordonnanceur au cours de la vie de l'application en fonction des événements qui surviennent. L'ordonnanceur choisit le prochaine tâche à élire en fonction d'un critère de priorité. ordonnanceur Tâches prêtes classées selon un critère de priorité Élection choix d'une tâche à exécuter parmi toutes les tâches prêtes Tâches réveillées dynamiquement Méthodes de Programmation Système 2003/2004 J. Delacroix 37

Caractéristiques de l'ordonnancement temps réel Modélisation de l'application pour la certification Tâches périodiques Elles correspondent aux mesures sur le procédé ; elles se réveillent régulièrement (toutes les P unités de temps) périodiques strictes : contraintes temporelles dures à respecter absolument périodiques relatives : contraintes temporelles molles qui peuvent être non respectées de temps à autre (sans échéance) périodiques à échéance sur requête (délai critique = période) Méthodes de Programmation Système 2003/2004 J. Delacroix 38

Modèle de tâches Périodique stricte Tp (r 0, C, R, P) 0 C R P Tp (t, C(t), R(t)) R = P, à échéance sur requête d k = r k+1 R Cmax r 0, date de premier réveil P, période r k, date de réveil de la kème requête r k = r 0 +kp C, temps d'exécution R, délai critique d k, échéance = r k + R C(t) : temps d'exécution restant à t R(t) : délai critique dynamique (temps restant à t jusqu'à d) kème requête r 0 t C(t) P R(t) d 0 r 0 +kp t Méthodes de Programmation Système 2003/2004 J. Delacroix 39

Caractéristiques de l'ordonnancement temps réel Modélisation de l'application pour la certification Tâches apériodiques Elles correspondent aux événements ; elles se réveillent de manière aléatoire apériodiques strictes : contraintes temporelles dures à respecter absolument apériodiques relatives : contraintes temporelles molles qui peuvent être non respectées de temps à autre (sans échéance) Méthodes de Programmation Système 2003/2004 J. Delacroix 40

Modèle de tâches Apériodique stricte Tap (r, C, R) Tap (t, C(t), R(t)) R Cmax r, date aléatoire de réveil C, temps d'exécution R, délai critique d k, échéance = r k + R C(t) : temps d'exécution restant à t R(t) : délai critique dynamique (temps restant à t jusqu'à d) kème requête r d r' t t C(t) R(t) Méthodes de Programmation Système 2003/2004 J. Delacroix 41

Algorithmes d'ordonnancement pour les tâches périodiques indépendantes Algorithmes en ligne et préemptifs avec un test d'acceptabilité évaluable hors ligne Nous ordonnançons un ensemble de tâches périodiques (configuration). Les priorités affectées aux tâches sont soit constantes (évaluées hors ligne et fixes par la suite), soit dynamiques (elles changent dans la vie de la tâche) L'ordonnancement d'un ensemble de tâches périodiques est cyclique et la séquence se répète de manière similaire sur ce que l'on appelle la période d'étude. Pour un ensemble de tâches à départ simultanée (t = 0), la période d'étude est : [0, PPCM(P i )] Méthodes de Programmation Système 2003/2004 J. Delacroix 42

Algorithmes d'ordonnancement pour les tâches périodiques indépendantes Rate Monotonic Priorité de la tâche fonction de sa période. Priorité constante La tâche de plus petite période est la tâche la plus prioritaire Pour un ensemble de n tâches périodiques à échéance sur requête Tp i (r 0, C i, P i ), un test d'acceptabilité est (condition suffisante) : n i= 1 C P i i n 1/ (2 n 1) Méthodes de Programmation Système 2003/2004 J. Delacroix 43

Algorithmes d'ordonnancement pour les tâches périodiques indépendantes Rate Monotonic Tp 1 (r 0 = 0, C = 3,P = 20) 0 4 5 7 9 20 t Tp 2 (r 0 = 0, C = 2, P = 5) 0 2 5 7 10 12 15 17 20 t Tp 3 (r 0 = 0, C = 2, P=10) 0 2 4 10 12 14 20 t Réveil Echéance sur requête Méthodes de Programmation Système 2003/2004 J. Delacroix 44

Algorithmes d'ordonnancement pour les tâches périodiques indépendantes Inverse Deadline Priorité de la tâche fonction de son délai critique. Priorité constante La tâche de plus petit délai critique est la tâche la plus prioritaire Pour un ensemble de n tâches périodiques à échéance sur requête Tp i (r 0, C i, R i, P i ), un test d'acceptabilité est (condition suffisante) : n i= 1 C R i i n 1/ (2 n 1) Méthodes de Programmation Système 2003/2004 J. Delacroix 45

Algorithmes d'ordonnancement pour les tâches périodiques indépendantes Inverse Deadline Tp 1 (r 0 = 0, C = 3, R = 7, P = 20) 0 2 5 7 20 t Tp 2 (r 0 = 0, C = 2, R = 4, P = 5) 0 2 4 5 7 9 10 12 14 15 17 19 20 t Tp 3 (r 0 = 0, C = 2, R = 9, P = 10) 0 7 9 10 12 14 19 20 t Réveil Échéance Méthodes de Programmation Système 2003/2004 J. Delacroix 46

Algorithmes d'ordonnancement pour les tâches périodiques indépendantes Earliest Deadline Priorité de la tâche fonction de son délai critique dynamique. Priorité dynamique A t, la tâche de plus petit délai critique dynamique (de plus proche échéance) est la tâche la plus prioritaire CNS (tâches ER) CS (tâches quelconques) CN (tâches quelconques) n i= 1 C P i i 1 n i= 1 C R i i 1 n i= 1 Ci P i 1 Méthodes de Programmation Système 2003/2004 J. Delacroix 47

Algorithmes d'ordonnancement pour les tâches périodiques indépendantes Earliest Deadline Tp 1 (r 0 = 0, C = 3, R = 7, P = 20) 0 2 5 7 20 t Tp 2 (r 0 = 0, C = 2, R = 4, P = 5) 0 2 4 5 6 8 9 10 12 14 15 17 19 20 t Tp 3 (r 0 = 0, C = 1, R = 8, P = 10) 0 5 6 8 10 12 13 18 20 t Réveil Echéance Méthodes de Programmation Système 2003/2004 J. Delacroix 48