Processus Ordonnancement

Documents pareils
Cours A7 : Temps Réel

Ordonnancement temps réel

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Partie 7 : Gestion de la mémoire

Chapitre 4 : Outils de communication centralisés entre processus

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

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

Ordonnancement temps réel

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

Cours A7 : Temps Réel

Cours Programmation Système

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

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

Licence Sciences et Technologies Examen janvier 2010

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

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

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

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

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

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

Les diagrammes de modélisation

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

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

Cours de Systèmes d Exploitation

Support de cours système d exploitation

Exécution des instructions machine

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

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

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

PROGRAMMATION EVENEMENTIELLE sur EXCEL

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

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

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

Chapitre 4 : Exclusion mutuelle

VOCALYS LITE.

LES ACCES ODBC AVEC LE SYSTEME SAS

IV- Comment fonctionne un ordinateur?

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

DirXML License Auditing Tool version Guide de l'utilisateur

Manuel de System Monitor

Architecture des ordinateurs

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

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

Gestion des processus

Séance 0 : Linux + Octave : le compromis idéal

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

2011 Hakim Benameurlaine 1

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 systèmes temps réel. Iulian Ober IRIT

SYSTÈME DE GESTION DE FICHIERS

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

IFT Systèmes d exploitation - TP n 1-20%

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Systèmes d exploitation Gestion de processus

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

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

IFT1215 Introduction aux systèmes informatiques

LA mémoire principale est le lieu où se trouvent les programmes et les

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

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

Initiation au HPC - Généralités

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

TP Service HTTP Serveur Apache Linux Debian

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

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

Conception de circuits numériques et architecture des ordinateurs

Linux sécurité des réseaux

Cours Informatique Master STEP

Cédric Moro Directeur de Visiorisk

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

Concept de machine virtuelle

Utilisation de l outil lié à MBKSTR 9

Utilisation du plugin AppliDis SLB (Smart Load Balancing)

Chapitre 4 : Édition de fichiers texte - Vi

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

Démarrer et quitter... 13

Tout savoir sur le matériel informatique

Introduction au temps réel

Introduction aux Systèmes et aux Réseaux

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

Internet et Multimédia Exercices: flux multimédia

Introduction aux algorithmes répartis

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

LES GENERATEURS DE NOMBRES ALEATOIRES

Un ordonnanceur stupide

L importance de la «virtualisation de l espace de travail utilisateur» dans la virtualisation des postes de travail Whitepaper

Annexe 6. Notions d ordonnancement.

Mises à jour CELCAT depuis la version 6.4

Introduction à MATLAB R

LE CONTRÔLE INTERNE GUIDE DE PROCÉDURES

I- Définitions des signaux.

Statistiques et traitement des données

Gestion répartie de données - 1

1 Démarrage de Marionnet

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

Transcription:

Processus Ordonnancement Méthodes de Programmation Système 2001/2002 J. Delacroix 1 Notion de processus Méthodes de Programmation Système 2001/2002 J. Delacroix 2 1

Notion de processus CO RI 103 load imm R1 20 Ri UAL 100 101 102 103 104 105 load imm R1 20 add imm R1 5 store dir R1 15 Psw Rsp Mémoire UE CPU Bus externe Méthodes de Programmation Système 2001/2002 J. Delacroix 3 Notion de processus Définition Un processus est un programme en cours d exécution auquel est associé un environnement processeur (CO, PSW, RSP, registres généraux) et un environnement mémoire appelés contexte du processus. Un processus est l instance dynamique d un programme et incarne le fil d exécution de celui-ci programme réentrant Méthodes de Programmation Système 2001/2002 J. Delacroix 4 2

Du programme au processus Editeur de texte prog.c source Compilateur cc -c prog.c prog.o objet Editeur de liens ld -o prog.o prog.exe Bibliothèques prog.exe exécutable en mémoire processus Chargeur prog.exe : programme exécutable sur disque Méthodes de Programmation Système 2001/2002 J. Delacroix 5 Système multiprocessus Etats des processus Fin Réveil Prêt Election Elu En exécution En attente du processeur Blocage Déblocage Bloqué En attente de ressources Méthodes de Programmation Système 2001/2002 J. Delacroix 6 3

bloc de contrôle de processus PCB identificateur processus état du processus compteur instructions contexte pour reprise (registres et pointeurs, piles,..) pointeurs sur file d' attente et priorité(ordonnancement) informations mémoire (limites et tables pages/segments informations de comptabilisation et sur les E/S, périphériques alloués, fichiers ouverts,.. Bloc de contrôle de processus ou PCB Méthodes de Programmation Système 2001/2002 J. Delacroix 7 Processus Unix Zone U Table des régions Table des régions par processus Mémoire principale Table des processus (pid, état, informations ordonnancement, informations mémoire) Méthodes de Programmation Système 2001/2002 J. Delacroix 8 4

Ordonnancement dans un système multiprocessus Méthodes de Programmation Système 2001/2002 J. Delacroix 9 Mémoire Centrale Système multiprocessus P1 elu P2 attente E/S P3 attente cpu P4 P51 P6 attente E/S attente cpu attente cpu Processeur P1 P2 UE P4 Bus Méthodes de Programmation Système 2001/2002 J. Delacroix 10 5

Système multiprocessus Etats des processus Fin Réveil Prêt Election Elu En exécution En attente du processeur Préemption (réquisition) Blocage Déblocage Bloqué En attente de ressources Méthodes de Programmation Système 2001/2002 J. Delacroix 11 Réveil Prêt En attente du processeur Election Déblocage Elu Préemption (réquisition) Bloqué Fin En exécution Blocage Système multiprocessus Etats des processus 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 2001/2002 J. Delacroix 12 6

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 2001/2002 J. Delacroix 13 Système multiprocessus Ordonnanceur et répartiteur Préemption Cpu Election Ordonnanceur Cpu Cpu Blocage Répartiteur P C B P C B P C B P C B P C B P C B Prêts Classement selon une Politique d'ordonnancement Déblocage P C B P C B P C B P C B P C B P C B Bloqués Méthodes de Programmation Système 2001/2002 J. Delacroix 14 7

Système multiprocessus Etats des processus UNIX Méthodes de Programmation Système 2001/2002 J. Delacroix 15 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 2001/2002 J. Delacroix 16 8

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 2001/2002 J. Delacroix 17 Algorithme : Premier Arrivé Premier Servi FIFO, sans réquisition Prêt Prêt Actif P1 P2 P3 24 3 3 Temps de cycle Bloqué P3 P2 P1 Temps moyen d'attente 17 millisecondes (0 + 24 + 27)/3 24 27 30 Méthodes de Programmation Système 2001/2002 J. Delacroix 18 9

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 6 30 Méthodes de Programmation Système 2001/2002 J. Delacroix 19 Politiques d'ordonnancement Premier arrivé, premier servi Plus court d'abord 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 2001/2002 J. Delacroix 20 10

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 2001/2002 J. Delacroix 21 Politiques d'ordonnancement Premier arrivé, premier servi Plus court d'abord 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 2001/2002 J. Delacroix 22 11

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 2001/2002 J. Delacroix 23 Politiques d'ordonnancement Premier arrivé, premier servi Plus court d'abord 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 2001/2002 J. Delacroix 24 12

Algorithme : multifiles sans extinction Arrivée F1 Prêt q1 F2 q2 F3 q3 Election Fn qn Méthodes de Programmation Système 2001/2002 J. Delacroix 25 Algorithme : multifiles avec extinction Arrivée F1 Prêt q1 Priorité F2 q2 Election F3 q3 Fn FCFS - - Méthodes de Programmation Système 2001/2002 J. Delacroix 26 13

Ordonnancement : système LINUX Trois classes d ordonnancement (norme POSIX) : priorité préemptif Tourniquet (quantum) Other : politique Unix Méthodes de Programmation Système 2001/2002 J. Delacroix 27 Ordonnancement dans le système Unix Méthodes de Programmation Système 2001/2002 J. Delacroix 28 14

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 2001/2002 J. Delacroix 29 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 2001/2002 J. Delacroix 30 15

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 2001/2002 J. Delacroix 31 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 2001/2002 J. Delacroix 32 16

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 2001/2002 J. Delacroix 33 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 2001/2002 J. Delacroix 34 17

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 2001/2002 J. Delacroix 35 0 A 1 B 2 C 3 A 4 B 5 Priorité Proc A Compte UC 60 0 1 75 (60+30/2) 67 (60 + 15/2) 63 (60 +7/2) 76 (60 + 33/2) 60 30 (60/2) 15 (30/2) 7 (15/2) 8 67 33 (67/2) Priorité Proc B Compte UC Priorité Proc C Compte UC 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 2001/2002 J. Delacroix 36 18

Ordonnancement dans les systèmes temps réel Méthodes de Programmation Système 2001/2002 J. Delacroix 37 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 2001/2002 J. Delacroix 38 19

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 2001/2002 J. Delacroix 39 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 2001/2002 J. Delacroix 40 20

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 2001/2002 J. Delacroix 41 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 2001/2002 J. Delacroix 42 21

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 2001/2002 J. Delacroix 43 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 2001/2002 J. Delacroix 44 22

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 2001/2002 J. Delacroix 45 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 C max 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) d 0 r 0 + kp t R(t) P Méthodes de Programmation Système 2001/2002 J. Delacroix 46 23

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 2001/2002 J. Delacroix 47 Modèle de tâches Apériodique stricte Tap (r, C, R) Tap (t, C(t), R(t)) R C max 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 t C(t) d r' t R(t) Méthodes de Programmation Système 2001/2002 J. Delacroix 48 24

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 2001/2002 J. Delacroix 49 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(2 1/ n 1) Méthodes de Programmation Système 2001/2002 J. Delacroix 50 25

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 2001/2002 J. Delacroix 51 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(2 1/ n 1) Méthodes de Programmation Système 2001/2002 J. Delacroix 52 26

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 2001/2002 J. Delacroix 53 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 Ci P i 1 n i= 1 Ci R i 1 n i= 1 Ci P i 1 Méthodes de Programmation Système 2001/2002 J. Delacroix 54 27

Algorithmes d'ordonnancement pour les tâches périodiques indépendantes Earliest Deadline Tp1 (r0 = 0, C = 3, R = 7, P = 20) 0 2 5 7 20 t Tp2 (r0 = 0, C = 2, R = 4, P = 5) 0 2 4 5 6 8 9 10 12 14 15 17 19 20 t Tp3 (r0 = 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 2001/2002 J. Delacroix 55 28