Académique Documents
Professionnel Documents
Culture Documents
F. Singhoff
6 octobre 2013
Rappels de cours
1.1
Modles de tches
Si
000
111
0000
1111
111
000
0000
1111
000
111
0000
1111
000
111
0000
1111
000
111
0000
1111
000
111
0000
1111
k.Pi
Ci
<= Di
00000
11111
11111
00000
00000
11111
00000
11111
00000
11111
00000
11111
(k+1).Pi
0000
1111
1111
0000
0000
1111
0000
1111
0000
1111
0000
1111
(k+2).Pi
0011
11
00
11
11
00
00
00
11
00
11
00
11
00
11
00
11
00
0011
11
00
11
....
1.2
Fonctionnement
Le calcul de priorit consiste associer chaque tche une priorit fixe inversement proportionnelle sa priodicit (Rate Monotonic).
La phase dlection consiste lire la tche de plus forte priorit (ordonnancement priorit
fixe).
Tests de lordonnanabilit
Hypothses : tches indpendantes et priodiques. Algorithmes premptifs.
P
(1/n)
i
1) condition suffisante
1. Test sur le taux dutilisation avec i : Di = Pi : ni=1 C
Pi n(2
mais non ncessaire.
2. Utilisation de la priode dtude : ordonnancement comportement cyclique (proprit du
modle priodique). Priode dtude = [0, P P CM (Pi )] (si i : Si = 0).
1
1.3
Lalgorithmes EDF
Fonctionnement
Le calcul de priorit consiste dterminer une chance. Lchance Di (t) dune tche i
linstant t est gale la somme de la date de dbut de lactivation courante linstant t et du
dlai critique Di .
La phase dlection consiste lire la tche de plus courte chance.
Tests de lordonnanabilit
Hypothses : tches indpendantes et priodiques. Algorithmes premptifs.
1. Test sur le taux dutilisation :
Pn
i
Cas i : Di = Pi : i=1 C
1 condition ncessaire et suffisante.
Pn
Pn PiCi
Cas i : Di < Pi : i=1 Di 1 condition suffisante seulement, i=1
ncessaire uniquement.
Ci
Pi
1 condition
Exercice 2 : EDF
Soient trois tches priodiques T1, T2 et T3 dfinies par les paramtres suivants : S1 = S2 =
S3 = 0, P1 = 12, C1 = 5, P2 = 6, C2 = 2, P3 = 24, C3 = 5. Les dlais critiques sont gaux aux
priodes (soient i : Di = Pi ).
1. Calculez le taux dutilisation du processeur. Concluez sur lordonnanabilit du jeu de tches.
2. Dterminer le nombre dunit de temps libre sur la priode dtude.
3. Confirmez les points prcdants en dessinant, sur la priode dtude, lordonnancement gnr par EDF, dabord avec la version premptive, puis, avec la version non premptive.
4. On considre maintenant le mme jeu de tches mais cette fois ci, deux tches apriodiques
TA1 et TA2 arrivent respectivement aux instants 7 et 12. Leurs capacits sont de 1 et 3 units
de temps. Leurs chances Di (t) interviennent aux instants 9 et 21. Le jeu de tches est il
ordonnanable par EDF (mode premptif) ? Dessinez lordonnancement sur les 30 premires
units de temps.
2. Dessinez lordonnancement gnr par LLF sur les 20 premires units de temps (en mode
premptif).
3. Que constatez vous ? Conclure sur le choix entre ces deux algorithmes.
Capacit
8
5
5
3
3
2
Date darrive
0
2
2
4
3
4
Priorit
0
3
3
5
2
5
Politique
SCHED_OTHER
SCHED_RR
SCHED_RR
SCHED_FIFO
SCHED_FIFO
SCHED_FIFO
Soit le jeu de tches apriodiques ci-dessus. On suppose quune fois arrive, les tches sont
toujours prtes. Dessinez de linstant 0 linstant 25, lordonnancement gnr par lordonnanceur
POSIX 1003.1b.
Compression vido
Dcompression vido
C
Synchronisation
et multiplexage
Prsentation
Acquisition son
Compression son
Dcompression son
Si
0
0
0
0
0
0
0
0
Ci
3
1
3
1
5
4
1
1
Di
12
10
20
15
25
37
20
40
Lapplication tant par nature dynamique, nous utilisons un algorithme EDF premptif. Le
graphe de tches est activ priodiquement toutes les 40ms.
1. Calculez le taux dutilisation. Le jeu de tches est il ordonnanable si lon ne tient pas compte
des contraintes de prcdence ? Rappel : un taux dutilisation ne peut tre exploit que sur
des tches indpendantes.
2. Confirmez en dessinant la squence dordonnancement sur la priode dtude. Lordonnancement gnr par EDF est il conforme aux besoins de lapplication ?
3. Utilisez la mthode de Blazewicz/Chetto pour supprimer les contraintes de prcdence.
4. Calculez de nouveau le taux dutilisation et redessinez lordonnancement ainsi gnr sur sa
priode dtude. Conclure sur lordonnanabilit de lapplication.
1. Dessinez sur la priode dtude lordonnancement gnr par un algorithme priorit fixe
et RM. Vous indiquerez les moments daccs exclusif la ressource ainsi que le moment o
linversion de priorit intervient.
2. On suppose que lon utilise la mthode dhritage simple : une tche qui bloque une autre
plus prioritaire quelle, excute la section critique avec la priorit de la tche bloque. Cette
mthode dhritage sappele aussi PIP pour Priority Inheritance Protocol. Redessinez lordonnancement sur la priode dtude et indiquez le moment sur le graphe o linversion de
priorit est vite.
3. Donnez la valeur de B1 , B2 et B3 .
Exercices de modlisation
Ces derniers exercices sont des exercices de modlisation : il existe donc plusieurs solutions
plus ou moins satisfaiseantes.
Temps de service
ncessaire
15mn
30mn
15mn
Heure darrive
13h
16h
17h45
On prend maintenant en compte laccueil des lves. Les moments darrive des lves, leur
temps de service et le dlai au-del duquel ils simpatientent sont donnes par le tableau ci-dessus.
Trouver un ordonnancement (ordonnancement premptif avec temps de commutation ngligeable) qui permette la secrtaire de respecter ses diffrentes contraintes de temps tout en
servant les lves avant quils ne simpatientent. Votre solution doit absolument garantir le respect
des contraintes temporelles pour la distribution du courrier, llaboration des emplois du temps et
les pauses de la secrtaire ; quitte, le cas chant, a ne pas pouvoir servir les lves temps (et ce,
quelque soit la loi darrive des lves). Justifier votre solution.
Exercices complmentaires
Exercice 13 :
On tudie dans cet exercice un systme de visualisation intgr dans un vhicule automobile.
Ce systme est constitu dun ensemble de tches. Dans un premier temps, on tudie le respect
des contraintes temporelles des tches. Puis, on tudie les diffrentes synchronisations entre les
tches grce aux rseaux de Petri.
Cette application est constitue de 5 traitements :
1. La tche CAP T EU R_1 qui lit toutes les 10 milli-secondes la vitesse du vhicule.
2. La tche CAP T EU R_2 qui lit toutes les 10 milli-secondes la temprature dans lhabitacle
du vhicule.
3. La tche CAP T EU R_3 qui lit toutes les 40 milli-secondes la position GPS du vhicule.
4. La tche AF F ICHAGE_1 qui produit toutes les 12 milli-secondes, un rsum des informations produites par les tches CAP T EU R_1, CAP T EU R_2 et CAP T EU R_3 sur un
cran LCD.
5. La tche AF F ICHAGE_2 qui affiche la demande de lutilisateur une carte routire.
Laffichage doit tre ractualis toutes les 6 milli-secondes.
On suppose que toutes les tches dmarrent un instant identique. Enfin, on souhaite que les
tches terminent une activation donne avant le dbut de leur activation suivante.
Le systme utilis propose un ordonnanceur premptif priorit fixe comprennant 32 niveaux
de priorit (de 0 31). 0 est le niveau de priorit le plus fort. Le systme ne permet pas laffectation
dune priorit identique plusieurs tches.
Question 1.1
En gnral, quels sont les critres utiliss pour fixer la priorit des tches ?
Dterminez les diffrents paramtres des tches ncessaires leur ordonnancement. Vous
motiverez le choix de la priorit.
Question 1.2
A partir des priorits dtermines dans la question prcdente, calculer les temps de rponse
des tches CAP T EU R_1, CAP T EU R_2, et CAP T EU R_3.
Question 1.3
En fait, les tches CAP T EU R_1, CAP T EU R_2, et CAP T EU R_3 partagent une zone de
mmoire accde en exclusion mutuelle. CAP T EU R_1 et CAP T EU R_2 accdent cette ressource pendant toute leur capacit. CAP T EU R_3 accde la ressource pendant les deux premires milli-secondes de sa capacit. Le smaphore utilis applique le protocole hritage de
priorit simple.
Expliquer pourquoi les temps de rponse calculs dans les questions prcdentes ne constituent
plus des pires cas.
Question 1.4
Donnez le chronogramme dcrivant lordonnancement des tches de linstant 0 linstant 25.
Vous signalerez les instants o la ressource est alloue et libre.
Question 1.5
Dans les questions 1.5 et 1.6, on considre que les tches ne partagent plus de
ressource.
Afin dactiver les tches deux fois plus rapidement, on souhaite tester une configuration o les
tches sont rparties sur deux processeurs (les processeurs a et b).
Les tches sont maintenant dfinies par les paramtres suivants :
Tches
AF F ICHAGE_1
CAP T EU R_3
AF F ICHAGE_2
CAP T EU R_1
CAP T EU R_2
Processeur utilis
b
b
a
a
a
Capacit
4
2
2
2
2
Priode
6
20
3
5
5
Les tches restent ordonnances selon un algorithme priorit fixe tel que celui dfini au dbut
de cet exercice. De plus, on souhaite que les priorits soient affectes selon lalgorithme Rate
Monotonic.
Dmontrez quil existe au moins une des tches qui ne respecte pas ses contraintes temporelles.
Question 1.6
En fait, laffectation des tches aux processeurs a et b a t ralise au hasard. En effet, toutes
les tches de notre systme peuvent la fois sexcuter sur le processeur a ou sur le processeur b.
Les processeurs diffrent uniquement par leur rapidit dexcution : le processeur b est 2 fois plus
rapide que le processeur a.
Affectez les tches aux processeurs a et b de sorte que les contraintes temporelles de toutes
les tches soient respectes. Justifiez vos choix.
Rfrences bibliographiques
Les exercices de ce TD sont inspirs de ceux trouvs dans [COT 00, DEM 99, BUR 97, KRI 97].
A consulter pour des exercices supplmentaires.
[AUD 93] N. Audsley, A. Burns, M. Richarson, K. Tindel, and J. Wellings. Applying New Scheduling
Theory to static priority pre-emptive scheduling . Software Engineering Journal, 8(5) :284292, 1993.
[BUR 97] A. Burns and A. Wellings. Real-time Systems and Programming Languages. Addison Wesley,
1997.
[COT 00] F. Cottet, J. Delacroix, C. Kaiser, and Z. Mammeri. Ordonnancement temps rel. Herms, 2000.
[DEM 99] I. Demeure and C. Bonnet. Introduction aux systmes temps rel. Collection pdagogique de
tlcommunications, Herms, septembre 1999.
[JOS 86] M. Joseph and P. Pandya. Finding Response Time in a Real-Time System . Computer Journal,
29(5) :390395, 1986.
[KRI 97] C. M. Krishna and K. G. Shin. Real-Time Systems. Mc Graw-Hill International Editions, 1997.
10