You are on page 1of 5

TD temps rel 1

CORRIGE
1! INTRODUCTION : RM, EDF, LLF............................................................................................................................... 2!
1.1! QUESTION I-1-1......................................................................................................................................................... 2!
1.1.1.1!
1.1.1.2!
1.1.1.3!
1.1.1.4!

Ordonnancement
Ordonnancement
Ordonnancement
Ordonnancement

RMS .................................................................................................................................................. 2!
EDF (1).............................................................................................................................................. 3!
EDF (2).............................................................................................................................................. 3!
LLF.................................................................................................................................................... 4!

Introduction : RM, EDF, LLF

Trois tches, prtes t = 0 :


T1 : (C=1, D=P=3)
T2 : (C=1, D=P=4)
T3 : (C=2, D=P=6)

1.1 Question I-1-1


Calcul de U

2! THEOREME DE LA ZONE CRITIQUE ...................................................................................................................... 5!


2.1! CALCUL DE U............................................................................................................................................................ 5!
2.2! THEOREME DE LA ZONE CRITIQUE......................................................................................................................... 5!
3! RATE MONOTONIC OU EARLIEST DEADLINE .................................................................................................... 5!
3.1! QUESTION I-3-1......................................................................................................................................................... 5!

3.2!
3.3!

3.1.1.1! Liste des tches ............................................................................................................................................................... 5!


3.1.1.2! Diagramme RMS ............................................................................................................................................................ 6!
3.1.1.3! Diagramme EDF............................................................................................................................................................. 6!
QUESTION I-3-2......................................................................................................................................................... 6!
QUESTION I-3-3......................................................................................................................................................... 6!

4! SERVEUR DIFFERE ....................................................................................................................................................... 7!


4.1! QUESTION I-4-1......................................................................................................................................................... 7!
5! SERVEUR DE SCRUTATION ....................................................................................................................................... 7!
5.1! QUESTION I-5-1......................................................................................................................................................... 8!
5.2! QUESTION I-5-2......................................................................................................................................................... 9!

U = 1/3 +1/4 + 2/6 = 0,33 + 0,25 + 0,33 = 0, 91.


Le coefficient U est infrieur 1: lensemble des tches est ordonnanable par EDF.
Il est suprieur 0,78 : on ne peut rien dire pour RMS : en effet U infrieur ou gal N(21/N-1) est une
condition suffisante pour RMS.
Remarques :
- RMS : priorit fixe,
- EDF : priorit dynamique, moins de temps morts que RMS, mais moins bon comportement
en cas de surcharge. Plus coteux implmenter.
- LLF prend en compte le coefficient C, ce qui nest fait ni par RMS, ni par EDF. Encore plus
coteux implanter que EDF.
Rappel : dans tous les cas le calcul dordonnancement nest fait que pour les tches qui ont t actives
ou ractives
Schmas dordonnancement

On rappelle la valeur du PPCM des priodes : 12.

1.1.1.1 Ordonnancement RMS


La dcision dordonnancement est prise chaque activation de tche.
Schma dordonnancement en appliquant RMS :
Date
T1
T2
T3

10

11

12

Commentaire :
Bien que la condition suffisante ne soit pas satisfaite, on constate sur le schma que lensemble des
trois tches est ordonnanable par RMS.
Il reste un crneau libre en 11 : aucune tche na t ractive, la prochaine date dactivation est 12
pour toutes les tches.

TD Temps rel (1) Corrig

EDF, comme RMS, ne prend pas en compte le coefficient C pour calculer les priorits.

1.1.1.2 Ordonnancement EDF (1)

1.1.1.4 Ordonnancement LLF

La dcision dordonnancement est prise chaque activation de tche.


Schma dordonnancement en appliquant EDF :

On donne maintenant un schma dordonnancement en appliquant lalgorithme LLF (Least Laxity


First), algorithme qui prend en compte la capacit C demande par une tche chacune de ses
activations.

Date
T1
T2
T3

10

11

12

Commentaires :
Au temps 3, deux tches ont leur chance pour la date 6 :
- T1, qui a besoin dune unit de temps pour sa deuxime priode,
- T3, qui a besoin dune seconde unit de temps pour sa premire priode.
On peut choisir :
- T1, parce quelle est la premire dans lordre de la numrotation (sa priode est plus courte),
- T3, pour viter de faire un changement de contexte,
Ici, on choisit T1.

Rappel :
La tche qui sera ordonnance est celle dont la laxit , ou marge, est la plus petite, sachant que :
marge = chance temps de calcul restant date courante.
Le calcul dordonnancement peut tre fait chaque incrment dhorloge (uniquement pour les tches
actives), ou bien chaque activation de tche. Dans le premier cas il y a plus de changements de
contexte.
Date 0
T1
2
T2
T3

3
2

6
2

2
2

9
2

10

11

Pour chaque date, on visualise les calculs pour toutes les tches actives :
T3 est rordonnance en 5 pour sa seconde unit de temps.
Au temps 9, deux tches ont leur chance pour la date 12 :
- T2, qui a besoin dune unit de temps pour sa deuxime priode,
- T3, qui a besoin dune seconde unit de temps pour sa deuxime priode.
Comme prcdemment, on peut choisir :
- T2, parce quelle est la premire dans lordre de la numrotation (sa priode est plus courte),
- T3, pour viter de faire un changement de contexte,
Ici, on choisit T2.
T1 sinsre alors, puis T3 consomme sa seconde unit de temps.
Il reste un crneau libre en 11 : aucune tche na t ractive, la prochaine date dactivation est 12
pour toutes les tches.

1.1.1.3 Ordonnancement EDF (2)


Reprenons le scnario, en choisissant maintenant de toujours rduire le nombre de changements de
contexte :
Date
T1
T2
T3

10

11

12

Au temps 4, on choisit T3.


Au temps 7, on peut choisir T1 ou T3, on choisit T1
Au temps 9, on peut choisir T2 ou T3, on choisit T3 qui est dj active, pour viter le changement de
contexte.
Il reste un crneau libre en 11 : aucune tche na t ractive, la prochaine date dactivation est 12
pour toutes les tches.
Remarque :
3

TD Temps rel (1) Corrig

Tche 1
Tche 2
Tche 3

marge
marge
marge

date
chance
chance
chance

C restant
C restant
C restant

Ce qui donne :
Dat
e
T1
T2
T3

2 3 1
2 6 1
3 4 1 2 4 1
3 8 1 2 8
4 6 2 3 6 2 2 6 2 2 6 1 1 6 1

6
2 9

1
4 12 2

En 3, on peut choisir T1 ou T3, on choisit T1 qui vient de se rveiller et qui est la plus prioritaire
choisir T3 entranerait moins de changements de contexte. On pourrait introduire la notion de critcit.
Dat 7
8
9
10
11
e
T1
2 12 1
T2
3 12 1
T3 3 12 2 3 12 1 2 12 1 1 12 1
En 8, on peut choisir T2 ou T3, on choisit T2 qui vient de se rveiller et qui est la plus prioritaire,
choisir T3 entranerait moins de changements de contexte.
De mme, on choisit T1 en 9. T3 est de plus en plus retarde
Il reste un crneau libre en 11 : aucune tche na t ractive, la prochaine date dactivation est 12
pour toutes les tches.

TD Temps rel (1) Corrig

Liste des tches :

Thorme de la zone critique

T1 : (C=10, T =40)
T2 : (C=20, T =60)
T3 : (C=20, T =80)

Trois tches, prtes t = 0 :


T1 : (C=25, D=P=100)
T2 : (C=50, D=P=200)
T3 : (C=100, D=P=300)

U = 1/4 + 2/6 + 2/8 = 0,25 + 0,33 + 0,25 = 0, 83


U est donc suprieur 0, 78 : on ne peut rien dire pour RM, lordonnancement EDF est possible.

2.1 Calcul de U
PPCM = 240
Calcul de U :
U = 25/100 +50/200 + 100/300 = 0,25 + 0,25 + 0,33 = 0, 83.
U est donc > 0,78, on ne peut rien dire pour RMS.

3.1.1.2 Diagramme RMS


Diagramme dordonnancement obtenu en appliquant RMS (par 10 units de temps) :

2.2 Thorme de la zone critique


Date 1
T1
T2
T3

Rappel de la formule :
Wi(t) = !(j=1) i Cj* t/Tj
-

Wi(t) est alors la consommation de temps cpu demande la date t par les i premiers processus
t/Tj donne le nombre dactivations de la tche j, de priode Tj, dans la fentre de temps de
taille t,
t/Tj *Cj, est donc le temps cpu consomm par Tj dans cette fentre,
!(j=1) (i-1) Cj* t/Tj est le retard impos la tche Ti par les tches dindices infrieurs,donc plus
prioritaires.

On va chercher si on peut trouver Wi(t) = t

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

3.1.1.3 Diagramme EDF


Diagramme dordonnancement obtenu en appliquant EDF :
Date 1
T1
T2
T3

9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

On initialise avec Wi(0) = !(j=1) i Cj , cest dire t0 = "


Calcul pour i = 1 :
W1(0) = 25
W1(25) = 25 25/100

3.2 Question I-3-2


= 25 # OK

Calcul pour i = 2 :
W2(0) = 25 + 50 = 75
W2(75) = 25 75/100 + 50 75/200

Tche nettoyage T4 : (C =10, T=60)


Calcul de la nouvelle valeur de U, en prenant en compte T4:
U = (1/4 + 2/6 + 2/8) + 1/6 = 0,83 + 0,16 = 0,99

= 75 # OK

Calcul pour i = 3 :
W3(0) = 25 + 50 + 100 = 175
W3(175) = 25 175/100 + 50 175/200 + 100 175/300
W3(200) = 25 200/100 + 50 200/200 + 100 200/300

= 25*2 = 50 *1 + 100 *1 = 200


= 25*2 = 50 *1 + 100 *1 = 200 # OK

La prise en compte de larrosage dans ces conditions est possible avec EDF.
Elle nest pas possible avec RMS, en effet les seuls crneaux libres en RMS sont :
[11,12], [15,16] et [19,20].

3.3 Question I-3-3


3

Rate monotonic ou Earliest deadline

Dbut en 90, il faut donc finir avant 150, ce nest pas possible : un seul crneau libre avant 150, cest
le 120 pendant 10 units de temps.

3.1 Question I-3-1

Dbut en 90, il faut donc finir avant 190, cest possible parce quen 120 et 160 il y a des crneaux de
10.

3.1.1.1 Liste des tches


5

TD Temps rel (1) Corrig

TD Temps rel (1) Corrig

Sporadique : les rveils sont priodiques, de priode >= T,


Apriodique : activation alatoire.

Serveur diffr

4.1 Question I-4-1

Liste des tches :


T1 : (C=5, T =30)
T2 : (C=10, T =50)
T3 : (C=25, T =75)

Rappel :
Sporadique : les rveils sont priodiques, de priode >= T,
Apriodique : activation alatoire.

Le serveur de scrutation :
Tscrut : (C=5, T =25)

Soient les tches :


T1: (C=2, D=P=3)
T2: (C=1, D=P=4)
La tche T1 est un serveur diffr.
On introduit galement A, une tche apriodique caractrise ainsi :
A : rveil en 4, C=4
Scnario de lexcution de ces tches :
Date
T1
T2

X
X

5
X
X

6
X
X

7
X
X

8
X
X

10

11

12

Rappel :
Un serveur scrutation est activ chacune de ses priodes et vrifie sil existe une, ou plusieurs,
tche apriodique prte tre excute. Il la (les) traite dans la limite de sa capacit. Cette capacit
(ou budget) est rinitialise chacune de ces activations, si le serveur na rien faire, il perd la main,
sa capacit est perdue et sera rinitialise lactivation (priode) suivante.
Le serveur diffr, lui, conserve sa capacit, mme sil navait rien faire et pourra tre activ ds
quune tche apriodique est prte entre deux de ses priodes. (Gestion encore plus fine de la capacit
par le serveur sporadique).

5.1 Question I-5-1

Rponse------Temps 1,
- lordonnanceur ne trouve rien dans la file dattente des tches apriodiques,
- T2 est active et consomme une unit de temps.

Calcul de U pour lensemble T1, T2 et T3 :


U = 5/30 + 10/50 +25/75 = 1/6 + 1/5 + 1/3 = 0,16 + 0,25 + 0,33 = 0,74
Donc ordonnanable par RMS (infrieur 0,78).

Temps 3 :
- T1 a conserv son budget, mais na toujours rien faire.

Si on ajoute la tche de scrutation :


U = 0,74 + 5/25 = 0,74 + 1/5 = 0,9
Donc on ne peut rien dire pour RMS.

Temps 4, lordonnanceur trouve A dans la file dattente des tches apriodiques :


- T1 est rveill et consomme ses deux units de temps,
- T2 nest pas active, parce que moins prioritaire.

Pour T1, T2 et T3 : PPCM = 150


Pour T1, T2 et T3 et Tscrut : PPCM = 150

Temps 6 :
- Le budget de T1 est rinitialis deux,
- T1 excute A jusqu la fin du temps 8,
Temps 8
- T2 manque sa deuxime chance,
Remarque :
On se trouve ici dans un cas qui illustre le travers du serveur diffr : les allocations peuvent se faire
de faon contigue et perturber lordonnancement RMS.
Linstant t est critique pour Ti si :
- t est une date de rveil pour Ti,
- des tches de priorit suprieure Ti sont ractives en t
- le reste du budget de SD est C en t
- la prochaine date de ralimentation du budget est t+C
(on met cte cte deux budgets et on les dmarre un dbut de priode)

Serveur de scrutation

Diagramme dordonnancement RMS pour le scnario suivant :


Liste des tches apriodiques :
TA1 : (C=8, rveil en 0)
TA2 : (C=4, rveil en 20)
TA3 : (C=13, rveil en 45)
TA4 : (C=10, rveil en 90)
Tscrut : (C=5, T =25), il va consommer TOUT SON BUDGET chaque activation
T1
: (C=5, T =30)
T2
: (C=10, T =50)
T3
: (C=25, T =75)

Date 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135


Ts
T1
T2
T3

Rappel :
7

TD Temps rel (1) Corrig

TD Temps rel (1) Corrig

5.2 Question I-5-2


Diagramme dordonnancement dans le cas o le serveur doit traiter les deux tches apriodiques:
TA1 : (C=8, rveil en 6)
TA2 : (C=15, rveil en 20)
Les tches T1 T3 sont toujours prsentes :
T1
: (C=5, T =30)
T2
: (C=10, T =50)
T3
: (C=25, T =75)
Date 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 135 140 145
Ts
T1
T2
T3
Commentaires :
Au temps 0, le serveur de scrutation na rien faire, donc il rend la main, son budget est perdu.
Au temps 25, il consomme 5 units de temps pour TA1.
Au temps 50, il consomme 3 units de temps pour TA1 et 2 units de temps pour TA2.
Au temps 75, il consomme 5 units de temps pour TA2.
Au temps 100, il consomme 5 units de temps pour TA2.
Au temps 125, il consomme 2 units de temps pour TA2.

TD Temps rel (1) Corrig

You might also like