Critère d’ordonnancement en temps réel Partie III

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Module Systèmes d’exploitation
AUTRES ASPECTS DU GPS Partie I : tolérance de Battement
Calculs de complexité d'algorithmes
Résistance des Matériaux
CH-IV. L’ORADONNANCEMENT
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
Systèmes en temps réel Sujets divers. Sujets divers - 2 Synopsis Services dexceptions Encore plus sur les services de chrono Cardinalité et structure.
Critère d’ordonnancement en temps réel Partie II
21-Jan-14 Ron SmithRocket Science - 1 Systèmes en temps réel Ce nest pas de la science de fusé!
GEF499 Systèmes en temps réel
Threads et Capsules Optionnels
Critères d’ordonnancement en temps réel Partie I
Patterns & Anti Patterns
Systèmes en temps réel Héritage avec les capsules.
GEF 435 Principes des systèmes d’exploitations
Systèmes en temps réel Services de Communication.
Tolérance aux défaillances de logiciel
GEF 435 Principes des systèmes d’exploitation
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Considération de temps.
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) III (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 243B Programmation informatique appliquée
Synchronisation des Processus
Algorithmes dapproximation pour loptimisation en ligne dordonnancements et de structures de communications Nicolas Thibault Thèse préparée au laboratoire.
Exécutif Temps réel. Limitation des système classiques Rappels Mise en œuvre lourde des communications entre processus Problème de prédictibilité avec.
Cours Présenté par …………..
IAS 36 «Dépréciation d'actifs»
Chapitre II.Rappels mathématiques et complexité
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
LES AUTRES MÉTHODES D’ORDONNANCEMENT
Chapitre V : Cinétique chimique
RÉSISTANCE DES MATÉRIAUX Les systèmes articulés (treillis)
1 GPA435 Systèmes dexploitation et programmation de système Copyright, 2000 © Tony Wong, Ph.D. Chapitre 9 Filtre programmable nawk(1)
Parcours de formation SIN-7
Administration de SharePoint
Croissance et extremums
Cours Corporate finance Eléments de théorie du portefeuille Le Medaf
Examen partiel #2 Mercredi le 15 novembre de 13h30 à 15h20
OPERATIONS SUR LES NOMBRES EN ECRITURE FRACTIONNAIRE
8.1 URDL22005 Systèmes dexploitation Interblocages Modèle Système Caractérisation dinterblocage Méthodes pour Gérer les Interblocages Prévention des Interblocages.
Module 51 Module 5 - Synchronisation de Processus (ou threads, ou fils ou tâches) Module 5 - Synchronisation de Processus (ou threads, ou fils ou tâches)
Courbes de Bézier.
Programmation concurrente
Chapitre 6 (Silberchatz)
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Relations et fonctions
Les réseaux.
L ABORATOIRE d I NGÉNIERIE des S YSTÈMES A UTOMATISÉS EA 4014 – Université dAngers Institut des Sciences et Techniques de lIngénieur dAngers Master2 Recherche.
Ordonnancement de tâches
Les fonctions leurs propriétés et.
Inéquations du premier degré à une inconnue
GPA750 – Gestion de Projets
Technique de points de contrôle: Formes de Bézier
Méthodes de prévision (STT-3220)
Plan cours La notion de pointeur et d’adresse mémoire.
Rappel... Valeurs propres et vecteurs propres. Définitions;
SUITES cours 24.
Les principes de la modélisation de systèmes
Electrostatique- Chap.2 CHAPITRE 2 CHAMP ELECTROSTATIQUE Objectif :
Chapitre I Modélisation optimisation I- Optimisation de fonctions d’une seule variable 1 Introduction En gestion, on est souvent confronté à des situations.
A) Avec l’ordonnancement Rate Monotonic les priorités des processus suivent l’ordre inverse des périodes : P1 est prioritaire sur P2, lui-même prioritaire.
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
LES POSTULATS DE LA MÉCANIQUE QUANTIQUE
Droite de régression avec la méthode médiane-médiane.
Transcription de la présentation:

Critère d’ordonnancement en temps réel Partie III Systèmes en temps réel Critère d’ordonnancement en temps réel Partie III

Synopsis Revue ordonnancement - Parties I & II Indépendance des tâches Inversion de la priorité Héritage de la priorité et ordonnancement Temps de blocage Protocoles d’héritage de priorité plafond (Ceiling Priority Inheritance) Protocole de priorité plafond original Protocole de priorité plafond immédiat Exercice 6 Ordonnancement (partie 3) - 2

Revue Partie I Partie II Mécanismes d’ordonnancement 2 composantes Assume un modèle de tâches simple RMA et le théorème des bornes d’utilisation Partie II Analyse du temps de réponse et interférence Ordonnancement des tâches apériodiques Ordonnancement priorité avec échéancier monotone DMPO Ordonnancement (partie 3) - 3

Indépendance des tâches La supposition que les tâches sont indépendantes n’est pas raisonnable pour tout système valable Les tâches partagent normalement des ressources communes avec des sémaphores et moniteurs Les tâches doivent se synchroniser souvent Ceci implique que les tâches peuvent être suspendues en attendant un événement futur qui dépend sur une ou plusieurs autres tâches Quand est-ce que cette dépendance va affecter le critère d’ordonnancement? Ordonnancement (partie 3) - 4

Inversion de priorité Peut se produire quand une tâche de haute priorité et une tâche de basse priorité partagent une ressource commune La tâche de basse priorité obtient l’accès exclusif à la ressource partagée La tâche de plus haute priorité cause la préemption de la tâche de plus basse priorité mais se fait bloquer en attendant que la ressource soit relâchée Entre temps une tâche de priorité médiane cause encore la préemption de la tâche de basse priorité, ce qui délais encore plus l’exécution de la tâche de haute priorité Parce que la tâche médiane se voit garantir un service de priorité par dessus la tâche de plus haute priorité qui est bloquée => inversion de priorité Ordonnancement (partie 3) - 5

Inversion de priorité illustrée basse médiane haute (1) (2) (3) (4) (5) (6) (7) (8) Temps (9) (10) (11) Tâche de basse priorité barre ressource partagée Tâche à haute priorité bloque en attendant le relâchement de la ressource La tâche médiane cause la préemption de la tâche à basse (et haute) priorité Ordonnancement (partie 3) - 6

Héritage de la priorité et ordonnancement L’héritage de la priorité simple est une technique pour prévenir l’inversion de priorité La priorité d’une tâche qui obtient l’accès à une ressource partagée, hérite dynamiquement de la priorité de la tâche de plus haute priorité qui partage cette ressource théorème : si on emploie l’héritage de priorité, le nombres de fois qu’une tâche peut être bloquée par une tâche de priorité inférieure est le minimum entre: K – le nombre de sections critique bloquante; ou N – le nombre de tâches à priorité inférieure Ordonnancement (partie 3) - 7

Temps de blocage À partir du théorème, le temps de blocage de la tâche i est définit comme étant -> Bi =  utilisation(k, i ) CS(k) (1) où utilisation(k, i) = 1 si la ressource k est utilisée par au moins une tâche de priorité < i et au moins une tâche (incluant i) de priorité  i = 0 autrement et CS(k) = coût d’exécution de la section critique k K k=1 Ordonnancement (partie 3) - 8

Temps de blocage De l’équation (1) nous obtenons un temps de réponse plus général pour la tâche i: Ri = Ci + Bi + Ii (2) ou Rin = Ci + Bi +   Rin-1/Tj Cj pour n > 1 Nous avons encore le cas spécial Ri0 = Ci Malgré que l’emploie de l’héritage de priorité simple va limiter le nombre de blocages qu’une tâche peut souffrir, cela ne prévient pas le blocage transitif ou les interblocages jhp(i) Ordonnancement (partie 3) - 9

Protocole de priorité plafond original Chaque tâche a une priorité statique par défaut Chaque ressource a une valeur plafond statique, égale à la priorité maximum des tâches qui l’utilisent Chaque tâche a une priorité dynamique, égale au maximum de sa propre priorité statique et toute priorité héritée dû au blocage de tâches de plus hautes priorités Une tâche peut seulement barrer une ressource si sa priorité dynamique est supérieure au plafond de toutes les ressources couramment barrées (excluant bien sure celles que cette tâche a barrée) Ordonnancement (partie 3) - 10

Protocole de priorité plafond immédiat Chaque tâche est assignée une priorité statique par défaut (en utilisant une méthode quelconque – peut être DMPO) Chaque ressource a une valeur statique plafond, égale au maximum de la priorité des tâches qui l’utilisent Chaque tâche possède aussi une priorité dynamique, égale au maximum de sa propre priorité statique et des valeurs plafonds des ressources qu’elle a barrée ICPP advantages: - easier to implement - leads to fewer context switches ICPP disadvantages: - requires more priority movements Ordonnancement (partie 3) - 11

Protocoles de priorité plafond Éliminent les interblocages Si une tâche tient une ressource et en demande une autre, alors le plafond de la deuxième ressource ne peut pas être plus bas que le plafond de la première Éliminent le blocage transitif En effet, pour toute tâche seulement UN événement de blocage peut se produire, donc On utilise une équation de temps de blocage modifiée: Bi = max {utilisation(k, i ) CS(k) } (3) K k=1 Ordonnancement (partie 3) - 12

Exercice ordonnancement - cas 1 Tâche Ci Ti Di k CS(k) tâche util 1 3 25 7 1 2 1,3,4 2 2 12 - 2 4 2,4 3 5 17 - 4 6 24 - Utilisez DMPO Employez l’héritage de priorité simple Déterminez l’ordonnancement des tâches Ordonnancement (partie 3) - 13

Exercice ordonnancement - cas 2 Tâche Ci Ti Di k CS(k) tâche util 1 3 25 7 1 2 1,3,4 2 2 12 - 2 4 2,4 3 5 17 - 4 6 24 - Utilisez DMPO Employez PPPI Déterminez l’ordonnancement des tâches Ordonnancement (partie 3) - 14

Références [1] Burns, A. and Wellings, A., “Real-Time Systems and Programming Languages”, Chapter 13, Addison Wesley, 1997 [2] Gomaa, H., “Software Design Methods for Concurrent and Real-Time Systems”, Addison-Wesley, 1993. Ordonnancement (partie 3) - 15