SlideShare une entreprise Scribd logo
STR
Prof.M.K.MANSOURI
1
Professeur :
M. K. MANSOURI
Université Hassan II de Casablanca
ENSET de Mohammedia
Département Mathématiques et Informatique
Partie 2
STR
Prof.M.K.MANSOURI
2
Deuxième partie :
STR
Prof.M.K.MANSOURI
3
Ordonnancement Temps Téel
Systèmes temps réel–Deuxième partie–plan du cours :
1. Concept de taches
2. Prédictibilité temporelle des STR
3. Introduction à l’ordonnancement
4. Objectif de l’ordonnancement
5. Modèle d’étude d’ordonnancement : Hypothèses
6. Caractéristiques de taches
7. Types d’algorithmes d’ordonnancement
8. Ordonnancements classiques
9. Ordonnancement des tâches périodiques
10. Algorithme Rate Monotonic Analysis (RMA)
11. Algorithme Deadline Monotonic Analysis (DMA)
12. Algorithme Earliest Deadline First (EDF)
13. Algorithme Least Laxity First (LLF)
STR
Prof.M.K.MANSOURI
4
2.1. Concept de taches (1) :
STR- 2. Ordonnancement Temps Réel
Le système est une collection de tâches
autonomes, s’exécutant en parallèle
(parallélisme logique)
 (statiquement) est décrite par un programme
séquentiel,
Une tâche :
 (à l’exécution) a son propre fil de contrôle,
 peut communiquer et partager des ressources
avec d’autres tâches.
STR
Prof.M.K.MANSOURI
5
2.1. Concept de taches (2) :
STR- 2. Ordonnancement Temps Réel
l’interprétation varie au cours du cycle de
développement :
 analyse / conception : tâche = une série
d’actions
déclanchée par un stimulus venant d’un capteur
ou par l’arrivée d’une échéance temporelle
 implémentation : tâche = processus ou thread
(Suite de messages diffusés dans un forum par exemple) ou objet
actif ou …
Tâches temps réel soumises à des contraintes
de temps, plus ou moins strictes :
 instant de démarrage,
 instant de fin,
 absolus ou relatifs à d'autres tâches.
STR
Prof.M.K.MANSOURI
6
2.1. Concept de taches (3) :
STR- 2. Ordonnancement Temps Réel
Il y a trois types de taches :
 Tâches périodiques :
 Déclanchées par le temps. Caractéristiques
connues à l’avance.
 La tache Ti est caractérisée par :
o Pi – période d’arrivée
o Ci – temps de calcul au pire cas (WCET :
Worst Case Execution Time : Pire Temps d'Exécution)
o Di – échéance relative à l’arrivée
 Exemple : Guidage-Navigation-Contrôle dans
un AOCS Attitude and Orbit Control System : Attitude et
système de commande d'orbite (Exemple : Ariane-5)
STR
Prof.M.K.MANSOURI
7
2.1. Concept de taches (4) :
STR- 2. Ordonnancement Temps Réel
 Tâches apériodiques :
 Déclanchées par un événement extérieur.
Caractéristiques partiellement non-connues.
 La tache Ti est caractérisée par :
o Ci – temps de calcul au pire cas (WCET)
o Di – échéance relative à l’arrivée
o (éventuellement) Ai–temps d’arrivée/contraintes
 Tâches sporadiques :
 tâches apériodiques avec temps minimum
entre arrivées connu.
 Exemple : Séparation des étages dans un
lanceur (Ariane-5)
STR
Prof.M.K.MANSOURI
8
2.1. Concept de taches (5) :
STR- 2. Ordonnancement Temps Réel
Au niveau de l’interaction entre tâches, on peut
distinguer:
 Les tâches indépendantes, dont l’ordre
d’exécution peut être quelconque.
Au niveau des politiques d’ordonnancement, il est clair
que les dépendances entre tâches auront un rôle crucial
et devront être prises en compte de manière judicieuse.
 Les tâches dépendantes, pour lesquelles il existe
des contraintes de précédence. Il s’agit du cas où
une tâche doit attendre qu’une autre ait terminé
son traitement pour pouvoir commencer le sien.
STR
Prof.M.K.MANSOURI
9
2.1. Concept de taches (6) :
STR- 2. Ordonnancement Temps Réel
 Tâches dans un contexte temps réel :
Lors de son exécution, un processus est caractérisé par
un état :
lorsque le processus obtient le processeur et s'exécute,
il est dans l'état élu.
… L'état élu est l'état d'exécution du processus.
lors l’exécution, le processus peut demander à accéder
à une ressource importante non disponible, le processus
quitte alors le processeur et passe dans l'état bloqué.
….L'état bloqué est l'état d'attente d'une ressource
autre que le processeur.
STR
Prof.M.K.MANSOURI
10
2.1. Concept de taches (7) :
STR- 2. Ordonnancement Temps Réel
lorsque le processus obtient la ressource qu'il
attendait, celui-ci peut reprendre son exécution. Mais le
processeur peut être alloué à un autre processus
(système multiprogrammes). Le processus passe alors
dans l'état prêt.
… L'état Prêt est l'état d'attente du processeur.
Le passage de l'état prêt vers l'état élu constitue
l'opération d'élection,
Le passage de l'état élu vers l'état bloqué est
l'opération de blocage,
 Le passage de l'état bloqué vers l'état prêt est
l'opération de déblocage.
STR
Prof.M.K.MANSOURI
11
2.1. Concept de taches (7) :
STR- 2. Ordonnancement Temps Réel
Cycle de vie Tâche
Prêt
Bloqué
Elu
Election
Fin
BlocageDéblocage
Préemption
STR
Prof.M.K.MANSOURI
12
2.1. Concept de taches (8) :
STR- 2. Ordonnancement Temps Réel
Un processus est toujours crée dans l'état prêt,
Un processus se termine toujours à partir de l'état élu.
Le graphe des états du processus est le suivant :
STR
Prof.M.K.MANSOURI
13
2.1. Concept de taches (9) :
STR- 2. Ordonnancement Temps Réel
Une transition peut s’ajouter entre l'état élu et l'état
prêt, la préemption : Réquisition du processeur qui est
retiré au processus élu alors qu’il dispose de toutes les
ressources nécessaires à la poursuite de son exécution.
STR
Prof.M.K.MANSOURI
14
2.1. Concept de taches (10) :
STR- 2. Ordonnancement Temps Réel
Modèle général d’une tache :
STR
Prof.M.K.MANSOURI
15
2.1. Concept de taches (11) :
STR- 2. Ordonnancement Temps Réel
Contraintes sur les tâches:
 échéance (deadline)
 contraintes de ressources partagées :
o ressource en lecture : accès partagé
o ressource en écriture : accès exclusif
 contraintes de précédence :
o T1  T2 : T2 ne peut commencer que si
T1 a déjà terminé.
 contraintes de criticité :
o Exemple : 5 niveaux (A-E)
o redondance pour la tolérance aux fautes
o … etc.
STR
Prof.M.K.MANSOURI
16
2.2. Prédictibilité temporelle des STR :
STR- 2. Ordonnancement Temps Réel
Prédictibilité = assurer a priori que toutes les
taches respectent leurs échéances
 problèmes:
o liés au programme (structure dynamique –
boucles, branches, appels externes – OS, …)
 méthodes: analyse statique de programmes,
interprétation abstraite, analyse dynamique, …
On se base en général sur :
l'analyse de pire temps d'exécution (WCET–Worst
Case Execution Time):
o liés au matériel (cache, exécution prédictive…)
l'ordonnancement des taches
STR
Prof.M.K.MANSOURI
17
2.3. Introduction à l’ordonnancement (1) :
STR- 2. Ordonnancement Temps Réel
Les tâches temps réel soumises à des contraintes de
temps, plus ou moins strictes
il doit permettre de borner les effets d'incidents ou de
surcharges
Politique d’ordonnancement : politique d’allocation
des tranches de temps processeur (les moments où une
tache est livrée au processeur / suspendue )
L’ordonnancement a pour but de répartir l’utilisation
du processeur entre les différentes tâches demandeuses.
Plusieurs solutions classées selon différents paramètres.
le but de l'ordonnancement est de permettre le respect
de ces contraintes, lorsque l'exécution se produit dans un
mode courant
STR
Prof.M.K.MANSOURI
18
STR- 2. Ordonnancement Temps Réel
Qu'est-ce que l'ordonnancement de processus ?
2.3. Introduction à l’ordonnancement (2) :
STR
Prof.M.K.MANSOURI
19
2.4. Objectif de l’ordonnancement :
STR- 2. Ordonnancement Temps Réel
assurer le respect des échéances de manière
prouvable
Une méthode d’ordonnancement est caractérisée
par :
 la méthode effective de construction de l’emploi
du temps (schedule) du processeur (online ou
offline)
 le critère de test d’ordonnancabilite (offline) –
prédiction du comportement « au pire cas »
STR
Prof.M.K.MANSOURI
20
2.5. Modèle d’étude d’ordonnancement : Hypothèses :
STR- 2. Ordonnancement Temps Réel
Les systèmes que nous allons étudiés :
 Consiste d’un ensemble fixe de taches,
 Toutes les taches sont périodiques,
 les taches sont indépendantes,
(pas de communication/synchronisation)
 on suppose un temps de changement de contexte
zero.
STR
Prof.M.K.MANSOURI
21
2.6. Caractéristiques de taches (1) :
STR- 2. Ordonnancement Temps Réel
 La figure suivante illustre le diagramme temporels
utilisé pour représenter les taches :
Conventions sur la représentation des taches :
 On note l’occurrence d’un réveil de tâche à l’aide
d’une flèche pointant vers le haut,
l’échéance de la tâche étant représentée par une flèche
pointant vers le bas.
STR
Prof.M.K.MANSOURI
22
2.6. Caractéristiques de taches (2) :
STR- 2. Ordonnancement Temps Réel
 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
STR
Prof.M.K.MANSOURI
23
2.6. Caractéristiques de taches (3) :
STR- 2. Ordonnancement Temps Réel
 La figure suivante illustre les caractéristiques d’une
tâche périodique à échéance sur requête (D = P), où la
période est égale au délai critique.
 La figure suivante montre les paramètres d’une tâche
périodique :
STR
Prof.M.K.MANSOURI
24
2.6. Caractéristiques de taches (4) :
STR- 2. Ordonnancement Temps Réel
U = C/P : facteur d'utilisation du processeur
paramètres statiques :
CH = C/D : facteur de charge du processeur
s : date du début de l'exécution de la tache
paramètres dynamiques :
f : date de la fin de l'exécution de la tache
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 = f - r : temps de réponse de la tâche
CH(t) = C(t)/D(t) : charge résiduelle (0 ≤ CH(t) ≤ C/P)
STR
Prof.M.K.MANSOURI
25
2.6. Caractéristiques de taches (5) :
STR- 2. Ordonnancement Temps Réel
 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 maximale
variation entre la requête et le début de l'exécution
 urgence ↔ échéance
 importance
 Une tâche apériodique est représentée par le t-uple T(r, C, D),
 Une tâche périodique est représentée par le t-uple T (r0,C,D),
r0 étant la date de réveil de la première occurrence
STR
Prof.M.K.MANSOURI
26
Quelques définitions (1) :
STR- 2. Ordonnancement Temps Réel
 facteur d'utilisation du processeur
Configuration : ensemble de n tâches mises en jeu par
l'application :
CH = C/D : facteur de charge du processeur
 le PPCM des périodes dans le cas d'une configuration de
tâches périodiques
U
i 1
n
Ci
Pi
CH
i 1
n
Ci
Di
intervalle d'étude : intervalle de temps minimum pour
prouver l'ordonnançabilité d'une configuration
STR
Prof.M.K.MANSOURI
27
Quelques définitions (2) :
STR- 2. Ordonnancement temps réel
 laxité conditionnelle :
laxité du processeur LP(t) = intervalle de temps pendant
lequel le processeur peut rester inactif tout en respectant
les échéances
 LP(t) = min(LCi(t))
LCi t Di Ci t
(somme sur les tâches déclenchées à la date t et qui
sont devant i du point de vue de l'ordonnancement)
faisabilité = Un ensemble de tâches est dit faisable s’il
est possible d’en proposer un ordonnancement respectant
l’ensemble des contraintes de temps imposées.
STR
Prof.M.K.MANSOURI
28
Buts recherchés dans le cas général :
STR- 2. Ordonnancement temps réel
 en fonctionnement nominal : respect des contraintes
temporelles
 piloter l'application avec 2 objectifs majeurs :
 en fonctionnement anormal (par exemple pannes
matérielles) : atténuer les effets des surcharges et maintenir un
état cohérent et sécuritaire
 de toutes les requêtes en fonctionnement nominal
 ordonnancer = planifier l'exécution des requêtes de
façon à respecter les contraintes de temps
 d'au moins les requêtes les plus importantes (c'est-à-dire
celles nécessaires à la sécurité du procédé) en fonctionnement
anormal
STR
Prof.M.K.MANSOURI
29
2.7. Types d’algorithmes (1) :
STR- 2. Ordonnancement temps réel
Les algorithmes d’ordonnancement peuvent être
catégorisés selon les critères suivants :
 L’architecture physique du système a une influence
sur la manière d’agencer les tâches.
Monoprocesseur/multiprocesseur :
 Certains algorithmes ne peuvent être appliqués qu’à
des systèmes monoprocesseur (ordonnancement
monoprocesseur),
 D’autres se destinent à des systèmes multiprocesseur
(ordonnancement multiprocesseur)
Dans le cadre de ce cours, nous ne traiterons que les
algorithmes monoprocesseur
STR
Prof.M.K.MANSOURI
30
2.7. Types d’algorithmes (2) :
STR- 2. Ordonnancement temps réel
 Les algorithmes préemptifs traitent les systèmes dans
lesquels les tâches peuvent être préemptées :
Algorithme préemptif ou non préemptif :
 Une tâche peut être interrompue à son insu pour
céder le processeur à une autre tâche plus prioritaire.
 Les algorithmes non-préemptifs traitent les systèmes
dans lesquels une tâche ayant commencé son
traitement doit obligatoirement le terminer avant
qu’une autre ne s’exécute :
STR
Prof.M.K.MANSOURI
31
2.7. Types d’algorithmes (3):
STR- 2. Ordonnancement temps réel
Algorithme non préemptif :
Algorithme préemptif :
STR
Prof.M.K.MANSOURI
32
2.7. Types d’algorithmes (4) :
STR- 2. Ordonnancement temps réel
 La possibilité de préemption permet d’éviter que le
processeur ne soit occupé trop longtemps par une
tâche, ce qui pourrait empêcher une autre tâche de se
terminer à temps.
Cette flexibilité a un coût lié au temps nécessaire pour
le changement de contexte d’une tâche à l’autre.
Ce coût peut être intolérable suivant l’application.
 … donc un choix doit être fait, pour un système
particulier, de partir sur une solution avec ou sans
préemption.
STR
Prof.M.K.MANSOURI
33
2.7. Types d’algorithmes (5) :
STR- 2. Ordonnancement temps réel
 Un ordonnancement hors-ligne est effectué avant le
lancement du système. Tous les paramètres de tâches
sont connus a priori, et notamment les dates d’activation.
Algorithme en ligne ou hors ligne (online / offline) :
 Le choix est dynamique ou prédéfini à la conception
 L’implémentation du système est alors très simple : il
suffit de stocker l’identifiant de la tâche à effectuer à
chaque moment d’ordonnancement dans une table,
 l’Ordonnanceur exploitant ensuite cette information
pour sélectionner la tâche à exécuter.
 Le désavantage de cette approche est la grande
dépendance au système cible.
STR
Prof.M.K.MANSOURI
34
2.7. Types d’algorithmes (6) :
STR- 2. Ordonnancement temps réel
 Un ordonnancement en-ligne est effectué durant le
fonctionnement du système.
 l’analyse hors-ligne permet une meilleure prédiction
de la satisfaction ou non des contraintes temporelles
 L’Ordonnanceur recalcule un nouvel ordonnancement
à chaque fois qu’une nouvelle tâche est activée.
 L’avantage de l’approche est la flexibilité,l’adaptabilité
à l’environnement que procure le calcul en-ligne.
 Par contre, ce calcul devant être exécuté par le système,
qui est temps réel, doit être le plus simple et plus rapide
possible, rendant impossible une solution dite optimale.
 Plusieurs algorithmes permettent de résoudre ce
problème.
STR
Prof.M.K.MANSOURI
35
2.7. Types d’algorithmes (7) :
STR- 2. Ordonnancement temps réel
 Un ordonnancement est dit statique s’il est uniquement
basé sur les propriétés des tâches avant le lancement du
système.
 Statique / dynamique:
 Un ordonnancement est dynamique s’il est capable de
réagir à la modification des propriétés des tâches durant
le fonctionnement du système (typiquement un
changement de priorité).
STR
Prof.M.K.MANSOURI
36
2.7. Types d’algorithmes (8) :
STR- 2. Ordonnancement temps réel
 Un ordonnancement est dit optimal s’il est capable de
fournir un ordonnancement qui respecte toutes les
contraintes de temps si un tel ordonnancement existe.
 Optimal / non optimal :
 Un algorithme non optimal (ou best effort) n’a pas la
prétention d’être optimal, mais doit faire de son mieux
pour fournir un ordonnancement le plus proche possible
de l’optimal.
 Si un algorithme optimal n’est pas capable de trouver
un ordonnancement correct, aucun autre algorithme ne le
pourra.
STR
Prof.M.K.MANSOURI
37
2.7. Types d’algorithmes (9) :
STR- 2. Ordonnancement temps réel
 en TR mou, meilleur effort = faire au mieux avec les
processeurs disponibles
 stratégie du meilleur effort ou inclémence :
 en TR dur, obligation des respecter les contraintes temporelles :
inclémence aux fautes temporelles
 Algorithme centralisé ou réparti
 Ordonnancement des tâches indépendantes
 partage de ressources
 Ordonnancement des tâches dépendantes :
 contraintes de précédence
 Ordonnancement en cas de surcharge
STR
Prof.M.K.MANSOURI
38
2.8. Ordonnancements classiques (1) :
STR- 2. Ordonnancement temps réel
Dans un système classique, l’Ordonnanceur réparti le
temps CPU entre les différentes tâches présentes dans le
système.
Dans une première partie, nous présentons quelques
algorithmes d’ordonnancement classiques,
Dans une seconde partie, nous présentons des
algorithmes spécifiques au temps réel.
STR
Prof.M.K.MANSOURI
39
2.8. Ordonnancements classiques (2) :
STR- 2. Ordonnancement temps réel
… appliqués lorsque les tâches ne peuvent être
préemptées, c’est-à-dire où une tâche ayant commencé
son exécution doit forcément la terminer avant qu’une
autre tâche ne puisse débuter.
 Algorithmes non préemptifs :
1. Premier arrivé premier servi :
 Cet algorithme fonctionne de la manière plus simple
 Les tâches sont stockées dans une structure de type
FIFO (First In First Out)
 la première tâche est exécutée et lorsqu’elle
termine, la suivante est lancée.
STR
Prof.M.K.MANSOURI
40
2.8. Ordonnancements classiques (3) :
STR- 2. Ordonnancement temps réel
 Les tâches nouvellement activées sont stockées à la fin de la file
d’attente.
 Dans l’exemple suivant, nous pouvons noter que les tâches T1 et
T2 doivent attendre un temps important jusqu’à ce que la tâche T0
se termine.
Tâche Coût Arrivée
T0 8 1
T1 2 2
T2 4 4
STR
Prof.M.K.MANSOURI
41
2.8. Ordonnancements classiques (4) :
STR- 2. Ordonnancement temps réel
 Éviter que des tâches courtes ne doivent attendre trop longtemps
sur des tâches longues,
2. Plus court d’abord :
 il est possible d’appliquer un algorithme où la tâche la plus
courte est servie en premier.
 les tâches courtes sont favorisées
 le temps d’attente moyen est minimisé
 Un des problèmes de cette approche est le risque de trop de
retard pour les tâches longues
 Si de nouvelles tâches courtes sont régulièrement réveillées, il se
peut qu’elles passent toujours devant une tâche longue, empêchant
ainsi celle-ci de s’exécuter
STR
Prof.M.K.MANSOURI
42
2.8. Ordonnancements classiques (4) :
STR- 2. Ordonnancement temps réel
Tâche Coût Arrivée
T0 8 0
T1 2 0
T2 4 0
Exemple d’algorithme : Plus court d’abord :
STR
Prof.M.K.MANSOURI
43
2.8. Ordonnancements classiques (5) :
STR- 2. Ordonnancement temps réel
 Algorithmes préemptifs :
3. Algorithme du tourniquet :
 L’algorithme du tourniquet (round robin en anglais) vise à traiter
les tâches avec le plus d’équité possible, en allouant un quantum de
temps identique à toutes les tâches et à les traiter dans un ordre
FIFO.
 Les tâches sont placées dans une file d’attente et la première de
la file est exécutée pendant un quantum de temps
 A la fin de ce quantum, si la tâche n’est pas terminée, elle est
replacée à la fin de la file et une nouvelle tâche est sélectionnée de
puis le début de la file.
 Si la file est vide, la tâche peut continuer son exécution. La
figure suivante illustre cet algorithme avec un quantum de 2 unités
de temps.
STR
Prof.M.K.MANSOURI
44
2.8. Ordonnancements classiques (6) :
STR- 2. Ordonnancement temps réel
Exemple d’algorithme : Tourniquet :
Tâche Coût Arrivée
T0 8 0
T1 2 1
T2 4 3
STR
Prof.M.K.MANSOURI
45
2.8. Ordonnancements classiques (7) :
STR- 2. Ordonnancement temps réel
 D’après la figure on remarque que la tâche T0 garde l’accès au
processeur lorsqu’elle se retrouve être la seule en cours
d’exécution.
 Il n’y a donc pas de changement de contexte si ceci n’est pas
nécessaire
 Cette technique de tourniquet correspond à la politique standard
observée dans les systèmes d’exploitation, car elle permet à toutes
les tâches de s’exécuter sans risque de retard
 Nous pouvons toute fois noter qu’il s’agira d’une variante avec
priorité.
Remarques :
STR
Prof.M.K.MANSOURI
46
2.8. Ordonnancements classiques (8) :
STR- 2. Ordonnancement temps réel
4. Algorithme à priorité fixe :
 L’algorithme du tourniquet traite toutes les tâches sur le même
pied d’égalité
L’algorithme à priorité fixe fonctionne comme celui du tourniquet
à l’intérieur d’une priorité et les priorités sont traitées dans l’ordre.
 Les tâches d’une priorité particulière y sont traitées selon un
tourniquet, pour autant qu’aucune tâche de plus haute priorité ne
soit prête à être exécutée.
 La figure suivante illustre cet algorithme, avec un quantum égal
à 2 unités de temps
 Il est souvent nécessaire de définir des priorités entre tâches,
afin, par exemple, de garantir que la lecture d’un fichier audio se
fasse de manière fluide, même lorsqu’une compilation est en cours.
STR
Prof.M.K.MANSOURI
47
2.8. Ordonnancements classiques (9) :
STR- 2. Ordonnancement temps réel
Exemple d’algorithme : à priorité fixe :
Tâche Coût Priorité Arrivée
T0 6 1 0
T1 6 2 0
T2 4 1 0
STR
Prof.M.K.MANSOURI
48
2.8. Ordonnancements classiques (10) :
STR- 2. Ordonnancement temps réel
 D’après la figure on peut noter que la tâche T1, la plus
prioritaire, est exécutée au départ, puis un tourniquet est effectué
pour les deux autres tâches
 Cette technique de tourniquet à priorité correspond à la politique
standard observée dans les systèmes d’exploitation, car elle permet
à toutes les tâches de s’exécuter sans risque de retard.
Remarques :
STR
Prof.M.K.MANSOURI
49
2.8. Ordonnancements classiques (11) :
STR- 2. Ordonnancement temps réel
5. Algorithme Earliest deadline first (EDF) :
(premier délai)
 L’algorithme Earliest Deadline First (EDF) donne la priorité à la
tâche ayant l’échéance la plus proche.
 La figure suivante illustre le principe de cet algorithme.
 A chaque fois qu’une tâche est réveillée, l’Ordonnanceur
réévalue les tâches prêtes et sélectionne celle ayant l’échéance la
plus courte..
STR
Prof.M.K.MANSOURI
50
2.8. Ordonnancements classiques (12) :
STR- 2. Ordonnancement temps réel
Exemple d’algorithme : (EDF) :
Tâche Coût Priorité Arrivée
T0 6 12 0
T1 4 8 2
T2 2 5 3
Nous reviendrons sur l’algorithme EDF, étant donné qu’il
s’agit d’une des politiques d’ordonnancement les plus utilisées.
STR
Prof.M.K.MANSOURI
51
2.9. Ordonnancement des tâches périodiques (1) :
STR- 2. Ordonnancement temps réel
 Le problème fondamental est de garantir le respect des échéances des
différentes tâches constituant un système.
 Il existe un grand nombre de manière d’ordonnancer un ensemble de
tâches et ce notamment en fonction des caractéristiques de celles-ci.
 Elles peuvent être indépendantes, dépendantes, périodiques,
apériodiques, elles peuvent partager ou non des ressources, changer ou
non des informations.
 Dans nombre de systèmes temps réel, certaines tâches doivent
s’exécuter de manière répétée, à intervalles réguliers.
 Il pourra par exemple s’agir d’une tâche chargée d’aller vérifier la
valeur d’un capteur tous les dixièmes de seconde.
 Ces tâches sont appelées tâches périodiques, puisqu’elles doivent
s’exécuter régulièrement, en suivant une période fixe.
STR
Prof.M.K.MANSOURI
52
2.9. Ordonnancement des tâches périodiques (2) :
STR- 2. Ordonnancement temps réel
Algorithme Rate Monotonic Analysis (RMA) :
(Taux monotone)
 L’algorithme Rate Monotonic est un algorithme statique
 Il s’agit d’un algorithme préemptif, l’activation d’une tâche de
petite période devant permettre la préemption d’une tâche de
période plus grande.
 applicable à un ensemble de tâches à échéance sur requête, où les
priorités des tâches sont fixées et décidée avant le lancement du
système.
 La priorité des tâches est fixée en fonction de leur période
d’activation.
 Plus une tâche a une petite période d’activation, plus sa priorité
sera haute
 Cet algorithme est optimal dans le cas des priorités fixes.
STR
Prof.M.K.MANSOURI
53
STR- 2. Ordonnancement temps réel
Test d'acceptabilité ou Critère statique d’ordonnançabilité RMA
(condition suffisante)
i 1
n
Ci
Pi
n 21 n
1
Algorithme Rate Monotonic Analysis (RMA) :
algorithme à priorité constante
Théorème : Un ensemble de n tâches périodiques
indépendantes est ordonnançable par RMA
indifféremment de l’ordre d’arrivée si :
Utilisation du processeur U(n)
la condition est restrictive:
U(1) = 1 U(2) ~ 0.828 U(3) ~ 0.779
U(4) ~ 0.756 U(5) ~ 0.743 U(6) ~ 0.734
pour n très grand, U tend vers ln 2 ~ 0.69 = 69%
STR
Prof.M.K.MANSOURI
54
STR- 2. Ordonnancement temps réel
 dans la pratique, on peut rencontrer des ordonnancements
valides qui vont jusqu'à 88%
Algorithme Rate Monotonic Analysis (RMA) :
L’ensemble est ordonnançable
 Application 1 du critère :
Tache P C
A 10 5
B 20 6
UA = CA / PA = 0.5
UB = CB / PB = 0.3
U = UA + UB = 0.8 < U(2)
STR
Prof.M.K.MANSOURI
55
STR- 2. Ordonnancement temps réel
Algorithme Rate Monotonic Analysis (RMA) :
 Application 2 du critère :
UA = CA / PA = 0.5
UB = CB / PB = 0.3
U = UA + UB + UC = 0.94 > U(3) ~ 0.779
Tache P C
A 10 5
B 20 6
C 50 7 UC = CC / PC = 0.14
STR
Prof.M.K.MANSOURI
56
STR- 2. Ordonnancement temps réel
Algorithme Rate Monotonic Analysis (RMA) :
 Améliorer le critère :
La condition :
i 1
n
Ci
Pi
n 21 n
1 est suffisante mais pas nécessaire
Il existe un test précis:
Théorème : Si un ensemble de n tâches indépendantes
avec priorités fixes affectées par RMA respecte la 1ère
échéance de chaque tâche quand toutes les tâches sont
démarrées en même temps (à T0), alors l’ensemble est
toujours ordonnançable.
STR
Prof.M.K.MANSOURI
57
STR- 2. Ordonnancement temps réel
Algorithme Rate Monotonic Analysis (RMA) :
pourtant :
 Cas particulier (1) :
Tache P C
A 10 5
B 20 10
UA = CA / PA = 0.5
UB = CB / PB = 0.5
U = UA + UB = 1 > U(2)
STR
Prof.M.K.MANSOURI
58
STR- 2. Ordonnancement temps réel
Algorithme Rate Monotonic Analysis (RMA) :
De manière générale : un ensemble de tâches
périodiques harmoniques est ordonnançable si
l’utilisation du processeur est <= 100%
 Cas particulier (2) :
Tache P C
A 10 5
B 20 10
UA = CA / PA = 0.5
UB = CB / PB = 0.5
U = UA + UB = 1 > U(2)
Tâches harmoniques : {T1, T2,…, Tn } avec
P1 <= P2 <= … <= Pn et Quelque soit i,j, i<j on a Pi <= Pj
STR
Prof.M.K.MANSOURI
59
STR- 2. Ordonnancement temps réel
Algorithme Rate Monotonic Analysis (RMA) :
 Application à l’exemple :
Tache P C
A 10 5
B 20 6
C 50 7
STR
Prof.M.K.MANSOURI
60
STR- 2. Ordonnancement temps réel
Algorithme Rate Monotonic Analysis (RMA) :
Exemple 1 : T1 (r0=0, C=3, P=20), T2 (r0=0, C=2, P=5),
T3 (r0=0, C=2, P=10)
0 5 7 10 12 15 17 202
T2
0 2 4 12 14 2010
T3
T1
0 4 205 7 9
0 2 4 12 14 20105 7 9 15 17
≤
Ci
Pi
3 20 2 5 2 10 0,75 n 21 n
1 0,77
STR
Prof.M.K.MANSOURI
61
STR- 2. Ordonnancement temps réel
Algorithme Rate Monotonic Analysis (RMA) :
Exemple 2 :
Tâche Coût Période
T0 2 6
T1 3 8
T2 8 24
On remarque que la tache T0 est la plus prioritaire car il correspondant à
la période la plus petite, alors que la tache T2 est la dernière à exécuter
car il correspond à la période la plus grande.
STR
Prof.M.K.MANSOURI
62
2.9. Ordonnancement des tâches périodiques (3) :
STR- 2. Ordonnancement temps réel
Algorithme Deadline Monotonic Analysis (DMA) :
(Date limite monotone)
 L’algorithme Rate Monotonic est basé sur l’hypothèse que les
tâches sont à échéance sur requête, c’est-à-dire que l’échéance
d’une tâche est égale à sa période.
 Comme RMA, il est préemptif.
 Dans certains systèmes cette hypothèse ne pourra s’avérer exacte
et les échéances pourront être plus petites que les périodes.
 Dans ce cas, l’algorithme Deadline Monotonic Analysis est un
algorithme optimal dans le cas des algorithmes à priorité statique
avec échéances plus petites que les périodes.
 La priorité d’une tâche est fixée par son échéance. Plus son
échéance est petite, plus sa priorité est grande..
STR
Prof.M.K.MANSOURI
63
STR- 2. Ordonnancement temps réel
 quand n est très grand : n(21/n – 1) ~ ln 2 = 0,69
 équivalent à RMA dans le cas des tâches à échéance sur requête,
meilleur dans les autres cas
Test d'acceptabilité (condition suffisante)
i 1
n
Ci
Pi
n 21 n
1
Algorithme Deadline Monotonic Analysis (DMA) :
algorithme à priorité constante
STR
Prof.M.K.MANSOURI
64
STR- 2. Ordonnancement temps réel
Algorithme Deadline Monotonic Analysis (DMA) :
Exemple 1 : 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)
≥
0 5 7 10 12 15 17 204 9 19142
T2
0 2 5 7 20
T1
0 12 14 207 9 10 19
T3
Ci
Pi
3 7 2 4 2 9 1,14 n 21 n
1 0,77
STR
Prof.M.K.MANSOURI
65
STR- 2. Ordonnancement temps réel
Algorithme Deadline Monotonic Analysis (DMA) :
Exemple 2 :
On remarque que la tache T1 est la plus prioritaire car elle a une
échéance plus petite que les autres taches, alors que la tache T2 est la
dernière à s’exécuter car il correspond à échéance la plus grande.
Tâche Coût Priorité Échéance
T0 2 6 5
T1 3 8 4
T2 4 24 20
STR
Prof.M.K.MANSOURI
66
2.9. Ordonnancement des tâches périodiques (4) :
STR- 2. Ordonnancement temps réel
Algorithme Earliest Deadline First (EDF) :
(Première date limite)
 L’algorithme Earliest Deadline First (EDF) donne la priorité à
la tâche ayant l’échéance la plus proche.
 A chaque fois qu’une tâche est réveillée, l’ordonnanceur réévalue
les tâches prêtes et sélectionne celle ayant l’échéance la plus courte.
 algorithme à priorité variable
 test d'acceptabilité :
 condition nécessaire :
i 1
n
Ci
Pi
1
 condition suffisante :
i 1
n
Ci
Di
1
STR
Prof.M.K.MANSOURI
67
STR- 2. Ordonnancement temps réel
Algorithme Earliest Deadline First (EDF) :
Exemple 1: 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)
< 1
> 1
0
0
0
2 5
5
8
7
10 12
12 14
15 17 20
20
20
4
7
9
8 10
19
18
142 5 7
T1
T2
T3
Ci
Pi
3 20 2 5 2 10 0,75
Ci
Di
3 7 2 4 2 8 1,18
STR
Prof.M.K.MANSOURI
68
STR- 2. Ordonnancement temps réel
Algorithme Earliest Deadline First (EDF) :
Exemple 2 :
 L’algorithme est appliqué, ici, à des tâches périodiques à
échéance sur requête où la préemption est autorisée.
Tâche Coût Échéance
T0 2 5
T1 3 7
T2 1 10
STR
Prof.M.K.MANSOURI
69
STR- 2. Ordonnancement temps réel
Algorithme Earliest Deadline First (EDF) :
Exemple 2 (suite) :
 L’algorithme EDF est optimal dans le cas préemptif. A titre
indicatif, observons son comportement si la préemption est
impossible. Considérons l’exemple suivant à deux tâches :
Tâche Coût Arrivé Échéance
T0 4 0 7
T1 2 1 5
Dans le cas préemptif, l’ordonnancement trouvé est :
STR
Prof.M.K.MANSOURI
70
STR- 2. Ordonnancement temps réel
Algorithme Earliest Deadline First (EDF) :
Exemple 2 (suite) :
 On peut observer que la tâche T0 est préemptée au temps 1 par la
tâche T1, et lorsque cette dernière est terminée, T0 peut reprendre
son exécution.
 Dans le cas non-préemptif, l’arrivée de la tâche T1 au temps 1
voit la tâche T0 continuer son exécution, étant donné qu’elle ne peut
être préemptée:
STR
Prof.M.K.MANSOURI
71
STR- 2. Ordonnancement temps réel
Algorithme Earliest Deadline First (EDF) :
Exemple 2 (suite) :
 Nous pouvons donc observer que l’échéance de T1 n’est pas
respectée. L’ordonnancement suivant est une solution possible dans
le cadre non-préemptif (mais avec processeur inactif) :
STR
Prof.M.K.MANSOURI
72
STR- 2. Ordonnancement temps réel
Algorithme Earliest Deadline First (EDF) :
Exemple 2 (suite) :
 Cet ordonnancement montre qu’une solution existe dans ce cadre.
 Toutefois, EDF traite les tâches dès leur moment d’arrivée.
 Sans la connaissance a priori des temps d’arrivée des tâches, il
n’est pas possible, au temps 0, de prendre la décision de retarder
l’exécution de T0.
 En effet, ici le processeur reste inactif durant un quantum de
temps, ce qui aurait pu être préjudiciable suivant le temps d’arrivée
de T1.
 Si la préemption n’est pas autorisée, le problème de trouver un
ordonnancement faisable devient dure.
STR
Prof.M.K.MANSOURI
73
2.9. Ordonnancement des tâches périodiques (5) :
STR- 2. Ordonnancement temps réel
Algorithme Least Laxity First (LLF) :
(Au laxisme des Premières)
 algorithme à priorité variable
 la priorité maximale est donnée à la tâche qui a la plus petite
laxité résiduelle L(t) = D(t) – C(t)
 aussi appelé Least Slack Time (LST)
 basé sur la laxité résiduelle :
 é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
STR
Prof.M.K.MANSOURI
74
STR- 2. Ordonnancement temps réel
Algorithme Least Laxity First (LLF) :
Exemple : Même configuration que pour EDF
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)
Laxité calculée à t = 0, 1, 2, 3, etc...
0 8 10 12 15 17 204 9 19142 5 7
T1
T2
T3
1 3 6 11 13 16 18
0 8 10 12 15 17 204 9 19142 5 71 3 6 11 13 16 18
0 8 10 12 15 17 204 9 19142 5 71 3 6 11 13 16 18
t = 0
L1 = 7-3 = 4, L2 = 4-2 = 2, L3 = 8-2 = 6
t = 1
L1 = 3, L2= 2, L3 = 5
t = 2
L1 = 2, L3 = 4
t = 3
L1 = 2, L3 = 3
t = 4
L1 = 2, L3 = 2
t = 5
L2 = 2, L3 = 1
t = 6
L2 = 1, L3 = 1
t = 7
L2 = 0

Contenu connexe

Tendances

Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réelmikhailether
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
Yassine Badri
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
Riadh Bouslimi
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
ECAM Brussels Engineering School
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
vangogue
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
Sana Aroussi
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
Heithem Abbes
 
Correction TD Adressage IP.pdf
Correction  TD Adressage IP.pdfCorrection  TD Adressage IP.pdf
Correction TD Adressage IP.pdf
ssuser18776b
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarAnouar Sghaier
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
SinGuy
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
Peronnin Eric
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisation
Lilia Sfaxi
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
Faycel Chaoua
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
Lilia Sfaxi
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
Hamza RAJHI
 
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSProgrammation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
ECAM Brussels Engineering School
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
Yassine Badri
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
Mansouri Khalifa
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
Aziz Darouichi
 

Tendances (20)

Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réel
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Correction TD Adressage IP.pdf
Correction  TD Adressage IP.pdfCorrection  TD Adressage IP.pdf
Correction TD Adressage IP.pdf
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouar
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisation
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
 
Chp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat TransitionChp5 - Diagramme d'Etat Transition
Chp5 - Diagramme d'Etat Transition
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSProgrammation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 

Similaire à Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI

Gpao 6 - Ordonnancement
Gpao 6 - OrdonnancementGpao 6 - Ordonnancement
Gpao 6 - Ordonnancement
ibtissam el hassani
 
Chap06 1
Chap06 1Chap06 1
Chap06 1
Malak Souf
 
Support systemes multitaches-tempsreel
Support systemes multitaches-tempsreelSupport systemes multitaches-tempsreel
Support systemes multitaches-tempsreel
youssef essakhi
 
Restructuration d applications Java Temps réel
Restructuration d applications Java Temps réelRestructuration d applications Java Temps réel
Restructuration d applications Java Temps réel
Cédric Mouats
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amine
CHERIET Mohammed El Amine
 
Ordonnancement
OrdonnancementOrdonnancement
Ordonnancement
Abbas Ebrahimi
 
8.lesinterruptions
8.lesinterruptions8.lesinterruptions
8.lesinterruptions
ahmedyes
 
rt-intro.pdf
rt-intro.pdfrt-intro.pdf
rt-intro.pdf
Said Ech
 
Travaux pratiques corrigé logiciel ARENA
Travaux pratiques corrigé logiciel ARENATravaux pratiques corrigé logiciel ARENA
Travaux pratiques corrigé logiciel ARENA
SandraKobe
 
Gestion de projet industriel
Gestion de projet industrielGestion de projet industriel
On Board Computer Subsystem.pdf
On Board Computer Subsystem.pdfOn Board Computer Subsystem.pdf
On Board Computer Subsystem.pdf
zakariyaeelmourabit
 
Fiabilite
FiabiliteFiabilite
Fiabilite
Ben Fethi
 
La gestion des processus
La gestion des processusLa gestion des processus
La gestion des processus
sarah Benmerzouk
 
Ordonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdfOrdonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdf
MbarkiIsraa
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processusSelman Dridi
 
Lustre
LustreLustre
Lustre
nadia sassi
 
SdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et PlanificationSdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et Planification
Alexandru Radovici
 
Lestechniquesdelordonnacement
LestechniquesdelordonnacementLestechniquesdelordonnacement
Lestechniquesdelordonnacementadeloo21
 

Similaire à Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI (20)

Gpao 6 - Ordonnancement
Gpao 6 - OrdonnancementGpao 6 - Ordonnancement
Gpao 6 - Ordonnancement
 
Chap06 1
Chap06 1Chap06 1
Chap06 1
 
Support systemes multitaches-tempsreel
Support systemes multitaches-tempsreelSupport systemes multitaches-tempsreel
Support systemes multitaches-tempsreel
 
Restructuration d applications Java Temps réel
Restructuration d applications Java Temps réelRestructuration d applications Java Temps réel
Restructuration d applications Java Temps réel
 
Noyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amineNoyau temps réel freertos cheriet mohammed el amine
Noyau temps réel freertos cheriet mohammed el amine
 
Ordonnancement
OrdonnancementOrdonnancement
Ordonnancement
 
8.lesinterruptions
8.lesinterruptions8.lesinterruptions
8.lesinterruptions
 
Msr05 Control
Msr05 ControlMsr05 Control
Msr05 Control
 
rt-intro.pdf
rt-intro.pdfrt-intro.pdf
rt-intro.pdf
 
Travaux pratiques corrigé logiciel ARENA
Travaux pratiques corrigé logiciel ARENATravaux pratiques corrigé logiciel ARENA
Travaux pratiques corrigé logiciel ARENA
 
Gestion de projet industriel
Gestion de projet industrielGestion de projet industriel
Gestion de projet industriel
 
On Board Computer Subsystem.pdf
On Board Computer Subsystem.pdfOn Board Computer Subsystem.pdf
On Board Computer Subsystem.pdf
 
Fiabilite
FiabiliteFiabilite
Fiabilite
 
La gestion des processus
La gestion des processusLa gestion des processus
La gestion des processus
 
Ordonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdfOrdonnanc-Proc_Threads (1).pdf
Ordonnanc-Proc_Threads (1).pdf
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processus
 
Lustre
LustreLustre
Lustre
 
SdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et PlanificationSdE 5 - Communication entre processus et Planification
SdE 5 - Communication entre processus et Planification
 
Rapport
RapportRapport
Rapport
 
Lestechniquesdelordonnacement
LestechniquesdelordonnacementLestechniquesdelordonnacement
Lestechniquesdelordonnacement
 

Plus de Mansouri Khalifa

Cours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURICours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURICours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Mansouri Khalifa
 
Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
Mansouri Khalifa
 
UML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouriUML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouri
Mansouri Khalifa
 
UML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouriUML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouri
Mansouri Khalifa
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
Mansouri Khalifa
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
Mansouri Khalifa
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
Mansouri Khalifa
 
Systèmes d'Information dans les organisations
Systèmes d'Information dans les organisationsSystèmes d'Information dans les organisations
Systèmes d'Information dans les organisations
Mansouri Khalifa
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURI
Mansouri Khalifa
 

Plus de Mansouri Khalifa (16)

Cours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURICours bases de données partie 2 Prof. Khalifa MANSOURI
Cours bases de données partie 2 Prof. Khalifa MANSOURI
 
Cours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURICours bases de données partie 1 Prof. Khalifa MANSOURI
Cours bases de données partie 1 Prof. Khalifa MANSOURI
 
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 3 prof. Khalifa MANSOURI
 
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 2 prof. Khalifa MANSOURI
 
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURICours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
Cours guvernance des systèmes d'information partie 1 prof. Khalifa MANSOURI
 
Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI Cours : les arbres Prof. KHALIFA MANSOURI
Cours : les arbres Prof. KHALIFA MANSOURI
 
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
Cours Piles et files en utilisant lesl istes chainées Prof. KHALIFA MANSOURI
 
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
 
UML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouriUML Part 6 diagramme etat transition mansouri
UML Part 6 diagramme etat transition mansouri
 
UML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouriUML Part 5- diagramme d'activités mansouri
UML Part 5- diagramme d'activités mansouri
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
UML Part1-Introduction Mansouri
UML Part1-Introduction MansouriUML Part1-Introduction Mansouri
UML Part1-Introduction Mansouri
 
Systèmes d'Information dans les organisations
Systèmes d'Information dans les organisationsSystèmes d'Information dans les organisations
Systèmes d'Information dans les organisations
 
Analyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURIAnalyse merise Prof. Khalifa MANSOURI
Analyse merise Prof. Khalifa MANSOURI
 

Dernier

BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
Txaruka
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
mohammadaminejouini
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
Morzadec Cécile
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
frizzole
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
AbdessamadAmimi1
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
Michel Bruley
 

Dernier (7)

BATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en FranceBATIMENT 5.pptx. Fil français tourné en France
BATIMENT 5.pptx. Fil français tourné en France
 
Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023Bibliothèque de L'Union - Bilan de l'année 2023
Bibliothèque de L'Union - Bilan de l'année 2023
 
Presentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechniquePresentation powerpoint sur la filiere electrotechnique
Presentation powerpoint sur la filiere electrotechnique
 
Proyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de pazProyecto Erasmus Jardineros y jardineras de paz
Proyecto Erasmus Jardineros y jardineras de paz
 
Veille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdfVeille Audocdi 90 - mois de juin 2024.pdf
Veille Audocdi 90 - mois de juin 2024.pdf
 
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptxcours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
cours-LasergrammetrieLe « LiDAR», de l’anglais « Light.pptx
 
Textes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdfTextes de famille concernant les guerres V2.pdf
Textes de famille concernant les guerres V2.pdf
 

Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI

  • 1. STR Prof.M.K.MANSOURI 1 Professeur : M. K. MANSOURI Université Hassan II de Casablanca ENSET de Mohammedia Département Mathématiques et Informatique Partie 2
  • 3. STR Prof.M.K.MANSOURI 3 Ordonnancement Temps Téel Systèmes temps réel–Deuxième partie–plan du cours : 1. Concept de taches 2. Prédictibilité temporelle des STR 3. Introduction à l’ordonnancement 4. Objectif de l’ordonnancement 5. Modèle d’étude d’ordonnancement : Hypothèses 6. Caractéristiques de taches 7. Types d’algorithmes d’ordonnancement 8. Ordonnancements classiques 9. Ordonnancement des tâches périodiques 10. Algorithme Rate Monotonic Analysis (RMA) 11. Algorithme Deadline Monotonic Analysis (DMA) 12. Algorithme Earliest Deadline First (EDF) 13. Algorithme Least Laxity First (LLF)
  • 4. STR Prof.M.K.MANSOURI 4 2.1. Concept de taches (1) : STR- 2. Ordonnancement Temps Réel Le système est une collection de tâches autonomes, s’exécutant en parallèle (parallélisme logique)  (statiquement) est décrite par un programme séquentiel, Une tâche :  (à l’exécution) a son propre fil de contrôle,  peut communiquer et partager des ressources avec d’autres tâches.
  • 5. STR Prof.M.K.MANSOURI 5 2.1. Concept de taches (2) : STR- 2. Ordonnancement Temps Réel l’interprétation varie au cours du cycle de développement :  analyse / conception : tâche = une série d’actions déclanchée par un stimulus venant d’un capteur ou par l’arrivée d’une échéance temporelle  implémentation : tâche = processus ou thread (Suite de messages diffusés dans un forum par exemple) ou objet actif ou … Tâches temps réel soumises à des contraintes de temps, plus ou moins strictes :  instant de démarrage,  instant de fin,  absolus ou relatifs à d'autres tâches.
  • 6. STR Prof.M.K.MANSOURI 6 2.1. Concept de taches (3) : STR- 2. Ordonnancement Temps Réel Il y a trois types de taches :  Tâches périodiques :  Déclanchées par le temps. Caractéristiques connues à l’avance.  La tache Ti est caractérisée par : o Pi – période d’arrivée o Ci – temps de calcul au pire cas (WCET : Worst Case Execution Time : Pire Temps d'Exécution) o Di – échéance relative à l’arrivée  Exemple : Guidage-Navigation-Contrôle dans un AOCS Attitude and Orbit Control System : Attitude et système de commande d'orbite (Exemple : Ariane-5)
  • 7. STR Prof.M.K.MANSOURI 7 2.1. Concept de taches (4) : STR- 2. Ordonnancement Temps Réel  Tâches apériodiques :  Déclanchées par un événement extérieur. Caractéristiques partiellement non-connues.  La tache Ti est caractérisée par : o Ci – temps de calcul au pire cas (WCET) o Di – échéance relative à l’arrivée o (éventuellement) Ai–temps d’arrivée/contraintes  Tâches sporadiques :  tâches apériodiques avec temps minimum entre arrivées connu.  Exemple : Séparation des étages dans un lanceur (Ariane-5)
  • 8. STR Prof.M.K.MANSOURI 8 2.1. Concept de taches (5) : STR- 2. Ordonnancement Temps Réel Au niveau de l’interaction entre tâches, on peut distinguer:  Les tâches indépendantes, dont l’ordre d’exécution peut être quelconque. Au niveau des politiques d’ordonnancement, il est clair que les dépendances entre tâches auront un rôle crucial et devront être prises en compte de manière judicieuse.  Les tâches dépendantes, pour lesquelles il existe des contraintes de précédence. Il s’agit du cas où une tâche doit attendre qu’une autre ait terminé son traitement pour pouvoir commencer le sien.
  • 9. STR Prof.M.K.MANSOURI 9 2.1. Concept de taches (6) : STR- 2. Ordonnancement Temps Réel  Tâches dans un contexte temps réel : Lors de son exécution, un processus est caractérisé par un état : lorsque le processus obtient le processeur et s'exécute, il est dans l'état élu. … L'état élu est l'état d'exécution du processus. lors l’exécution, le processus peut demander à accéder à une ressource importante non disponible, le processus quitte alors le processeur et passe dans l'état bloqué. ….L'état bloqué est l'état d'attente d'une ressource autre que le processeur.
  • 10. STR Prof.M.K.MANSOURI 10 2.1. Concept de taches (7) : STR- 2. Ordonnancement Temps Réel lorsque le processus obtient la ressource qu'il attendait, celui-ci peut reprendre son exécution. Mais le processeur peut être alloué à un autre processus (système multiprogrammes). Le processus passe alors dans l'état prêt. … L'état Prêt est l'état d'attente du processeur. Le passage de l'état prêt vers l'état élu constitue l'opération d'élection, Le passage de l'état élu vers l'état bloqué est l'opération de blocage,  Le passage de l'état bloqué vers l'état prêt est l'opération de déblocage.
  • 11. STR Prof.M.K.MANSOURI 11 2.1. Concept de taches (7) : STR- 2. Ordonnancement Temps Réel Cycle de vie Tâche Prêt Bloqué Elu Election Fin BlocageDéblocage Préemption
  • 12. STR Prof.M.K.MANSOURI 12 2.1. Concept de taches (8) : STR- 2. Ordonnancement Temps Réel Un processus est toujours crée dans l'état prêt, Un processus se termine toujours à partir de l'état élu. Le graphe des états du processus est le suivant :
  • 13. STR Prof.M.K.MANSOURI 13 2.1. Concept de taches (9) : STR- 2. Ordonnancement Temps Réel Une transition peut s’ajouter entre l'état élu et l'état prêt, la préemption : Réquisition du processeur qui est retiré au processus élu alors qu’il dispose de toutes les ressources nécessaires à la poursuite de son exécution.
  • 14. STR Prof.M.K.MANSOURI 14 2.1. Concept de taches (10) : STR- 2. Ordonnancement Temps Réel Modèle général d’une tache :
  • 15. STR Prof.M.K.MANSOURI 15 2.1. Concept de taches (11) : STR- 2. Ordonnancement Temps Réel Contraintes sur les tâches:  échéance (deadline)  contraintes de ressources partagées : o ressource en lecture : accès partagé o ressource en écriture : accès exclusif  contraintes de précédence : o T1  T2 : T2 ne peut commencer que si T1 a déjà terminé.  contraintes de criticité : o Exemple : 5 niveaux (A-E) o redondance pour la tolérance aux fautes o … etc.
  • 16. STR Prof.M.K.MANSOURI 16 2.2. Prédictibilité temporelle des STR : STR- 2. Ordonnancement Temps Réel Prédictibilité = assurer a priori que toutes les taches respectent leurs échéances  problèmes: o liés au programme (structure dynamique – boucles, branches, appels externes – OS, …)  méthodes: analyse statique de programmes, interprétation abstraite, analyse dynamique, … On se base en général sur : l'analyse de pire temps d'exécution (WCET–Worst Case Execution Time): o liés au matériel (cache, exécution prédictive…) l'ordonnancement des taches
  • 17. STR Prof.M.K.MANSOURI 17 2.3. Introduction à l’ordonnancement (1) : STR- 2. Ordonnancement Temps Réel Les tâches temps réel soumises à des contraintes de temps, plus ou moins strictes il doit permettre de borner les effets d'incidents ou de surcharges Politique d’ordonnancement : politique d’allocation des tranches de temps processeur (les moments où une tache est livrée au processeur / suspendue ) L’ordonnancement a pour but de répartir l’utilisation du processeur entre les différentes tâches demandeuses. Plusieurs solutions classées selon différents paramètres. le but de l'ordonnancement est de permettre le respect de ces contraintes, lorsque l'exécution se produit dans un mode courant
  • 18. STR Prof.M.K.MANSOURI 18 STR- 2. Ordonnancement Temps Réel Qu'est-ce que l'ordonnancement de processus ? 2.3. Introduction à l’ordonnancement (2) :
  • 19. STR Prof.M.K.MANSOURI 19 2.4. Objectif de l’ordonnancement : STR- 2. Ordonnancement Temps Réel assurer le respect des échéances de manière prouvable Une méthode d’ordonnancement est caractérisée par :  la méthode effective de construction de l’emploi du temps (schedule) du processeur (online ou offline)  le critère de test d’ordonnancabilite (offline) – prédiction du comportement « au pire cas »
  • 20. STR Prof.M.K.MANSOURI 20 2.5. Modèle d’étude d’ordonnancement : Hypothèses : STR- 2. Ordonnancement Temps Réel Les systèmes que nous allons étudiés :  Consiste d’un ensemble fixe de taches,  Toutes les taches sont périodiques,  les taches sont indépendantes, (pas de communication/synchronisation)  on suppose un temps de changement de contexte zero.
  • 21. STR Prof.M.K.MANSOURI 21 2.6. Caractéristiques de taches (1) : STR- 2. Ordonnancement Temps Réel  La figure suivante illustre le diagramme temporels utilisé pour représenter les taches : Conventions sur la représentation des taches :  On note l’occurrence d’un réveil de tâche à l’aide d’une flèche pointant vers le haut, l’échéance de la tâche étant représentée par une flèche pointant vers le bas.
  • 22. STR Prof.M.K.MANSOURI 22 2.6. Caractéristiques de taches (2) : STR- 2. Ordonnancement Temps Réel  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
  • 23. STR Prof.M.K.MANSOURI 23 2.6. Caractéristiques de taches (3) : STR- 2. Ordonnancement Temps Réel  La figure suivante illustre les caractéristiques d’une tâche périodique à échéance sur requête (D = P), où la période est égale au délai critique.  La figure suivante montre les paramètres d’une tâche périodique :
  • 24. STR Prof.M.K.MANSOURI 24 2.6. Caractéristiques de taches (4) : STR- 2. Ordonnancement Temps Réel U = C/P : facteur d'utilisation du processeur paramètres statiques : CH = C/D : facteur de charge du processeur s : date du début de l'exécution de la tache paramètres dynamiques : f : date de la fin de l'exécution de la tache 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 = f - r : temps de réponse de la tâche CH(t) = C(t)/D(t) : charge résiduelle (0 ≤ CH(t) ≤ C/P)
  • 25. STR Prof.M.K.MANSOURI 25 2.6. Caractéristiques de taches (5) : STR- 2. Ordonnancement Temps Réel  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 maximale variation entre la requête et le début de l'exécution  urgence ↔ échéance  importance  Une tâche apériodique est représentée par le t-uple T(r, C, D),  Une tâche périodique est représentée par le t-uple T (r0,C,D), r0 étant la date de réveil de la première occurrence
  • 26. STR Prof.M.K.MANSOURI 26 Quelques définitions (1) : STR- 2. Ordonnancement Temps Réel  facteur d'utilisation du processeur Configuration : ensemble de n tâches mises en jeu par l'application : CH = C/D : facteur de charge du processeur  le PPCM des périodes dans le cas d'une configuration de tâches périodiques U i 1 n Ci Pi CH i 1 n Ci Di intervalle d'étude : intervalle de temps minimum pour prouver l'ordonnançabilité d'une configuration
  • 27. STR Prof.M.K.MANSOURI 27 Quelques définitions (2) : STR- 2. Ordonnancement temps réel  laxité conditionnelle : laxité du processeur LP(t) = intervalle de temps pendant lequel le processeur peut rester inactif tout en respectant les échéances  LP(t) = min(LCi(t)) LCi t Di Ci t (somme sur les tâches déclenchées à la date t et qui sont devant i du point de vue de l'ordonnancement) faisabilité = Un ensemble de tâches est dit faisable s’il est possible d’en proposer un ordonnancement respectant l’ensemble des contraintes de temps imposées.
  • 28. STR Prof.M.K.MANSOURI 28 Buts recherchés dans le cas général : STR- 2. Ordonnancement temps réel  en fonctionnement nominal : respect des contraintes temporelles  piloter l'application avec 2 objectifs majeurs :  en fonctionnement anormal (par exemple pannes matérielles) : atténuer les effets des surcharges et maintenir un état cohérent et sécuritaire  de toutes les requêtes en fonctionnement nominal  ordonnancer = planifier l'exécution des requêtes de façon à respecter les contraintes de temps  d'au moins les requêtes les plus importantes (c'est-à-dire celles nécessaires à la sécurité du procédé) en fonctionnement anormal
  • 29. STR Prof.M.K.MANSOURI 29 2.7. Types d’algorithmes (1) : STR- 2. Ordonnancement temps réel Les algorithmes d’ordonnancement peuvent être catégorisés selon les critères suivants :  L’architecture physique du système a une influence sur la manière d’agencer les tâches. Monoprocesseur/multiprocesseur :  Certains algorithmes ne peuvent être appliqués qu’à des systèmes monoprocesseur (ordonnancement monoprocesseur),  D’autres se destinent à des systèmes multiprocesseur (ordonnancement multiprocesseur) Dans le cadre de ce cours, nous ne traiterons que les algorithmes monoprocesseur
  • 30. STR Prof.M.K.MANSOURI 30 2.7. Types d’algorithmes (2) : STR- 2. Ordonnancement temps réel  Les algorithmes préemptifs traitent les systèmes dans lesquels les tâches peuvent être préemptées : Algorithme préemptif ou non préemptif :  Une tâche peut être interrompue à son insu pour céder le processeur à une autre tâche plus prioritaire.  Les algorithmes non-préemptifs traitent les systèmes dans lesquels une tâche ayant commencé son traitement doit obligatoirement le terminer avant qu’une autre ne s’exécute :
  • 31. STR Prof.M.K.MANSOURI 31 2.7. Types d’algorithmes (3): STR- 2. Ordonnancement temps réel Algorithme non préemptif : Algorithme préemptif :
  • 32. STR Prof.M.K.MANSOURI 32 2.7. Types d’algorithmes (4) : STR- 2. Ordonnancement temps réel  La possibilité de préemption permet d’éviter que le processeur ne soit occupé trop longtemps par une tâche, ce qui pourrait empêcher une autre tâche de se terminer à temps. Cette flexibilité a un coût lié au temps nécessaire pour le changement de contexte d’une tâche à l’autre. Ce coût peut être intolérable suivant l’application.  … donc un choix doit être fait, pour un système particulier, de partir sur une solution avec ou sans préemption.
  • 33. STR Prof.M.K.MANSOURI 33 2.7. Types d’algorithmes (5) : STR- 2. Ordonnancement temps réel  Un ordonnancement hors-ligne est effectué avant le lancement du système. Tous les paramètres de tâches sont connus a priori, et notamment les dates d’activation. Algorithme en ligne ou hors ligne (online / offline) :  Le choix est dynamique ou prédéfini à la conception  L’implémentation du système est alors très simple : il suffit de stocker l’identifiant de la tâche à effectuer à chaque moment d’ordonnancement dans une table,  l’Ordonnanceur exploitant ensuite cette information pour sélectionner la tâche à exécuter.  Le désavantage de cette approche est la grande dépendance au système cible.
  • 34. STR Prof.M.K.MANSOURI 34 2.7. Types d’algorithmes (6) : STR- 2. Ordonnancement temps réel  Un ordonnancement en-ligne est effectué durant le fonctionnement du système.  l’analyse hors-ligne permet une meilleure prédiction de la satisfaction ou non des contraintes temporelles  L’Ordonnanceur recalcule un nouvel ordonnancement à chaque fois qu’une nouvelle tâche est activée.  L’avantage de l’approche est la flexibilité,l’adaptabilité à l’environnement que procure le calcul en-ligne.  Par contre, ce calcul devant être exécuté par le système, qui est temps réel, doit être le plus simple et plus rapide possible, rendant impossible une solution dite optimale.  Plusieurs algorithmes permettent de résoudre ce problème.
  • 35. STR Prof.M.K.MANSOURI 35 2.7. Types d’algorithmes (7) : STR- 2. Ordonnancement temps réel  Un ordonnancement est dit statique s’il est uniquement basé sur les propriétés des tâches avant le lancement du système.  Statique / dynamique:  Un ordonnancement est dynamique s’il est capable de réagir à la modification des propriétés des tâches durant le fonctionnement du système (typiquement un changement de priorité).
  • 36. STR Prof.M.K.MANSOURI 36 2.7. Types d’algorithmes (8) : STR- 2. Ordonnancement temps réel  Un ordonnancement est dit optimal s’il est capable de fournir un ordonnancement qui respecte toutes les contraintes de temps si un tel ordonnancement existe.  Optimal / non optimal :  Un algorithme non optimal (ou best effort) n’a pas la prétention d’être optimal, mais doit faire de son mieux pour fournir un ordonnancement le plus proche possible de l’optimal.  Si un algorithme optimal n’est pas capable de trouver un ordonnancement correct, aucun autre algorithme ne le pourra.
  • 37. STR Prof.M.K.MANSOURI 37 2.7. Types d’algorithmes (9) : STR- 2. Ordonnancement temps réel  en TR mou, meilleur effort = faire au mieux avec les processeurs disponibles  stratégie du meilleur effort ou inclémence :  en TR dur, obligation des respecter les contraintes temporelles : inclémence aux fautes temporelles  Algorithme centralisé ou réparti  Ordonnancement des tâches indépendantes  partage de ressources  Ordonnancement des tâches dépendantes :  contraintes de précédence  Ordonnancement en cas de surcharge
  • 38. STR Prof.M.K.MANSOURI 38 2.8. Ordonnancements classiques (1) : STR- 2. Ordonnancement temps réel Dans un système classique, l’Ordonnanceur réparti le temps CPU entre les différentes tâches présentes dans le système. Dans une première partie, nous présentons quelques algorithmes d’ordonnancement classiques, Dans une seconde partie, nous présentons des algorithmes spécifiques au temps réel.
  • 39. STR Prof.M.K.MANSOURI 39 2.8. Ordonnancements classiques (2) : STR- 2. Ordonnancement temps réel … appliqués lorsque les tâches ne peuvent être préemptées, c’est-à-dire où une tâche ayant commencé son exécution doit forcément la terminer avant qu’une autre tâche ne puisse débuter.  Algorithmes non préemptifs : 1. Premier arrivé premier servi :  Cet algorithme fonctionne de la manière plus simple  Les tâches sont stockées dans une structure de type FIFO (First In First Out)  la première tâche est exécutée et lorsqu’elle termine, la suivante est lancée.
  • 40. STR Prof.M.K.MANSOURI 40 2.8. Ordonnancements classiques (3) : STR- 2. Ordonnancement temps réel  Les tâches nouvellement activées sont stockées à la fin de la file d’attente.  Dans l’exemple suivant, nous pouvons noter que les tâches T1 et T2 doivent attendre un temps important jusqu’à ce que la tâche T0 se termine. Tâche Coût Arrivée T0 8 1 T1 2 2 T2 4 4
  • 41. STR Prof.M.K.MANSOURI 41 2.8. Ordonnancements classiques (4) : STR- 2. Ordonnancement temps réel  Éviter que des tâches courtes ne doivent attendre trop longtemps sur des tâches longues, 2. Plus court d’abord :  il est possible d’appliquer un algorithme où la tâche la plus courte est servie en premier.  les tâches courtes sont favorisées  le temps d’attente moyen est minimisé  Un des problèmes de cette approche est le risque de trop de retard pour les tâches longues  Si de nouvelles tâches courtes sont régulièrement réveillées, il se peut qu’elles passent toujours devant une tâche longue, empêchant ainsi celle-ci de s’exécuter
  • 42. STR Prof.M.K.MANSOURI 42 2.8. Ordonnancements classiques (4) : STR- 2. Ordonnancement temps réel Tâche Coût Arrivée T0 8 0 T1 2 0 T2 4 0 Exemple d’algorithme : Plus court d’abord :
  • 43. STR Prof.M.K.MANSOURI 43 2.8. Ordonnancements classiques (5) : STR- 2. Ordonnancement temps réel  Algorithmes préemptifs : 3. Algorithme du tourniquet :  L’algorithme du tourniquet (round robin en anglais) vise à traiter les tâches avec le plus d’équité possible, en allouant un quantum de temps identique à toutes les tâches et à les traiter dans un ordre FIFO.  Les tâches sont placées dans une file d’attente et la première de la file est exécutée pendant un quantum de temps  A la fin de ce quantum, si la tâche n’est pas terminée, elle est replacée à la fin de la file et une nouvelle tâche est sélectionnée de puis le début de la file.  Si la file est vide, la tâche peut continuer son exécution. La figure suivante illustre cet algorithme avec un quantum de 2 unités de temps.
  • 44. STR Prof.M.K.MANSOURI 44 2.8. Ordonnancements classiques (6) : STR- 2. Ordonnancement temps réel Exemple d’algorithme : Tourniquet : Tâche Coût Arrivée T0 8 0 T1 2 1 T2 4 3
  • 45. STR Prof.M.K.MANSOURI 45 2.8. Ordonnancements classiques (7) : STR- 2. Ordonnancement temps réel  D’après la figure on remarque que la tâche T0 garde l’accès au processeur lorsqu’elle se retrouve être la seule en cours d’exécution.  Il n’y a donc pas de changement de contexte si ceci n’est pas nécessaire  Cette technique de tourniquet correspond à la politique standard observée dans les systèmes d’exploitation, car elle permet à toutes les tâches de s’exécuter sans risque de retard  Nous pouvons toute fois noter qu’il s’agira d’une variante avec priorité. Remarques :
  • 46. STR Prof.M.K.MANSOURI 46 2.8. Ordonnancements classiques (8) : STR- 2. Ordonnancement temps réel 4. Algorithme à priorité fixe :  L’algorithme du tourniquet traite toutes les tâches sur le même pied d’égalité L’algorithme à priorité fixe fonctionne comme celui du tourniquet à l’intérieur d’une priorité et les priorités sont traitées dans l’ordre.  Les tâches d’une priorité particulière y sont traitées selon un tourniquet, pour autant qu’aucune tâche de plus haute priorité ne soit prête à être exécutée.  La figure suivante illustre cet algorithme, avec un quantum égal à 2 unités de temps  Il est souvent nécessaire de définir des priorités entre tâches, afin, par exemple, de garantir que la lecture d’un fichier audio se fasse de manière fluide, même lorsqu’une compilation est en cours.
  • 47. STR Prof.M.K.MANSOURI 47 2.8. Ordonnancements classiques (9) : STR- 2. Ordonnancement temps réel Exemple d’algorithme : à priorité fixe : Tâche Coût Priorité Arrivée T0 6 1 0 T1 6 2 0 T2 4 1 0
  • 48. STR Prof.M.K.MANSOURI 48 2.8. Ordonnancements classiques (10) : STR- 2. Ordonnancement temps réel  D’après la figure on peut noter que la tâche T1, la plus prioritaire, est exécutée au départ, puis un tourniquet est effectué pour les deux autres tâches  Cette technique de tourniquet à priorité correspond à la politique standard observée dans les systèmes d’exploitation, car elle permet à toutes les tâches de s’exécuter sans risque de retard. Remarques :
  • 49. STR Prof.M.K.MANSOURI 49 2.8. Ordonnancements classiques (11) : STR- 2. Ordonnancement temps réel 5. Algorithme Earliest deadline first (EDF) : (premier délai)  L’algorithme Earliest Deadline First (EDF) donne la priorité à la tâche ayant l’échéance la plus proche.  La figure suivante illustre le principe de cet algorithme.  A chaque fois qu’une tâche est réveillée, l’Ordonnanceur réévalue les tâches prêtes et sélectionne celle ayant l’échéance la plus courte..
  • 50. STR Prof.M.K.MANSOURI 50 2.8. Ordonnancements classiques (12) : STR- 2. Ordonnancement temps réel Exemple d’algorithme : (EDF) : Tâche Coût Priorité Arrivée T0 6 12 0 T1 4 8 2 T2 2 5 3 Nous reviendrons sur l’algorithme EDF, étant donné qu’il s’agit d’une des politiques d’ordonnancement les plus utilisées.
  • 51. STR Prof.M.K.MANSOURI 51 2.9. Ordonnancement des tâches périodiques (1) : STR- 2. Ordonnancement temps réel  Le problème fondamental est de garantir le respect des échéances des différentes tâches constituant un système.  Il existe un grand nombre de manière d’ordonnancer un ensemble de tâches et ce notamment en fonction des caractéristiques de celles-ci.  Elles peuvent être indépendantes, dépendantes, périodiques, apériodiques, elles peuvent partager ou non des ressources, changer ou non des informations.  Dans nombre de systèmes temps réel, certaines tâches doivent s’exécuter de manière répétée, à intervalles réguliers.  Il pourra par exemple s’agir d’une tâche chargée d’aller vérifier la valeur d’un capteur tous les dixièmes de seconde.  Ces tâches sont appelées tâches périodiques, puisqu’elles doivent s’exécuter régulièrement, en suivant une période fixe.
  • 52. STR Prof.M.K.MANSOURI 52 2.9. Ordonnancement des tâches périodiques (2) : STR- 2. Ordonnancement temps réel Algorithme Rate Monotonic Analysis (RMA) : (Taux monotone)  L’algorithme Rate Monotonic est un algorithme statique  Il s’agit d’un algorithme préemptif, l’activation d’une tâche de petite période devant permettre la préemption d’une tâche de période plus grande.  applicable à un ensemble de tâches à échéance sur requête, où les priorités des tâches sont fixées et décidée avant le lancement du système.  La priorité des tâches est fixée en fonction de leur période d’activation.  Plus une tâche a une petite période d’activation, plus sa priorité sera haute  Cet algorithme est optimal dans le cas des priorités fixes.
  • 53. STR Prof.M.K.MANSOURI 53 STR- 2. Ordonnancement temps réel Test d'acceptabilité ou Critère statique d’ordonnançabilité RMA (condition suffisante) i 1 n Ci Pi n 21 n 1 Algorithme Rate Monotonic Analysis (RMA) : algorithme à priorité constante Théorème : Un ensemble de n tâches périodiques indépendantes est ordonnançable par RMA indifféremment de l’ordre d’arrivée si : Utilisation du processeur U(n) la condition est restrictive: U(1) = 1 U(2) ~ 0.828 U(3) ~ 0.779 U(4) ~ 0.756 U(5) ~ 0.743 U(6) ~ 0.734 pour n très grand, U tend vers ln 2 ~ 0.69 = 69%
  • 54. STR Prof.M.K.MANSOURI 54 STR- 2. Ordonnancement temps réel  dans la pratique, on peut rencontrer des ordonnancements valides qui vont jusqu'à 88% Algorithme Rate Monotonic Analysis (RMA) : L’ensemble est ordonnançable  Application 1 du critère : Tache P C A 10 5 B 20 6 UA = CA / PA = 0.5 UB = CB / PB = 0.3 U = UA + UB = 0.8 < U(2)
  • 55. STR Prof.M.K.MANSOURI 55 STR- 2. Ordonnancement temps réel Algorithme Rate Monotonic Analysis (RMA) :  Application 2 du critère : UA = CA / PA = 0.5 UB = CB / PB = 0.3 U = UA + UB + UC = 0.94 > U(3) ~ 0.779 Tache P C A 10 5 B 20 6 C 50 7 UC = CC / PC = 0.14
  • 56. STR Prof.M.K.MANSOURI 56 STR- 2. Ordonnancement temps réel Algorithme Rate Monotonic Analysis (RMA) :  Améliorer le critère : La condition : i 1 n Ci Pi n 21 n 1 est suffisante mais pas nécessaire Il existe un test précis: Théorème : Si un ensemble de n tâches indépendantes avec priorités fixes affectées par RMA respecte la 1ère échéance de chaque tâche quand toutes les tâches sont démarrées en même temps (à T0), alors l’ensemble est toujours ordonnançable.
  • 57. STR Prof.M.K.MANSOURI 57 STR- 2. Ordonnancement temps réel Algorithme Rate Monotonic Analysis (RMA) : pourtant :  Cas particulier (1) : Tache P C A 10 5 B 20 10 UA = CA / PA = 0.5 UB = CB / PB = 0.5 U = UA + UB = 1 > U(2)
  • 58. STR Prof.M.K.MANSOURI 58 STR- 2. Ordonnancement temps réel Algorithme Rate Monotonic Analysis (RMA) : De manière générale : un ensemble de tâches périodiques harmoniques est ordonnançable si l’utilisation du processeur est <= 100%  Cas particulier (2) : Tache P C A 10 5 B 20 10 UA = CA / PA = 0.5 UB = CB / PB = 0.5 U = UA + UB = 1 > U(2) Tâches harmoniques : {T1, T2,…, Tn } avec P1 <= P2 <= … <= Pn et Quelque soit i,j, i<j on a Pi <= Pj
  • 59. STR Prof.M.K.MANSOURI 59 STR- 2. Ordonnancement temps réel Algorithme Rate Monotonic Analysis (RMA) :  Application à l’exemple : Tache P C A 10 5 B 20 6 C 50 7
  • 60. STR Prof.M.K.MANSOURI 60 STR- 2. Ordonnancement temps réel Algorithme Rate Monotonic Analysis (RMA) : Exemple 1 : T1 (r0=0, C=3, P=20), T2 (r0=0, C=2, P=5), T3 (r0=0, C=2, P=10) 0 5 7 10 12 15 17 202 T2 0 2 4 12 14 2010 T3 T1 0 4 205 7 9 0 2 4 12 14 20105 7 9 15 17 ≤ Ci Pi 3 20 2 5 2 10 0,75 n 21 n 1 0,77
  • 61. STR Prof.M.K.MANSOURI 61 STR- 2. Ordonnancement temps réel Algorithme Rate Monotonic Analysis (RMA) : Exemple 2 : Tâche Coût Période T0 2 6 T1 3 8 T2 8 24 On remarque que la tache T0 est la plus prioritaire car il correspondant à la période la plus petite, alors que la tache T2 est la dernière à exécuter car il correspond à la période la plus grande.
  • 62. STR Prof.M.K.MANSOURI 62 2.9. Ordonnancement des tâches périodiques (3) : STR- 2. Ordonnancement temps réel Algorithme Deadline Monotonic Analysis (DMA) : (Date limite monotone)  L’algorithme Rate Monotonic est basé sur l’hypothèse que les tâches sont à échéance sur requête, c’est-à-dire que l’échéance d’une tâche est égale à sa période.  Comme RMA, il est préemptif.  Dans certains systèmes cette hypothèse ne pourra s’avérer exacte et les échéances pourront être plus petites que les périodes.  Dans ce cas, l’algorithme Deadline Monotonic Analysis est un algorithme optimal dans le cas des algorithmes à priorité statique avec échéances plus petites que les périodes.  La priorité d’une tâche est fixée par son échéance. Plus son échéance est petite, plus sa priorité est grande..
  • 63. STR Prof.M.K.MANSOURI 63 STR- 2. Ordonnancement temps réel  quand n est très grand : n(21/n – 1) ~ ln 2 = 0,69  équivalent à RMA dans le cas des tâches à échéance sur requête, meilleur dans les autres cas Test d'acceptabilité (condition suffisante) i 1 n Ci Pi n 21 n 1 Algorithme Deadline Monotonic Analysis (DMA) : algorithme à priorité constante
  • 64. STR Prof.M.K.MANSOURI 64 STR- 2. Ordonnancement temps réel Algorithme Deadline Monotonic Analysis (DMA) : Exemple 1 : 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) ≥ 0 5 7 10 12 15 17 204 9 19142 T2 0 2 5 7 20 T1 0 12 14 207 9 10 19 T3 Ci Pi 3 7 2 4 2 9 1,14 n 21 n 1 0,77
  • 65. STR Prof.M.K.MANSOURI 65 STR- 2. Ordonnancement temps réel Algorithme Deadline Monotonic Analysis (DMA) : Exemple 2 : On remarque que la tache T1 est la plus prioritaire car elle a une échéance plus petite que les autres taches, alors que la tache T2 est la dernière à s’exécuter car il correspond à échéance la plus grande. Tâche Coût Priorité Échéance T0 2 6 5 T1 3 8 4 T2 4 24 20
  • 66. STR Prof.M.K.MANSOURI 66 2.9. Ordonnancement des tâches périodiques (4) : STR- 2. Ordonnancement temps réel Algorithme Earliest Deadline First (EDF) : (Première date limite)  L’algorithme Earliest Deadline First (EDF) donne la priorité à la tâche ayant l’échéance la plus proche.  A chaque fois qu’une tâche est réveillée, l’ordonnanceur réévalue les tâches prêtes et sélectionne celle ayant l’échéance la plus courte.  algorithme à priorité variable  test d'acceptabilité :  condition nécessaire : i 1 n Ci Pi 1  condition suffisante : i 1 n Ci Di 1
  • 67. STR Prof.M.K.MANSOURI 67 STR- 2. Ordonnancement temps réel Algorithme Earliest Deadline First (EDF) : Exemple 1: 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) < 1 > 1 0 0 0 2 5 5 8 7 10 12 12 14 15 17 20 20 20 4 7 9 8 10 19 18 142 5 7 T1 T2 T3 Ci Pi 3 20 2 5 2 10 0,75 Ci Di 3 7 2 4 2 8 1,18
  • 68. STR Prof.M.K.MANSOURI 68 STR- 2. Ordonnancement temps réel Algorithme Earliest Deadline First (EDF) : Exemple 2 :  L’algorithme est appliqué, ici, à des tâches périodiques à échéance sur requête où la préemption est autorisée. Tâche Coût Échéance T0 2 5 T1 3 7 T2 1 10
  • 69. STR Prof.M.K.MANSOURI 69 STR- 2. Ordonnancement temps réel Algorithme Earliest Deadline First (EDF) : Exemple 2 (suite) :  L’algorithme EDF est optimal dans le cas préemptif. A titre indicatif, observons son comportement si la préemption est impossible. Considérons l’exemple suivant à deux tâches : Tâche Coût Arrivé Échéance T0 4 0 7 T1 2 1 5 Dans le cas préemptif, l’ordonnancement trouvé est :
  • 70. STR Prof.M.K.MANSOURI 70 STR- 2. Ordonnancement temps réel Algorithme Earliest Deadline First (EDF) : Exemple 2 (suite) :  On peut observer que la tâche T0 est préemptée au temps 1 par la tâche T1, et lorsque cette dernière est terminée, T0 peut reprendre son exécution.  Dans le cas non-préemptif, l’arrivée de la tâche T1 au temps 1 voit la tâche T0 continuer son exécution, étant donné qu’elle ne peut être préemptée:
  • 71. STR Prof.M.K.MANSOURI 71 STR- 2. Ordonnancement temps réel Algorithme Earliest Deadline First (EDF) : Exemple 2 (suite) :  Nous pouvons donc observer que l’échéance de T1 n’est pas respectée. L’ordonnancement suivant est une solution possible dans le cadre non-préemptif (mais avec processeur inactif) :
  • 72. STR Prof.M.K.MANSOURI 72 STR- 2. Ordonnancement temps réel Algorithme Earliest Deadline First (EDF) : Exemple 2 (suite) :  Cet ordonnancement montre qu’une solution existe dans ce cadre.  Toutefois, EDF traite les tâches dès leur moment d’arrivée.  Sans la connaissance a priori des temps d’arrivée des tâches, il n’est pas possible, au temps 0, de prendre la décision de retarder l’exécution de T0.  En effet, ici le processeur reste inactif durant un quantum de temps, ce qui aurait pu être préjudiciable suivant le temps d’arrivée de T1.  Si la préemption n’est pas autorisée, le problème de trouver un ordonnancement faisable devient dure.
  • 73. STR Prof.M.K.MANSOURI 73 2.9. Ordonnancement des tâches périodiques (5) : STR- 2. Ordonnancement temps réel Algorithme Least Laxity First (LLF) : (Au laxisme des Premières)  algorithme à priorité variable  la priorité maximale est donnée à la tâche qui a la plus petite laxité résiduelle L(t) = D(t) – C(t)  aussi appelé Least Slack Time (LST)  basé sur la laxité résiduelle :  é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
  • 74. STR Prof.M.K.MANSOURI 74 STR- 2. Ordonnancement temps réel Algorithme Least Laxity First (LLF) : Exemple : Même configuration que pour EDF 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) Laxité calculée à t = 0, 1, 2, 3, etc... 0 8 10 12 15 17 204 9 19142 5 7 T1 T2 T3 1 3 6 11 13 16 18 0 8 10 12 15 17 204 9 19142 5 71 3 6 11 13 16 18 0 8 10 12 15 17 204 9 19142 5 71 3 6 11 13 16 18 t = 0 L1 = 7-3 = 4, L2 = 4-2 = 2, L3 = 8-2 = 6 t = 1 L1 = 3, L2= 2, L3 = 5 t = 2 L1 = 2, L3 = 4 t = 3 L1 = 2, L3 = 3 t = 4 L1 = 2, L3 = 2 t = 5 L2 = 2, L3 = 1 t = 6 L2 = 1, L3 = 1 t = 7 L2 = 0