Vous êtes sur la page 1sur 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

Elments de correction
Systmes multitches et Temps rel
J. FRANCOMME

Contrle avril 2006


Tout document autoris Machine calculer autorise. Vos rponses devront tre les plus concises possible (vitez les longues dissertations) Dure suggre / barme indicatif (sur 20) Reprez bien le numro de chacune des questions sur votre copie. La qualit de la prsentation sera prise en compte dans le barme de notation. Noubliez pas de joindre les documents rponses votre copie.

Dure : 2 heures

Cette correction du contrle amne en mme temps que les rponses des lments permettant de comprendre la dmarche. Il nest pas demand ltudiant de rdiger tout ceci. 2 heures ne suffiraient srement pas ! Bonne lecture. J. FRANCOMME A. Systme Multitche et Temps Rel - Dfinitions (5 mn / 1 point) a) Indiquez le nom de la transition se faisant entre ltat actif et ltat ligible pour une tche.

Actif 1 4 3

Bloqu

Prt

Un processus peut se trouver dans diffrents tats, suivant qu'il dispose de tout ou partie des ressources dont il a besoin pour s'excuter. On distingue la ressource processeur de l'ensemble des autres ressources. La transition de ltat actif vers ltat prt (on dit aussi ligible) se nomme la premption dans le cas dun ordonnanceur premptif : Un processus actif peut perdre le processeur, et repasser dans l'tat prt lorsque le systme dsire allouer le processeur un autre processus. La transition de ltat actif ltat prt peut aussi sappeler la coopration dans le cas dun ordonnanceur non premptif ; en effet le scheduler en pouvant arrter la tche, cest la tche elle-mme qui doit dcider de relcher le processeur pour quune autre tche puisse effectuer un peu de travail. b) Indiquez la diffrence entre une attente active et une attente passive pour une tche. Illustrez chacun des deux cas avec un exemple simple de votre choix. Lors dune attente active, une tche doit ncessairement disposer du processeur afin de sortir de cette situation. Cette tche consomme donc du temps CPU alors quelle ne peut pas continuer son activit faute dun vnement particulier. Exemple : Une tche A scrute une variable (un drapeau) afin de savoir si une tche B est dj arrive un point de Rendez-vous . Elle lit la variable tant que la valeur recherche nest pas positionne. Lors dune attente passive, une tche se retrouve bloque alors quelle est en attente dun vnement qui nest pas encore arriv. Cette tche ne dispose donc plus du processeur. On ne gaspille plus de temps CPU pour lattente. Les autres tches actives peuvent profiter de ce temps pour avancer leur travail. Cest le scheduler qui dcide du moment o la tche devra tre dbloque ; il est inform de larrive de lvnement et positionne alors la tche ltat ligible (dblocage). Exemple : Une tche A utilise un smaphore afin de savoir si une ressource critique un seul accs est disponible ; si celui-ci ne lest pas, la tche est bloque par le mcanisme du noyau. Cette tche sera dbloque ds lors que la tche utilisatrice de la ressource critique aura relch le smaphore qui a bloqu la tche A.

http://francomme.fr.fm

1 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

B. Ordonnancement Ordonnancement statique et ordonnancement dynamique B.1 Ordonnancement statique (5mn / 1 point) : On considre lordonnancement bas sur RM Expliquez ce que lon entend, lorsquon dit que la condition dordonnancement de Liu et Layland (Equ. 1) est une condition suffisante mais pas ncessaire.

U =
i =1

Ci T i

1 N N (2 1)

(Equ. 1)

avec :

N 3

N (2 1) 0,78

1 N

Ordonnancement statique : on dit que la condition dordonnancement de Liu et Leyland est une condition suffisante mais pas ncessaire dans la mesure o la validation de cette condition indique lordonnanabilit statique inconditionnelle du systme de tches. Elle nest pas ncessaire dans la mesure o la condition non valide nindique pas que lordonnanabilit statique du systme de tches est impossible. Il faudra dans ce cas utiliser un critre diffrent et valider plus finement la faisabilit de lordonnancement de ce systme de tches. B.2 Ordonnancement statique (45 mn / 6 points) : Soient trois tches priodiques 1, 2, 3 chances sur requtes dfinies par les paramtres suivants : Date de rveil de chacune des tches : r1 = r2 = r3 = 0

1 : Priode T1 = 29, 2 : Priode T2 = 5, 3 : Priode T3 = 10,

Temps dexcution C1 = 7 Temps dexcution C2 = 1 Temps dexcution C3 = 2

a) Indiquez ce que lon entend lorsque lon dit que les tches sont chances sur requtes. On dit quune tche est chance sur requte lorsque son chance est gale sa priode : Di = Ti. b) Calculez le taux dutilisation du processeur pour un ordonnancement RM pour ce systme de tches. Concluez sur lordonnanabilit du systme de tches. On utilise la condition ci-dessus de Liu & Leyland qui permet de comparer le taux dutilisation du processeur une borne suprieure qui indique lordonnanabilit inconditionnelle du systme de tches.
3 C U = i i =1 Ti 1 C1 C2 C3 = + + 3(2 3 1) T T T3 1 2

Avec N=3

U=
A.N. :

7 1 2 + + 3(2 3 1) 29 5 10

0,641 0,779

La condition est donc bien vrifie ; le systme de tches est inconditionnellement ordonnanable en RM. c) Sur quel intervalle de temps minimum (priode dtude) doit-on vrifier lordonnanabilit dun systme de tche ? Lintervalle de temps minimum sappelle lhyper-priode ; elle est dtermine par le PPCM {Ti}. Dans notre exemple, PPCM {29, 5, 10}=290. d) Dterminez le nombre dunit de temps libre sur la priode dtude. Sur lensemble de lhyper-priode, le processeur est utilis 64% (il faudra prendre la valeur exacte pour le calcul). Il faut simplement appliquer une rgle de trois pour avoir la valeur recherche. Processeur utilis 100% sur une hyper-priode correspond 290 slots de temps. Pour une utilisation de 64% : ? Mais comme on cherche le nombre dunits de temps libre et non pas occupes, il faudra prendre le complment : c'est--dire (1-0,64). Il vient donc :

(1 U ) 290 = 104 units de temps libre !

Ca fait pas mal de temps libre !!!!!!

http://francomme.fr.fm

2 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

e) Confirmez les points prcdents en dessinant sur les 40 premires units de temps la squence gnre par RM, pour un ordonnanceur non-premptif puis un ordonnanceur premptif (cf. document rponse Figure 1 et Figure 2, page 8). Ordonnancement non premptif : on remarque sur la figure 1, que la tche 1 qui sest appropri le processeur et dsire terminer son travail avant de le rendre ses copines, le garde trop longtemps et ne permet ainsi pas la tche 2 de pouvoir respecter son chance. Ce systme de tches ne fonctionne donc pas avec un ordonnanceur non premptif (figure 1). Le systme de tches fonctionne trs bien avec un ordonnanceur premptif. Toutes les tches respectent leurs chances. On note toutefois quil faut aller jusquau bout de lhyper-priode afin de prouver lordonnanabilit sous forme graphique (figure 2). Mais comme nous avons vrifi cela avec le critre de Liu & Leyland, on peut sen passer. Un ordonnancement non premptif est gnralement moins efficace quun ordonnancement premptif. On modifie la tche 1 par priode T1 = 30, Temps dexcution C1 = 6 et la tche 2 par C2 = 3. f) Calculez le nouveau taux dutilisation du processeur (toujours dans le cas RM) pour ce systme de tches. Dessinez de nouveau la squence dordonnancement gnre par RM sur sa priode dtude en mode premptif (cf. document rponse Figure 3, page 9). Que constatez-vous ? On utilise la condition ci-dessus de Liu & Leyland :
3 C U = i i =1 Ti 1 C1 C2 C3 = + + 3(2 3 1) T T T3 1 2

Avec N=3 A.N. :

6 3 2 U= + + 3(2 3 1) 30 5 10

1 0,779 !!!

La condition suffisante nest pas valide ; cela ne veut pas dire que le systme ne soit pas ordonnanable. Cela veut simplement dire que le taux dutilisation du processeur est trop important pour garantir de faon fiable lordonnanabilit du systme de tches. Il faudra donc prendre son courage deux mains et vrifier pour chaque tche distinctement, quelle respecte bien son chance. Loutil utiliser pour valuer cette faisabilit est le test de Lehoczky cit ci-dessous. g) Confirmez ce dernier rsultat en calculant uniquement le temps de rponse de la tche la moins prioritaire laide du test de terminaison (Equ. 2).

i,1 i N , min
0t Di

Cj t 1 j =1 t T j
i

(qu. 2)
i

i t Wi (t ) = C j j =1 T j Avec

et

t0 = C j
j =1

Dans le cas dun ordonnancement RM, la tche la moins prioritaire est la tche 3. On valuera donc la date de fin de cette tche. Sachant quelle est la moins prioritaire, et que lon a rang les tches par ordre de priorit, on applique la condition ncessaire et suffisante avec comme temps de dpart la valeur t0 = C1 + C2 + C3 = 6 + 3 + 2 = 11

i = 3, min
0 t Di

Cj t 1 j =1 t T j
3

priorit (2)> priorit (2)> priorit (1)

C j t0 C1 t0 C2 t0 C3 t0 6 11 3 11 2 11 + + = + = + t0 T1 t0 T2 t0 T3 11 30 11 5 11 10 j =1 0 T j 6 3 2 = 1 + 3 + 2 = 1,727 1, donc pas valable ! 11 11 11


3

On ritre jusqu trouver la borne recherche avec un nouveau temps : http://francomme.fr.fm

3 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

3 t t t t 11 11 11 t1 = C j 0 = C1 0 + C2 0 + C3 0 = 6 + 3 + 2 30 5 10 j =1 T j T1 T2 T3

= 6 1 + 3 3 + 2 2 = 19 < D1 , on peut donc continuer !

C j t1 C1 t1 C2 t1 C3 t1 6 19 3 19 2 19 + + = = + + t1 T1 t1 T2 t1 T3 19 30 19 5 19 10 j =1 1 T j 6 3 2 = 1 + 4 + 2 = 1,158 1, donc toujours pas valable ! 19 19 19


3

On ritre jusqu trouver la borne recherche avec un nouveau temps :


3 t t t t 19 19 19 t 2 = C j 1 = C1 1 + C2 1 + C3 1 = 6 + 3 + 2 30 5 10 j =1 T j T2 T1 T3 = 6 1 + 3 4 + 2 2 = 22 < D1 , on peut donc continuer !

C j t 2 C1 t 2 C2 t 2 C3 t 2 6 22 3 22 2 22 + + = = + + t 2 T1 t 2 T2 t 2 T3 22 30 22 5 22 10 j =1 2 T j 2 6 3 = 1 + 5 + 3 = 1,227 1, donc toujours pas valable ! 22 22 22


3

On ritre jusqu trouver la borne recherche avec un nouveau temps :


3 t t t t 22 22 22 t3 = C j 2 = C1 2 + C2 2 + C3 2 = 6 + 3 + 2 30 5 10 j =1 T j T2 T1 T3

= 6 1 + 3 5 + 2 3 = 27 < D1 , on peut donc continuer !

C j t3 C1 t3 C2 t3 C3 t3 6 27 3 27 2 27 + + = = + + t3 T1 t3 T2 t3 T3 27 30 27 5 27 10 j =1 3 T j 6 3 2 = 1 + 6 + 3 = 1,111 1, donc toujours pas valable ! 27 27 27


3

On ritre jusqu trouver la borne recherche avec un nouveau temps :


3 t t t t 27 27 27 t 4 = C j 3 = C1 3 + C2 3 + C3 3 = 6 + 3 + 2 30 5 10 j =1 T j T2 T1 T3

= 6 1 + 3 6 + 2 3 = 30 = D1 , on peut donc continuer !

C j t 4 C1 t 4 C2 t 4 C3 t 4 6 30 3 30 2 30 + + = = + + t 4 T1 t 4 T2 t 4 T3 30 30 30 5 30 10 j =1 4 T j 6 3 2 = 1 + 6 + 3 = 1 1, donc VALABLE ! 30 30 30
3

On a une solution, mais est-ce vraiment le minimum ? On ritre jusqu trouver la borne recherche avec un nouveau temps :

http://francomme.fr.fm

4 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

3 t t t t 30 30 30 t5 = C j 4 = C1 4 + C2 4 + C3 4 = 6 + 3 + 2 30 5 10 j =1 T j T2 T1 T3

= 6 1 + 3 6 + 2 3 = 30 = D1 , on peut donc continuer !


Comme on avait le mme temps avec litration prcdente, on peut sentir que le minimum est atteint.

C j t 4 C1 t 4 C2 t T = t T + t j =1 4 j 4 1 4
3

t 4 C3 t 4 6 30 3 30 2 30 = + + + T2 t 4 T3 30 30 30 5 30 10 6 3 2 = 1 + 6 + 3 = 1, donc VALABLE ! 30 30 30

La tche 1 respecte son chance et se termine t = 30. Ce que lon vrifie sur le la squence illustre sur la figure 3. B.3 Ordonnancement de tches dpendantes (5 mn / 2 points) : On considre maintenant arbitrairement que les 3 tches prcdentes sont dpendantes. Le graphe de prcdence est indiqu ci-dessous.

1 3

1 (r1=0,C1=7) 2 (r2=0,C2=1) 3 (r3=0,C3=2) T1=T2=T3=30

En quoi consiste la transformation de Chetto/BLazewicz pour le cas EDF rappele ci-dessous ? Remarque : il nest pas demand deffectuer les calculs

ri* = Max{ri ,Max{rj* + C j }}, T j Ti Di* = Min Di ,Min D*j C j ,Ti Tj


La transformation de Chetto/Blazewicz consiste transformer un systme de tches dpendantes en un systme de tches indpendantes sur lequel on peut appliquer tout ce que lon a vu prcdemment. Cette mthode propose de dterminer une nouvelle : date de rveil pour chacune des tches du systmes permettant de garantir par exemple que la tche 2 se rveillera au moins aprs le rveil de la tche prcdente (en loccurrence 1) augment de sa capacit (pour le cas EDF) pour tre sr que la tche 1 soit compltement termine. chance qui garantira quen respectant sa propre chance, la tche 1 permet la tche qui lui succde (en loccurrence 2) de respecter sa propre chance. C. Ordonnancement Exercice de modlisation (50 mn / 7 points) Remarque : Il est important de lire toutes les questions de cet exercice avant de commencer. Contexte : On imagine quune secrtaire soit affecte dans un service scolaire ; on vous demande dorganiser sa journe de travail qui commence 13h et se termine 19h. La secrtaire doit raliser un certain nombre de tches dans sa journe : Elle doit trier et distribuer le courrier. Le courrier arrive 13h et 16h. Le courrier de 13h doit tre distribu avant 16h et celui de 16h doit tre distribu avant 19h. Cette tche lui demande 30 minutes chaque fois. Elle a pour charge la ralisation de lemploi du temps ; cela lui demande 2,5h de travail. Elle doit grer laccueil des tudiants et rpondre, tant que possible, leur demande administrative. Son contrat de travail lui octroie des pauses tout au long de la journe. Pour chaque priode de 2h de travail, elle peut stopper le travail pendant 15 minutes. Le service disposant dune badgeuse, elle peut fractionner ses pauses de 15 minutes comme bon lui semble du moment quelle ne dpasse pas 15 minutes toutes les 2 heures.

}}

http://francomme.fr.fm

5 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

Pour commencer, on ne tient pas compte du travail que ncessite laccueil des tudiants. On considre que la secrtaire est capable dinterrompre la ralisation dune tche si une autre plus prioritaire intervient. a) La secrtaire (assimile au processeur) peut-elle effectuer sa charge de travail tout en respectant les contraintes temporelles ? Donnez son emploi du temps (cf. document rponse Figure 4, page 10). Vous utiliserez lordonnancement EDF. La secrtaire est assimile au calculateur dans la mesure o elle est lexcutant de lensemble des oprations du systme. Lensemble de son travail est rpartie en diverses tches. Sur les chronogrammes des documents rponses, on se souciera donc du temps qui passe et non pas de lheure proprement dite. On peut normalement utiliser au choix RM ou EDF, mais comme il y a priori une contrainte de mise en uvre, cest EDF quil faudra implmenter. Comme la secrtaire peut suspendre son travail, on prendra un ordonnancement premptif. Les diffrentes tches considres dans ce premier exercice : 1 - La tche courrier : r1=13h, C1=0,5h, T1=3h sur la priode de travail : r2=13h, C2=2,5h, T2=6h 2 - Lemploi du temps : r3=13h, C3=0,25h, T3=2h sur la priode de travail 3 - Le repos On peut utiliser lexpression de la condition suffisante pour vrifier la faisabilit de lordonnancement en EDF. Pour les tches de courriers et Emploi du temps (EDT), elles ne sexcutent quen seule fois dans la journe ; on considrera dans ce cas lchance. Pour la tche repos, celle-ci est priodique et de priode 2h.

C U = i i =1 Ti
N

1 C1 C2 C3 = D + D + D 1 1 2 3

Soit :

3 C U = i i =1 Ti

A.N. :

U=

0,5 2,5 0,25 + + = 0,708 1 c' est donc ordonnaable en EDF . 3 6 2

On vrifie sur la figure 4 que le systme de tches est faisable par la secrtaire. On vrifie donc bien le rsultat de la condition suffisante. Pour amliorer ses performances, son suprieur hirarchique lui propose de ne plus sinterrompre, lorsquelle a dj dmarre une tche, pour excuter une autre plus prioritaire. b) Si lon considre que le temps pour passer dun traitement un autre est ngligeable, pensez vous que ce conseil soit judicieux (Compltez le document rponse Figure 5, page 10) ? On vrifie bien sur la figure 4 que le systme de tches est faisable par la secrtaire. Ce choix nest toutefois pas judicieux car cela reviendrait utiliser un algorithme non premptif qui vis--vis dun algorithme premptif est moins efficace. Mais la secrtaire respecte toujours ses chances. Un bel exemple de ractivit de la part de cette employe. On prend maintenant en compte laccueil des tudiants. Les moments darrive des tudiants, leur temps de service et le dlai au-del duquel ils simpatientent sont donnes dans le tableau ci-dessous. Nom de ltudiant Tches apriodiques Mlle Germaine Mlle Laetitia Mr Patrick Temps de service ncessaire (mn) Capacit 15 30 15 Heure darrive Rveil 13h 16h 17h45 Dure aprs laquelle ltudiant simpatiente (mn) Deadline 15 90 30

c) Trouvez un ordonnancement (ordonnancement premptif avec temps de commutation ngligeable) qui permette la secrtaire de respecter ses diffrentes contraintes de temps tout en servant les tudiants avant quils ne simpatientent. Votre solution doit absolument garantir le respect des contraintes de temps pour la distribution du courrier, llaboration des emplois du temps et les pauses de la secrtaire, quitte le cas chant ne pas pouvoir servir les tudiants temps (et ce, quelque soit la loi darrive des tudiants). Vous justifierez votre solution (cf. document rponse Figure 6, page 10).

http://francomme.fr.fm

6 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

Plusieurs solutions sont possibles ; soit continuer avec lordonnancement EDF comme auparavant, soit utiliser un serveur de tches apriodiques. De ce fait, les tches priodiques continueront respecter les contraintes temporelles (tches courriers, pauses et emploi du temps). La solution EDF est propose pour les tches apriodiques que sont les tudiants (cf. figure 6). ne garantie pas le respect des chances des tches priodiques en cas de surcharge. Une solution utilisant un serveur de tches par scrutation (cf. figure 7) Enfin une solution convenable (figure 8) le serveur sporadique pour les tches apriodiques. fonctionne, mais

cette solution ne fonctionne pas.

D. Application multitche sous linux (10 mn / 3 points) Lapplication ci-dessous est fournie sans spcification. Il vous sera demand dindiquer ce que fait exactement cette application. a) Indiquez ce que lon peut lire sur lcran de la machine informatique lorsque cette application est excute. Lors de lexcution de lapplication, on pourra lire sur lcran de la machine informatique : Situation 1 si lorsque le processus pre sexcute, le fils nexiste pas/plus. Situation 2 si lorsque le processus pre sexcute, le fils existe

b) Indiquez ce qui pourrait se passer si lon enlevait les lignes 19, 20, 21, 24. Si on enlve les lignes indiques, cela ne change pas grand-chose dans la mesure o le pre ayant dormi pendant 5 secondes, le fils a le temps de rentrer dans sa boucle infinie. Le processus fils existant toujours, le signal sera bien reu par son destinataire. Le rsultat est donc toujours identique : le fils est tu par le pre qui nen avait toutefois pas lintention. c) Remplacer par des explications simples et claires les commentaires 1 et 2 du programme source qui vous est fourni ainsi que les situations 1 et 2.
(1) (2) (3) (4) (5) (6) (7) (8) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) #include <stdio.h> #include <unistd.h> #include <signal.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <errno.h> main() { pid_t pid; int status; switch(pid=fork()){ case -1: perror("Cration de processus"); exit(2); break; case 0: /* Commentaire 1 */ _ Code du processus fils_ _ _ _ _ _ _ _ _ while (1); break; default: /* Commentaire 2 */ _ Code du processus pre _ _ _ _ _ _ _ _ sleep(5); if (kill(pid,0)== -1) printf ("Test prsence fils : fils nexiste pas !\n"); // test de la prsence du processus fils else { printf ("Pre envoi SIGUSR1 vers le fils ! \n"); // Le pre envoie le signal SIGUSR1 au fils. // Comme ce signal na pas t drout par le fils, // Le comportement par dfaut est SIGKILL ! // le processus fils sera donc tu par le processus pre ! kill(pid,SIGUSR1); } } }

(23) (24) (25) (26)

http://francomme.fr.fm

7 / 15

INGE4 Majeure Systmes Embarqus


1 (r1=0,C1=7,T1= 29) 2 (r2=0,C2=1,T2= 5) 3 (r3=0,C3=2,T3= 10)

Contrle Systmes Temps Rel Avril 2006

Document rponses
Ca ne marche pas !

Ordonnanceur non-premptif
La tche 2 loupe lchance de sa deuxime instance

1 2

t(ms)

t(ms)

3
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 t(ms)

Figure 1 - B-2 e) Ordonnancement Rate Monotonic non premptif

B-2 e) La correction version Cheddar, qui vous donne toutes les informations ncessaires !

1 (r1=0,C1=7,T1= 29) 2 (r2=0,C2=1,T2= 5) 3 (r3=0,C3=2,T3= 10)

Ordonnanceur premptif

Ca marche

1
t(ms)

2
t(ms)

3
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 t(ms)

Figure 2 - B-2 e) Ordonnancement Rate Monotonic premptif

http://francomme.fr.fm

8 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

B-2 e) La correction version Cheddar, qui vous donne toutes les informations ncessaires !

1 (r1=0,C1=6,T1= 30) 2 (r2=0,C2=3,T2= 5) 3 (r3=0,C3=2,T3= 10)

Ordonnanceur premptif

Ca marche

La tche 1 se termine la date dtermine : t=30

1
t(ms)

2
t(ms)

3
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 t(ms)

Figure 3 - B-2 f) Ordonnancement Rate Monotonic premptif

Remarque : dans le cas dune galit, on privilgie la dernire tche active ; dans un autre cas, on privilgiera la tche qui est la plus vieille dans la file des tches ractives

http://francomme.fr.fm

9 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

La correction version Cheddar, qui vous donne toutes les informations ncessaires !

1 (r1=13h, C1=0.5h, T1= 3h) 2 (r2=13h, C2=2.5h, T2= 6h) 3 (r3=13h, C3=0.25h, T3= 2h)

Ordonnanceur premptif Ca marche


Courrier

1
t(ms)

Emploi Du Temps 2 Repos

3
0 1 13h

On commence la journe par une petite pause, ce nest pas interdit

t(ms)

4 14h

8 9 15h

10

11

12 13 16h

14

15 16 17 17h

18

19 20 21 18h

t(ms) 22 23 24 19h

Figure 4 C a) Emploi du temps de la secrtaire avec un ordonnancement EDF premptif

http://francomme.fr.fm

10 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

C a) La correction version Cheddar, qui vous donne toutes les informations ncessaires !

Ordonnanceur non premptif

Ca marche

Courrier

1
t(ms)

Emploi Du Temps 2 Repos

t(ms)

3
0 13h 1 2 3 4 14h 5 6 7 8 9 15h 10 11 12 13 16h 14 15 16 17 18 17h 19 20 21 22 23 18h t(ms) 24 19h

Figure 5 C b) Emploi du temps de la secrtaire avec un ordonnancement EDF non premptif

C b) La correction version Cheddar, qui vous donne toutes les informations ncessaires !

http://francomme.fr.fm

11 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

Remarque : dans le cas dune galit, on privilgie la dernire tche active ; dans un autre cas, on privilgiera la tche qui est la plus vieille dans la file des tches ractives Si on rend la tche 1 la moins prioritaire, elle ne respecte plus son chance commence ds le dbut de la journe. si on cherche viter quelle ne

Pour bien voir leffet de la pause, il faudrait une granularit plus fine de lordonnanceur, mais lefficacit sen trouverait surement amoindrie dans la mesure o faire plusieurs choses la fois ncessite un grand nombre de changement de contexte. Ne dit-on pas courir deux livres la fois. Remarques personnelles : De plus, si les pauses sont non premptives, on ne pourra plus dcouper celles-ci. Si par malheur un petit besoin se faisait sentir, il faudrait attendre. On voit l un problme du respect formel des rgles sur le terrain. On occulte compltement le ct de lenvironnement de travail. Il faut mon avis rester prs de son personnel, il en sera srement plus efficace et plus motiv. Pour voir ce que cela fait avec un ordonnancement EDF premptif !

Ordonnanceur premptif Ca marche


Courrier

Emploi Du Temps 2 Repos

t(ms)

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

t(ms)

Mlle Germaine

t(ms)

Mlle Laetitia

t(ms)

M Patrick

t(ms)

t(ms) 19 20 21 22 23 24 18h 19h

Figure 6 C c) Emploi du temps de la secrtaire avec un ordonnancement EDF premptif

Remarque1 : chacune des units de cet ensemble de diagrammes correspond 15 minutes (1/4 dheure). Remarque2 : dans le cas dune galit, on privilgie la dernire tche active ; dans un autre cas, on privilgiera la tche qui est la plus vieille dans la file des tches ractives On remarque que les tches reprsentatives des tudiants ayant globalement, une fois rveilles, des chances plus proches que les autres tches, sont excutes de faon trs prioritaire. Les tches courrier , EDT , repos peuvent dans ce cas l ne pas respecter leur chance cause lintervention des tudiants. Cette solution ne permet donc pas de rpondre compltement au cahier des charges. On fait voluer cette solution en utilisant un serveur de tches apriodiques. Celui-ci est invoqu priodiquement et servira les tches apriodiques qui auront t actives, mais seulement lorsque quun crneau de temps lui sera allou. Cela permet de garantir le traitement des tches priodiques (elles respecteront leur chance quelque soit

http://francomme.fr.fm

12 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

le nombre de tches apriodiques dans le systme) : pas de surcharge ramene par le traitement des tches apriodiques. Je vous propose un serveur de scrutation : Quand il est activ, le serveur excute les tches en attente jusqu puisement de celles-ci ou de sa capacit. Ds quil ny a plus de tches en attente, il se suspend jusqu sa prochaine excution priodique. Sa capacit est rinitialise chaque nouvelle excution.

C c) La correction version Cheddar, qui vous donne toutes les informations ncessaires !

Il ny a plus de solution propose avec Cheddar, celui-ci ne permettant ( mon avis) pas la mise en uvre de serveur de tches apriodiques. The reader can find information and tutorial on the author website: http://beru.univ-brest.fr/~singhoff/cheddar/ in English and French version. We will probably propose a solution to this lack in the future with the help of the ECE Students.

http://francomme.fr.fm

13 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

Ordonnancement avec serveur de tches apriodiques et ordonnanceur de tches priodiques premptif et EDF !

Ordonnanceur premptif

Ca ne marche pas

1 2 3 S 4 5 6
0 13h 1 2 3 4 14h 5 6 7 8 9 15h 10 11 12 13 16h 14 15 16 17 17h 18 19 20 21 22 23 24 18h 19h
Cette tche quant elle ne peut pas du tout sexcuter. On va se dire quil navait pas arriver cette heure. Le serveur de tches apriodiques est ici

Le monde appartient ceux qui se lvent de bonne heure, jusqu' l'heure o les autres se lvent. Jules Renard. Pas de problme ici.

Epuisement de la capacit. La tche apriodique doit attendre la prochaine activation du serveur. Elle va donc louper son chance.

Figure 7 C c) Emploi du temps de la secrtaire avec un serveur par scrutation et EDF premptif

On cherche dfinir les paramtres du serveur de tches apriodiques qui permettra aux tches priodiques initiales de respecter leur chance. On considre que la journe ne commence pas par une pause. On privilgie laccueil des tudiants par rapport la tche repos : dans le bus de ne pas commencer la journe par une pause (car ces deux tches ont la mme priorit). On peut considrer en regardant la squence EDF trace prcdemment, une capacit de 15 minutes toutes les deux heures pour le service aux tudiants. Rveil de la premire instance 13h et chance sur requte du serveur. Vrification de lordonnanabilit laide de la condition suffisante de Liu & Leyland :
4 C U = i i =1 Ti 1 C1 C2 C3 C4 = + + + 4(2 4 1) T T T3 T4 1 2

A.N. :

U=

1 0,5 2,5 0,25 0,25 + + + 4(2 4 1) 3 6 2 2

La condition suffisante nest pas vrifie, il faudra tester le respect de chacune des chances. Dans notre cas, on va simplement tracer la squence pour cet ensemble de tche. On remarque que le temps allou au serveur de scrutation est insuffisant pour servir les tches apriodiques. On peut donc envisager les solutions : Daugmenter la capacit du serveur de scrutation : cela permettra la tche Mle Laetitia de terminer sa requte. Par contre Mr Patrick ne peut toujours pas tre servi. du serveur sporadique :

U = 0,833 0,756

http://francomme.fr.fm

14 / 15

INGE4 Majeure Systmes Embarqus

Contrle Systmes Temps Rel Avril 2006

Rappel : Le serveur sporadique est un type de serveur, permettant damliorer le temps de rponse des tches apriodiques, sans cependant diminuer le taux dutilisation du processeur des tches priodiques. Le serveur sporadique sexcute chaque fois quil y a une demande de tche sporadique et quil a une capacit non nulle et que sa priorit est ligible (pas de tche plus prioritaire). Il sarrte ds quil a puis sa capacit ou servi toutes les commandes en attente. Une certaine capacit lui est restitue, une priode aprs le dbut de son excution.

Ordonnanceur premptif Ca marche

1 2 3
Le Serveur sporadique retrouvera sa capacit 15h Le Serveur sporadique retrouve sa capacit 18h

S 4 5
Le serveur sporadique dispose de nouveau de sa capacit. Il peut maintenant servir cette tche

La tche est servie instantanment tant donn que le serveur dispose dune capacit

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

Figure 8 C c) Emploi du temps de la secrtaire avec un serveur sporadique et EDF premptif

Le serveur sporadique dmarre 13h et une priode de 2h. On lui alloue une capacit de 30 minutes chaque rinitialisation. On a dessin pour S la capacit restante du serveur ayant en charge la gestion des tches apriodiques. Avec ce type de serveur, lensemble des tches respectent leur chance : les tches priodiques et les tches apriodiques. On peut galement avancer que les tches priodiques respecteront leur chance mme en cas de surcharge dues larrive dun grand nombre dtudiants. Il faut voir maintenant la faon de former la secrtaire pour la mise en uvre de cette mthode de gestion des activits. Ce nest srement pas avec un programme informatique quon va lui dire de sarrter. Ce sera vous de juger lorsque vous serez confront ce genre de problmes dans votre vie active.

http://francomme.fr.fm

15 / 15

Vous aimerez peut-être aussi