SystemTR Part1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 76

Systèmes temps réel

Systèmes temps réel


Problématique

Certains problèmes sont très liés au temps :


● un distributeur de billets ne doit pas mettre 5 minutes à
délivrer les billets
● une balance ne doit pas peser en 30 secondes
● un radar ne doit pas mettre 2 secondes à réagir
● un système de freinage ABS ne doit pas mettre plus de 150ms
pour acquérir l'information et 1s pour réagir

Systèmes temps réel 2


 qu’est-ce qu’un système temps réel ?
 comment vérifier a priori le comportement
✔ ordonnancement
 comment implémenter le comportement
✔ les outils de programmation
 concepts mis en jeu:
✔ gestion du temps
✔ gestion des interruptions
✔ interaction avec l'utilisateur

Systèmes temps réel 3


● système temps réel : qui doit fournir un service dans un
contexte où le temps intervient
o évolution du système (système réactif)
o contraintes de temps (échéances)

● par opposition aux systèmes interactifs ou transformationnels


● systèmes embarqués :
o autonomes, avec un fort couplage entre le matériel et le
logiciel
o utilisation dans un but très précis
o souvent inclus dans un système plus vaste
o ~ 90% du marché des processeurs

Systèmes temps réel 4


● non seulement des résultats exacts
● mais aussi fournis dans un temps donné, compatible
avec l'évolution du système
➢ l'échelle de temps dépend du système
o de quelques millisecondes pour un système de
navigation aérienne
o à plusieurs minutes ou heures pour le contrôle d'un
réacteur chimique
● dans un système temps réel, un résultat de calcul
mathématiquement exact mais arrivant au delà d'une
échéance prédéfinie est un résultat faux

Systèmes temps réel 5


Problématiques Temps Réel

• Garantir qu'un événement se produit à une date donnée, ou


avant une échéance donnée
➢ Contraintes périodiques : le service doit être rendu selon un certain
rythme e.g. toutes les X ms
➢ Contraintes ponctuelles : lorsque l'évt Y se produit, il doit être traité
dans un tps limité
• Garantir qu'un évt A se produit avant un évt B
• Garantir qu'aucun évt externe à l'application TR ne retardera
pas les processus importants
• Garantir qu'un ordonnancement entre plusieurs tâches est
effectivement possible
Causes de ces problématiques: E/S hardware - Journalisation de données
E/S utilisateur - Exécution de tâches de fond

Systèmes temps réel 6


Problématiques Temps Réel

Le temps intervient dans la correction (validité) du programme :


● réaction en un temps adapté aux événements externes,
● fonctionnement en continu sans réduire le débit du flot d'informations
traite,
● temps de calculs connus et modélisables pour permettre l'analyse de la
réactivité.
● Latence maitrisée.
 Outils :
horloges matérielles, interruptions, etc.
style de programmation adaptes : multitâches, événements,
langages spécifiques (langages synchrones, etc.)
outils de modélisation : logique temporelle, réseaux de Pétri
etc.

Systèmes temps réel 7


Mécanismes de base : le processeur

Systèmes temps réel 8


Mécanismes de base : les interruptions

Systèmes temps réel 9


Mécanismes de base : les déroutements

Systèmes temps réel 10


Mécanismes de base : les entrées/ sorties

Systèmes temps réel 11


Mécanismes de base

Systèmes temps réel 12


Mécanismes de base

Systèmes temps réel 13


Système temps réel

Caractéristiques du Système temps-réel:


 exactitude logique (comme tout système) : les sorties sont
déterminées en fonction des entrées et de l'état interne
 exactitude temporelle : les sorties sont positionnées au bon moment
Les types de temps-réel:
 Temps-réel mou : un retard dans l'obtention du résultat n'est pas
dramatique (distributeur de billets)
 Temps-réel dur : un retard dans l'obtention du résultat le rend
inutile (détection de missile)
 Temps-réel ferme : un retard, s'il arrive très peu souvent, peut être
toléré (téléphonie)
La plupart des systèmes temps-réel sont hybrides.

Systèmes temps réel 14


Système temps réel

Types de contraintes:
 Précision : effectuer certaines opérations à un
moment précis (horloge dont l'aiguille avance toutes
les secondes)
 Temps de réponse : effectuer certaines opérations en
un temps maximum (système de freinage ABS) ou
avec un temps moyen (distributeur de billets)
 Rendement : nombre de requêtes traitées par unité
de temps (robot de production dans une usine)

Systèmes temps réel 15


Système temps réel

Caractéristiques importantes:
 Prévisibilité
● pour déterminer a l'avance si un système va respecter ses contraintes
temporelles
● connaissance des paramètres lies aux calculs des activités
➢ temps global de calcul de chaque activité
➢ périodicité et gigue
➢ Préemptivité
● évaluation des performances dans le pire des cas
● pour définir le meilleur algorithme d'ordonnancement
 Déterminisme
● but a atteindre pour prédire le comportement temporel du système
● temps réel dur : chercher a savoir si toutes les échéances de toutes les
activités seront respectées
● temps réel lâche : par exemple savoir quels seront les retards moyens
Systèmes temps réel 16
Système temps réel

 Fiabilité
● du matériel
● tolérance aux fautes
● systèmes embarqués

Systèmes temps réel 17


Système temps réel

Architecture mono-tâche:
● Un système temps-réel à une seule tâche est simple à
définir. Il suffit de répéter indéfiniment la suite de
tâches :
➢ Attendre un stimulus
➢ Agir en fonction du stimulus
● Le dimensionnement du processeur dépend du
temps de réponse souhaité.
Exemples :
● Un distributeur automatique
● Une carte à puce
Systèmes temps réel 18
Système temps réel

Architecture multi-tâches:
Plusieurs problèmes se posent lorsque plusieurs tâches
s'exécutent simultanément :
● accès au processeur
● accès concurrent à la mémoire
● accès aux périphériques
Il faut prévoir un ordonnancement permettant au système
de remplir son rôle

Systèmes temps réel 19


Système temps réel

Priorités:
 Les priorités permettent d'organiser les tâches
 Elles peuvent être statiques ou dynamiques
 Dans un système temps-réel, en général
o une tâche n'est jamais bloquée par une tâche de
moindre priorité (inversion de priorité)
o une tâche ne cède la main à une tâche de même
priorité que volontairement (prix du changement
de contexte)
 Le système Unix n'est pas temps-réel à la base
 Microsoft Windows n'est pas temps-réel

Systèmes temps réel 20


Système temps réel

Ordonnancement:
● On peut prévoir le comportement d'un système si on connaît
certaines caractéristiques des tâches :
➢ loi d'arrivée

➢ temps de traitement

● Méthodes :
➢ algorithmes statiques : table d'exécution ou analyse « rate

monotonic »
➢ algorithmes dynamiques

Systèmes temps réel 21


Problématique

● En fonctionnement normal, respecter les


contraintes temporelles spécifiées par toutes
les tâches

● En fonctionnement anormal, limiter les effets


des débordements temporels et assurer le
respect des contraintes temporelles des
tâches les plus critiques

Systèmes temps réel 22


Définitions

● Tâches dépendantes ou indépendantes


  Les tâches indépendantes ne partagent que le processeur
  Les tâches dépendantes partagent d'autres ressources ou sont
reliées par des contraintes de précédence
● Ordonnancement préemptif ou non
  Un ordonnanceur préemptif peut interrompre une tâche au profit
d'une tâche plus prioritaire
  Un ordonnanceur non préemptif n'arrête pas l'exécution de la
tâche courante
● Ordonnancement hors ligne ou en ligne
  Un ordonnancement hors ligne est pré-calculé avant exécution
puis est exécuté avec ou sans préemption
Un ordonnancement en ligne décide dynamiquement avec ou
sans préemption de l’exécution des tâches

Systèmes temps réel 23


Définitions

● Ordonnancement optimal
  Algorithme qui produit un ordonnancement pour tout ensemble
de tâches ordonnançables (si un algorithme le fait, lui le fait aussi)
● Test d’ordonnancement
  Formule qui fournit une condition nécessaire et/ou suffisante
pour qu’un algorithme satisfasse les contraintes temporelles d’un
ensemble de tâches
● Test d’admission
  Formule qui vérifie que l’ajout d’une nouvelle tâche préserve le
respect des contraintes temporelles de l’ensemble de tâches
précédent

Systèmes temps réel 24


Notations

● r : date de réveil
moment du déclenchement de la 1ère requête d'exécution
● C : durée d'exécution maximale (capacité)
● D : délai critique
➢ délai maximum acceptable pour son exécution
● P : période (si tâche périodique)
● d = r+D : échéance (si tâche à contraintes strictes)
● tâche périodique : rk = r0 + k*P
➢ si D = P, tâche à échéance sur requête
P P
D

r0 C d0 r1 d1 r2 temps 25
Systèmes temps réel
Notations
● paramètres statiques
➢ U = C/P : facteur d'utilisation du processeur
➢ CH = C/D : facteur de charge du processeur
● paramètres dynamiques
➢ s : date du début de l'exécution
➢ e : date de la fin de l'exécution
➢ D(t) = d-t : délai critique résiduel à la date t (0 ≤ D(t) ≤ D)
➢ C(t) : durée d'exécution résiduelle à la date t (0 ≤ C(t) ≤ C)
➢ L = D-C : laxité nominale de la tâche
✔ retard maximum pour son début d'exécution s (si elle est seule)
➢ L(t) = D(t) - C(t) : laxité nominale résiduelle
✔ retard maximum pour reprendre l'exécution
➢ TR = e - r : temps de réponse de la tâche
➢ CH(t) = C(t)/D(t) : charge résiduelle (0 ≤ CH(t) ≤ C/P)
26
Systèmes temps réel
Notations

● paramètres statiques
➢ U = C/P : facteur d'utilisation du processeur
● Caractéristiques du système
➢ N : nombre de tâches périodiques
➢ U = ∑ Ui = utilisation globale du processeur
● Opérateurs
➢ Plafond ⎡x⎤ (x si x est entier sinon l’entier supérieur)
➢ Plancher ⎣x⎦ (x si x est entier sinon l’entier inférieur)

27
Systèmes temps réel
Caractéristiques des tâches

● préemptibles ou non
● dépendance ou indépendance
➢ ordre partiel prédéterminé ou induit
➢ partage de ressources
● priorité externe
➢ ordonnancement hors ligne déterminé à la conception
● gigue (jitter) maximale
➢ variation entre la requête et le début de l'exécution
● urgence ↔ échéance
● importance

28
Systèmes temps réel
Caractéristiques des tâches
Définitions
● configuration : ensemble de n tâches mises en jeu par
l'application
➢ facteur d'utilisation du processeur
➢ facteur de charge

● intervalle d'étude : intervalle de temps minimum pour prouver


l'ordonnançabilité d'une configuration
➢ le PPCM des périodes dans le cas d'une configuration de
tâches périodiques
● laxité du processeur LP(t) = intervalle de temps pendant
lequel le processeur peut rester inactif tout en respectant les
échéances
✔ laxité conditionnelle
(somme sur les tâches déclenchées à la date t et qui sont devant i du point de
vue de l'ordonnancement)
✔ LP(t) = min(LCi(t)) 29
Systèmes temps réel
Critères liés aux tâches

C C
D D
T T

Temps

C: capacité = temps d’exécution dans le pire des cas


D : échéance
T : période d’activation de la tâche

● Tâches périodiques: activées à intervalles


réguliers
30
Systèmes temps réel
Critères liés aux tâches
e1 e2 e3
C C C A: temps minimal entre deux événements
D D D
A A+? A+?
Temps
● Tâches non périodiques:
• Tâches sporadiques:
• activation non régulière
• temps minimal d’apparition entre deux activation
d’instances successives
• contraintes de temps fortes
• Tâches apériodiques:
• activation non régulière
• sans temps minimal entre deux activation d’instances
successives
• contraintes de temps lâches 31
Systèmes temps réel
Critères liés aux tâches

● Les tâches sont (in)dépendantes vis-à-vis du


partage de ressources
● on peut associer à une tâche une valeur
définissant son importance:
➢ une priorité fixe (cte)
➢ une fonction dépendant du temps de terminaison
● on peut également associer:
➢ des contraintes temporelles
➢ le comportement attendu en cas de violation d’une
contrainte temporelle
➢ Le mode d’accès à une ressource commune

(centralisé ou non), et la politique de réquisition


(possible à tout moment ou seulement à intervalles de
temps) 32
Systèmes temps réel
Ordonnancement

● Collecter suffisamment d’informations à priori pour pouvoir


prédire le comportement des applications
● Piloter l'application avec 2 objectifs majeurs :
➢ en fonctionnement nominal : respect des contraintes
temporelles
➢ en fonctionnement anormal (par exemple pannes matérielles) :
atténuer les effets des surcharges et maintenir un état cohérent
et sécuritaire
● Ordonnancer = planifier l'exécution des requêtes de façon à
respecter les contraintes de temps
➢ de toutes les requêtes en fonctionnement nominal
➢ d'au moins les requêtes les plus importantes (c'est-à-dire celles
nécessaires à la sécurité du procédé) en fonctionnement
anormal
33
Systèmes temps réel
Ordonnancement

● Ordonnanceur hors fonctionnement (off line), ou


statique: décider avant l’exécution du système
➢ connaissance à priori des caractéristiques des tâches
➢ analyse poussée de l’ordonnançabilité
➢ plus couteux à l’exécution
● Ordonnanceur hors fonctionnement (on line) ou
dynamique: décider durant l’exécution du système
➢ plus flexibles
➢ prise en compte des événements imprévus

34
Systèmes temps réel
Ordonnancement

35
Systèmes temps réel
Ordonnancement

36
Systèmes temps réel
Ordonnancement

● Quatre catégories d’algorithmes d’ordonnancement:


a) Statiques pilotés par table
b) Statiques préemptifs basés sur les priorités
Ex: Rate Monotonic Analysis
c) Dynamiques basés sur une planification à l’exécution
Ex: EDF
d) Dynamiques basés sur la notion de meilleur effort
(best effort)
TR mou: meilleur effort = faire au mieux avec les
processeurs disponibles
en TR dur: obligation des respecter les contraintes temporelles
: inclémence aux fautes temporelles
37
Systèmes temps réel
Algorithmes d’ordonnancement

● Ordonnancements de tâches périodiques


➢ Ordonnancement non-préemptif à base de table
➢ Ordonnancements préemptif à priorité fixe
✔ Rate Monotonic Scheduling

✔ Deadline Monotonic Scheduling

➢ Ordonnancements préemptif à priorité dynamique


✔ Earliest Deadline First

✔ Least Laxity First

● Ordonnancements de tâches apériodiques


➢ Serveur à scrutation
➢ Serveur différé
➢ Serveur sporadique
● Partage de ressources
➢ Priority Inheritance Protocol
➢ Priority Ceiling Protocol
➢ Highest Locker Protocol
38
Systèmes temps réel
Algorithmes de décision en ligne: HPF, EDF, LLF
● Les principaux algorithmes d’ordonnancement en ligne
prennent en compte l’un des critères:
➢ Priorité (priority)
➢ Échéance (deadline)
➢ Marge (laxity): marge = échéance – durée restante de
traitement temps courant.
● Les algorithmes de décision en ligne classiques sont
➢ HPF ( highest priority first)
✔ La priorité la plus élevée d’abord
➢ EDF ( earliest deadline first)
✔ L’échéance la plus proche d’abord
✔ Prise en compte de l’urgence du travail
➢ LLF (least laxity first) ou LST (least stack time)
✔ La marge la plus courte d’abord
✔ Prise en compte de l’urgence du travail + durée
39
Systèmes temps réel
Tester l’ordonnançabilité

● Soit un système constitué de n tâches à échéance


contrainte et à départ simultané

● Il suffit de tester l’ordonnancement jusqu'à l'hyper-


période ie la période égale au PPCM (Plus Petit
Commun Multiple) des périodes des tâches du
système.

40
Systèmes temps réel
TRAITEMENT DES TÂCHES

indépendantes

41
Systèmes temps réel
Exemple d’algorithme statique:
Ordonnancement piloté par une table

● Le modèle de l’application:
➢ une séquence est une procédure définie par user; unité
de base de l’application
➢ processus: suite ordonnée de séquences qui s’exécutent
consécutivement dans leur ordre de déclaration
➢ l’ordonnancement des processus est régit par un
calendrier et suivant une table
➢ le nombre de séquences, de processus, et de calendriers
est fixé à l’initialisation du système
➢ les processus sont indépendants les uns des autres
➢ l’ordonnancement des processus est régi par horloge
➢ Le découpage en séquences élémentaire non
interruptibles assure la protection des données partagées
entre les processus
42
Systèmes temps réel
Exemple d’algorithme statique:
Ordonnancement piloté par une table

● L’application est divisée en processus qui doivent


s’exécuter périodiquement,
● pour chacun on spécifie sa période (T), son temps
de traitement (capacité C), son échéance (D)
➢ P1: T1 = 25, C1= 10, D1 = 25
➢ P2: T2 = 25, C2= 8, D2 = 25
➢ P3: T3 = 50, C3= 5, D3 = 50
➢ P4: T4 = 50, C4= 4, D4 = 50
➢ P5: T5 = 100, C5= 2, D5 = 100
● Cycle majeur: Plus Petit Commun Multiple (PPCM)
des périodes des processus
➢ PPCM(25, 50, 100) = 100
43
Systèmes temps réel
Exemple d’algorithme statique:
Ordonnancement piloté par une table
● Cycle mineur: regrouper les instructions des processus
et exécuter sur appel d’une interruption horloge
➢ correspond au rythme des IT horloge
➢ l’application n’est pas interrompue
➢ intérêt: définir les points de contrôle de l’application
➢ la durée est choisie par le concepteur de l’application
● le calendrier global des processus répète tous les
cycles mineurs,
P1 P2 P3 P5 P1 P2 P4 P1 P2 P3 P1 P2 P4
10 8 5 2 10 8 4 3 10 8 5 2 10 8 4 3

IT horloge IT horloge IT horloge IT horloge IT horloge

Cycle mineur = 25 44
Systèmes temps réel
Exemple d’algorithme statique:
Ordonnancement piloté par une table

● Généralement
➢ Cycle mineur (Cm) inférieur ou égale à chacune des
périodes des processus
✘ pas de contraintes sur le placement des instructions d’un
processus dans le Cm

P1
P1 P2
P2 P3
P3 P5
P5 P1
P1 P2
P2 P4
P4 P5 P1
P1 P2
P2 P3 P5
P3 P1
P1 P2
P2 P4
P4
10
10 88 55 22 10
10 88 44 32 10
10 88 55 2 10
10 88 44 33

IT horloge
IT horloge IT horloge
IT horloge IT horloge
IT horloge IT horloge
IT horloge IT horloge
IT horloge

Cycle mineur = 25 Système non saturé

● si P5 avait une capacité C5 = 6 45


Systèmes temps réel
Ordonnancement piloté par une table

● Hypothèses
➢ Tâches périodiques

● Principe
➢ Cycle majeur = PPCM des périodes

➢ Cycle mineur = bloc non-préemptible

➢ Le cycle mineur divise le cycle majeur

➢ Un ordonnanceur cyclique boucle sur le cycle

majeur en exécutant la séquence de cycles


mineurs
➢ Le cycle mineur correspond à un point de contrôle

permettant de vérifier le respect des contraintes


46
Systèmes temps réel
Ordonnancement piloté par une table

● Avantages
➢ Mise en œuvre efficace
➢ Pas besoin d’exclusion mutuelle entre tâches
● Inconvénients
➢ Manque de flexibilité
➢ Impact d’une tâche supplémentaire
➢ Traitement des tâches apériodiques
➢ Construction difficile de la table
➢ La découpe constitue un problème complexe dès lors qu’il
faut prendre en compte les contraintes temporelles, les
ressources partagées, et les tâches apériodiques

47
Systèmes temps réel
Ordonnancement par priorité statique
Rate Monotonic Scheduling
● méthode d’affectation hors ligne de priorité statiques à
un ensemble de tâches
● critères retenus:
➢ les tâches sont périodiques et sont à l’état PRÊT au début
de chaque période
✔ Échéance en fin de période (Di = Ti)

➢ tâches préemptibles, on négligent le temps de commutation


et d’ordonnancement
➢ elles sont indépendantes ( pas de synchronisation)
➢ le temps d’exécution dans le pire des cas de chacune des
tâches est connu

48
Systèmes temps réel
Ordonnancement par priorité statique
Rate Monotonic Scheduling
● Principe
➢ Une activation de tâche réveille l’ordonnanceur
➢ Il choisit la tâche éligible de plus courte période

✔ L’affectation des priorités aux tâches, se fait en fonction de


leurs fréquences
✔ Ti désigne la période de la tâche i, sa priorité est évaluée à
1/Ti
✔ tâche de fréquence minimale (maximale) obtient une
priorité minimale (maximale)

49
Systèmes temps réel
Ordonnancement par priorité statique
Rate Monotonic Scheduling
● Le taux d’utilisation du processeur
n
durée i
U 
i 1 periode i
 Soit une tâche i ayant une période Ti, un temps d’exécution Ci,
et une échéance Di, si Di=Ti
i Cj  1i 
i , 1  i  n , Ui    i  2  1
j 1 Tj  
 Condition suffisante mais pas nécessaire
 Formule utile : indique l’ensemble des tâches qui ne seront
pas perturbées en cas de surcharge
 Les tâches d’un système ne sont pas toujours critiques
 On peut créer des tâches critiques selon cette formule
50
puis ajouter des traitements moins importants
Systèmes temps réel
Ordonnancement par priorité statique
Rate Monotonic Scheduling
 Pour i=n, cette condition d’ordonnançabilité est
suffisante mais pas nécessaire, [Liu et Layland,
1979] n C
 1 
Un   j
 n  2 n  1
j 1 Tj  

 consiste à dire que pour cet ensemble de tâches le


processeur ne doit pas être utilisé à plus d’une valeur
 Cette borne = pire cas et tends vers Ln2 (69%) lorsque n
tends vers l’infini
 En pratique 88% s’avère raisonnable pour un ensemble de
tâches choisies au hasard( temps réel lâche mais pas dur)
51
Systèmes temps réel
Ordonnancement par priorité statique
Rate Monotonic Scheduling
Test d’ordonnancement

n Cj  n1 
Condition suffisante U n    n  2  1
j 1 Tj   52
Systèmes temps réel
Ordonnancement Rate Monotonic
Analysis ( RMA)

● Résumons:
➢ Algorithme à priorité constante
➢ Basé sur la période (tâches à échéance sur

requête) :
✔ La tâche de plus petite période est la plus
prioritaire
➢ Test d'acceptabilité (condition suffisante)
n Cj  n1 
Un    n  2  1
j 1 Tj  
53
Systèmes temps réel
Ordonnancement Rate Monotonic
Analysis ( RMA)

Exemple de l’analyse RM
● Soit une application composée de 3 tâches
périodiques P1, P2, P3, caractérisées par les durées
d’exécution C1, C2, C3, et les périodes d’activation T1,
T2, T3
T1  20, T 2  5, T 3  10 C1  3, C 2  2, C 3  2

• Question: tester la condition d'acceptabilité du


RMA, et ordonner les priorités des tâches

Prio2 > Prio3 > Prio1


54
Systèmes temps réel
Ordonnancement Rate Monotonic
Analysis ( RMA)
Exemple de l’analyse RM

T1  20, T 2  5, T 3  10 C1  3, C 2  2, C 3  2
T1

0 4 5 7 9 20
T2

0 2 5 7 10 12 15 17 20
T3

0 2 4 10 12 14 20

0 2 4 5 7 9 10 12 14 15 17 20 55
Systèmes temps réel
Ordonnancement Rate Monotonic
Analysis ( RMA)
Question tester la condition d'acceptabilité du RMA, et
ordonner les priorités des tâches
T1  20, T 2  15, T 3  36 C1  2, C 2  4, C 3  12

56
Systèmes temps réel
Ordonnancement Deadline Monotonic
Analysis (DMA)

● Algorithme à priorité constante


● Basé sur le délai critique :
➢ La tâche de plus petit délai critique est la

plus prioritaire
● Test d'acceptabilité (condition suffisante)
n Cj  n1 
Un    n  2  1
j 1 Tj  
● Équivalent à RMA dans le cas des tâches à
échéance sur requête, meilleur dans les
autres cas 57
Systèmes temps réel
Ordonnancement Deadline Monotonic
Analysis (DMA)
Exemple de l’analyse DM
● T1(r0 = 0, C=3, , D=7, P=20), T2 (r0 = 0, C=2, D=4,
P=5), T3 (r0 = 0, C=2, D=9, P=10)
• Question: tester la condition d'acceptabilité du
DMA, et ordonner les priorités des tâches
Prio2 > Prio1 > Prio3
T1

0 2 5 7 20
T
2

0 2 4 5 7 9 10 12 14 15 17 19 20
T
3

0 7 9 10 12 14 19 20

Systèmes temps réel 58


Ordonnancement Deadline Monotonic
Analysis (DMA)
Question tester la condition d'acceptabilité du DMA, et
ordonner les priorités des tâches
T1  20, T 2  15, T 3  36 C1  2, C 2  4, C 3  12

59
Systèmes temps réel
ordonnancement Earliest Deadline
First (EDF)
● Algorithme à priorité variable
● Basé sur l'échéance
➢ À chaque instant (i.e à chaque réveil de tâche),

la priorité maximale est donnée à la tâche dont


l'échéance est la plus proche
● Test d'acceptabilité n Cj
➢ Condition nécessaire
Un    1
j 1 Tj

n Cj  n1 
➢ Condition suffisante U n   T  n  2  1
j 1 j  
60
Systèmes temps réel
ordonnancement Earliest Deadline
First (EDF)
Exemple
T1 (r0 = 0, C=3, , D=7, P=20), T2 (r0 = 0, C=2,
D=4, P=5), T3 (r0 = 0, C=2, D=8, P=10)
• Question: tester la condition d'acceptabilité du RM,
et ordonner les priorités des tâches

T
1

0 2 5 7 20
T
2

0 2 4 5 7 8 9 10 12 14 15 17 19 20
T
3

0 5 7 8 10 12 14 18 20
61
Systèmes temps réel
Ordonnancement Least Laxity First
(LLF)
● algorithme à priorité variable
● aussi appelé Least Slack Time (LST)
● basé sur la laxité résiduelle
➢ la priorité maximale est donnée à la tâche qui a

la plus petite laxité résiduelle


L = (d –t ) – c’)
● où d est le deadline, t est le temps réel depuis le début
du cycle courrant et c’ est le temps d’exécution restant
dans le cycle courant.
● Finalement, le processus avec le plus petit slack time
se voit attribuer par l’ordonnanceur la plus grande
priorité. 62
Systèmes temps réel
Ordonnancement Least Laxity First
(LLF)
● équivalent à EDF si on ne calcule la laxité qu'au
réveil des tâches
● optimum à trouver entre la granularité du calcul et le
nombre de changements de contexte provoqués

63
Systèmes temps réel
Ordonnancement Least Laxity
First (LLF)
Exemple T1 (r0 = 0, C=3, , D=7, P=20), T2 (r0 = 0, C=2, D=4,
P=5), T3 (r0 = 0, C=2, D=8, P=10)

T1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

T
2

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
T
3

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

64
Systèmes temps réel
EXERCICES

65
Systèmes temps réel
Exercice 1

66
Systèmes temps réel
Exercice 1

67
Systèmes temps réel
Exercice 2

68
Systèmes temps réel
Exercice 3

69
Systèmes temps réel
Exercice 4

70
Systèmes temps réel
Exercice 4

71
Systèmes temps réel
Exercice 4

72
Systèmes temps réel
Exercice 5

73
Systèmes temps réel
Exercice 5

74
Systèmes temps réel
Exercice 6

75
Systèmes temps réel
Exercice 7

76
Systèmes temps réel

Vous aimerez peut-être aussi