Vous êtes sur la page 1sur 6

Professeur : Jean-Marc Beaulieu

Département de génie électrique

Systèmes en temps réel


Exercices du chapitre 9 – Ordonnancement de tâches

Numéro 1 (S. Gely, hiver 2001)


Supposons les trois (3) tâches périodiques à « échéance sur requête » suivantes :

Tâche Échéance et Temps Priorité


période d’exécution
(cycle) (cycle)
A 100 35 2
B 50 30 1
C 100 12 3

La tâche A exécute le code suivant (on néglige les autres éléments de la tâche A)

xx = 2*x;
for (k = 1; k< 4; k++)
{
a[k] = xx;
b[k] = b[k] + a[k] + 2*k*k;
}

Le calcul du nombre de cycles nécessaires est le suivant :

Nombre Cycle
MULT 7 14
ADD 6 6
TEST 4 4
Incrément 3 3
STORE 8 8
Total 35

MULT = 2 cycles/instruction et les autres instructions sont 1 cycle. Notez que l’on néglige les LOAD.

a) Dessiner le diagramme de la séquence d’exécution des tâches.


b) Calculer le facteur d’utilisation? De combien de cycles la tâche A doit être réduite pour que le
système ne soit plus en surcharge?
c) Optimiser la tâche A et redessiner le diagramme de la séquence d’exécution des tâches.
d) Calculer le temps d’exécution de chaque tâche. Utiliser la version optimisée de la tâche A.
Numéro 2
Un système en temps réel comprend trois (3) tâches dont les caractéristiques sont :

Tâche Période Temps de calcul


A 20 ms 5 ms
B 80 ms 40 ms
C 40 ms 10 ms

Les tâches sont périodiques avec D = P.


a) En utilisant la règle d’ordonnancement « à taux monotone », déterminer la priorité de chaque
tâche.
b) Déterminer le facteur d’utilisation. Que peut-on apprendre du test d’ordonnancement basé sur
le facteur d’utilisation?
c) Calculer le temps d’exécution (pire cas) pour chaque tâche? Est-ce que les échéances sont
respectées?
d) Tracer un diagramme temporel et vérifier que les échéances sont respectées.

Numéro 3 (Stallings/Cours système d’exploitation) – Politiques d’ordonnancement


Le tableau suivant donne le temps d’arrivée dans la file d’attente pour le CPU (file prêt-à-s’exécuter) et
le temps de service nécessaire pour leur calcul pour cinq (5) processus.

Processus A B C D E
Temps d’arrivée 0 1 3 9 12
Temps de service 3 5 2 5 5

Tracer la séquence d’exécution des processus pour les politiques d’ordonnancement suivantes :
• Premier-arrivé/premier-servi
• Tourniquet (Round-Robin) avec un quantum de 1
• Tourniquet (Round-Robin) avec un quantum de 4
• Plus court d’abord

Numéro 4 (Stallings/Cours système d’exploitation) – Politiques d’ordonnancement


Le tableau suivant donne le temps d’arrivée dans la file d’attente pour le CPU (file prêt à s’exécuter) et
le temps de service nécessaire pour leur calcul pour cinq (5) processus.
Processus A B C D
Temps d’arrivée 0 1 2 3
Temps de service 1 9 1 9

Tracer la séquence d’exécution des processus pour les politiques d’ordonnancement suivantes :
• Premier-arrivé/premier-servi
• Tourniquet (Round-Robin) avec un quantum de 1
• Tourniquet (Round-Robin) avec un quantum de 4
• Plus court d’abord

ELE542 Systèmes ordinés en temps réel 2


Numéro 5
Un système avant-plan/arrière-plan possède les trois (3) cycles suivants :

Tâche Priorité Période Temps de calcul


(1 = plus haute priorité)
A 1 10 ms 4 ms
B 3 20 ms 5 ms
C 2 40 ms 10 ms
D --- arrière-plan 3 ms

Dans ce tableau le temps de changement de contexte est ignoré.

a) Dessiner le diagramme de séquence pour ce système.


b) Quel est le facteur d’utilisation?
c) Redessiner le diagramme de séquence en tenant compte des changements de contexte. Chaque
changement de contexte demande 1 ms.
d) Quel est le facteur d’utilisation en tenant compte des changements de contexte?

Numéro 6 (Cottet et al., Chapitre 2) – Ordonnancement


On considère les quatre (4) types d’ordonnancement préemptifs suivants :
- Ordonnancement à priorité fixe selon la période (à taux monotone), noté RM.
- Ordonnancement à priorité fixe selon le délai critique (à échéance monotone), noté ID.
- Ordonnancement à priorité dynamique selon l’échéance (à échéance la plus proche), noté ED.
- Ordonnancement à priorité dynamique selon la laxité dynamique (laxité minimum ), noté LL.

On considère une configuration T de trois (3) tâches {T1, T2, T3} définies par :
- T1 (r0= 0, C=1, D=3, P=3)
- T2 (r0= 0, C=1, D=4, P=4)
- T3 (r0= 0, C=2, D=3, P=6)
a) Donner le facteur d’utilisation et la valeur de la période d’étude.
b) Décrire graphiquement les séquences d’exécution obtenues dans le cas des quatre (4)
ordonnancements RM, ID, ED et LL pour cette configuration. Indiquer les cas où les échéances
ne sont pas respectées.

ELE542 Systèmes ordinés en temps réel 3


Numéro 7 (Cottet et al., Chapitre 2) – Ordonnancement et tâches apériodiques
On considère une configuration T de trois (3) tâches périodiques et indépendantes à échéance sur
requête. Les tâches sont définies par les paramètres temporels suivants :
- T1 (r0= 0, C=1, D=4, P=4)
- T2 (r0= 0, C=2, D=6, P=6)
- T3 (r0= 0, C=2, D=8, P=8)

Étude de l’ordonnancement
Ordonnancement à taux monotone. On applique à la configuration T un ordonnancement préemptif à
priorité statique selon la plus petite période, noté RM.
a) Donner le facteur d’utilisation U et conclure sur l’ordonnancement par RM en utilisant le test
d’ordonnancement.
b) Donner la valeur de la période d’étude et tracer le diagramme temporel et la séquence
d’exécution correspondante en incluant un diagramme pour les temps creux.

Ordonnancement à échéance monotone. On applique à la configuration T un ordonnancement


préemptif à priorité dynamique selon l’échéance la plus proche, noté ED.
c) Étant donné le facteur d’utilisation U, est-ce que le test d’ordonnancement nous permet de
conclure sur la faisabilité de l’ordonnancement par ED? Si oui, quelle conclusion est possible.
d) Tracer la séquence d’exécution et comparer avec celle obtenue en b).

Étude de l’ordonnancement en présence de tâches apériodiques


En supplément de la configuration T précédente, le système en temps réel doit traiter des tâches
apériodiques. On considère deux (2) cas d’arrivée d’une tâche apériodique :
- Cas A – échéance à 6 : T4 (r= 9, C=2, D=6)
- Cas B – échéance à 10 : T4 (r= 9, C=2, D=10)

Traitement à l’arrière plan avec la politique du « meilleur effort ».


e) Donner le temps de réponse de la tâche apériodique T4. Est-ce que l’échéance est respectée
dans les deux cas d’arrivée?

Traitement avec un serveur périodique. Cette méthode consiste à ajouter une tâche périodique dont le
but est de traiter les tâches apériodiques. Cette approche vise à garantir un temps d’exécution minimum
pour les tâches apériodiques. Cette tâche « serveur » est ajoutée à la configuration initiale.
Dans le cas présent, nous ajoutons une tâche « serveur » Tserveur avec les caractéristiques suivantes :
Tserverur(r0=0, C=1, D=6, P=6). Nous obtenons alors une nouvelle configuration de tâches Ts contenant
quatre (4) tâches périodiques.
f) Donner le facteur d’utilisation U et la période d’étude de cette nouvelle configuration Ts
g) Étant donné le facteur d’utilisation U, conclure sur l’ordonnancement RM. Tracer le
diagramme temporel et la séquence d’exécution correspondante. Est-il possible de respecter
l’échéance de la tâche apériodique T4 (considérer les deux (2) cas)?
h) Étant donné le facteur d’utilisation U, conclure sur l’ordonnancement ED. Tracer le diagramme
temporel et la séquence d’exécution correspondante. Est-il possible de respecter l’échéance de
la tâche apériodique T4 (considérer les deux (2) cas).

ELE542 Systèmes ordinés en temps réel 4


Numéro 8 (Cottet et al., Chapitre 2) – Ordonnancement et tâches apériodiques
On considère la configuration T de tâches périodiques suivante :
- Tp1 (r0= 0, C=5 , D=25, P=30)
- Tp2 (r0= 0, C=10, D=40, P=50)
- Tp3 (r0= 0, C=20, D=55, P=75)

Cette configuration est ordonnancée selon l’algorithme « à échéance monotone ».

a) La configuration T est-elle ordonnançable? Dessiner le diagramme temporel en incluant les


temps creux.
b) Considérer les tâches apériodiques strictes suivantes :
- Tap4 (r=40, C=10, D=15)
- Tap5 (r=70, C=15, D=35)
- Tap6 (r=100, C=20, D=40)
- Tap7 (r=105, C=5 , D=25)
- Tap8 (r=120, C=5 , D=15)

Parmi ces tâches, lesquelles peuvent-elles être acceptées au sein de T sans changer la séquence
d’exécution des tâches périodiques trouvées en a) ? (Considérer l’acceptation de chaque tâche
individuellement en fonction de leur séquence d’arrivée)

Numéro 9 (Cottet et al., Chapitre 2) – Ordonnancement et tâches apériodiques


On considère la configuration T de tâches périodiques à échéance sur requête suivante :
- Tp1 (r0= 0, C=5 , D=P=30)
- Tp2 (r0= 0, C=10, D=P=50)
- Tp3 (r0= 0, C=25, D=P=75)

Cette configuration est ordonnancée selon l’algorithme statique « à taux monotone » (RM).

a) La configuration T est-elle ordonnançable selon RM? Dessiner le diagramme temporel en


incluant les temps creux.
b) Considérer les tâches apériodiques strictes suivantes :
- Tap4 (r=5, C=12)
- Tap5 (r=40, C= 7)
- Tap6 (r=105, C=20)
Si on utilise un traitement de type arrière-plan, calculer les temps de réponses de chacune des trois
tâches apériodiques Tap4, Tap5 et Tap6 .
c) On considère maintenant un traitement par serveur périodique (voir question 5) avec une tâche
serveur de période 25 et de capacité 5 [Tserveur( r0=0, C=5, P=25)]. La nouvelle configuration
est-elle ordonnançable, selon RM? Dessiner le diagramme temporel et calculer les temps de
réponses de chacune des trois (3) tâches apériodiques Tap4, Tap5 et Tap6 .

ELE542 Systèmes ordinés en temps réel 5


Numéro 10 (G. Bois, Polytechnique) – Ordonnancement à taux monotone

Considérant l’ordonnancement RM (Rate Monotonic) (plus la période est petite, plus la priorité est
grande) :
a) À l’aide de la condition d’ordonnancement de Liu et/ou de l’analyse du temps de réponse, en
vous basant sur le pire temps d’exécution, démontrer que les tâches de la table suivante ne
peuvent être ordonnancées.

Tâches Période Pire temps d’exécution Temps d’exécution en


moyenne
T1 100 20 10
T2 150 30 25
T3 210 70 40
T4 400 100 20

b) Supposer que les tâches T1, T2 et T4 possèdent chacune une contrainte dure qui doit toujours
être respectée, alors que la tâche T3 possède une contrainte plus douce qui doit être respectée
en moyenne. On décide de remplacer la tâche T3 par deux (2) tâches T3’ et T3’’, ayant chacune
une période deux (2) fois plus longue que T3. [Donc, T3’ (C=70, P=420) et T3’’ (C=70,
P=420)].

b.1) À l’aide de la condition d’ordonnancement de Liu et/ou de l’analyse du temps de réponse,


démontrer comment on peut ainsi assurer un ordonnancement de T1, T2,T4 qui respecte
chaque contrainte dure.
b.2) En considérant le temps d’exécution moyen des tâches (au lieu du pire cas), peut-on dire
l’ordonnancement de toutes les tâches est possible? [Autrement dit, en moyenne, est-ce
T3’ et T3’’ satisfont à leur contrainte respective ]?

ELE542 Systèmes ordinés en temps réel 6

Vous aimerez peut-être aussi