TD temps réel 1 1 Introduction : RM, EDF, LLF 1.1 Question 1 2

Transcription

TD temps réel 1 1 Introduction : RM, EDF, LLF 1.1 Question 1 2
TD temps réel 1
1! INTRODUCTION : RM, EDF, LLF............................................................................................................................... 2!
1.1! QUESTION 1............................................................................................................................................................... 2!
2! THEOREME DE LA ZONE CRITIQUE ...................................................................................................................... 2!
2.1! QUESTION 1............................................................................................................................................................... 2!
3! RATE MONOTONIC OU EARLIEST DEADLINE .................................................................................................... 2!
3.1! QUESTION 1............................................................................................................................................................... 2!
3.2! QUESTION 2............................................................................................................................................................... 2!
3.3! QUESTION 3............................................................................................................................................................... 2!
4! TEMPS DE REPONSE DE BOUT EN BOUT............................................................................................................... 3!
4.1! RAPPELS .................................................................................................................................................................... 3!
4.2! EXEMPLE VU EN COURS .......................................................................................................................................... 3!
4.3! EXERCICE .................................................................................................................................................................. 4!
4.4! QUESTION .................................................................................................................................................................. 4!
4.4.1! Indication : Résultat ........................................................................................................................................... 4!
4.4.2! Rappel bus CAN.................................................................................................................................................. 5!
5! SERVEUR DIFFERE ....................................................................................................................................................... 5!
5.1! QUESTION 1............................................................................................................................................................... 5!
6! SERVEUR DE SCRUTATION ....................................................................................................................................... 5!
6.1! QUESTION 1............................................................................................................................................................... 5!
6.2! QUESTION 2............................................................................................................................................................... 6!
1 Introduction : RM, EDF, LLF
Soit les trois tâches, prêtes à la date t = 0 :
T1 : (C=1, D=P=3)
T2 : (C=1, D=P=4)
T3 : (C=2, D=P=6)
1.1 Question 1
Pour chacune des politiques d'ordonnancement RM, EDF et LLF :
• Calculer U, le facteur d'utilisation du processeur, que peut-on en conclure ?
• Donner un schéma du séquencement des tâches. Quel commentaire peut-on faire ?
Indication : n(2(1/n)-1) = 0,78 pour n = 3.
2 Théorème de la zone critique
2.1 Question 1
Calculer U, le facteur d'utilisation du processeur, puis appliquer la méthode de la zone critique pour
déterminer si les trois tâches suivantes sont ordonnançables. Elles sont toutes prêtes au temps t =0.
T1 : (C=25, D=P=100)
T2 : (C=50, D=P=200)
T3 : (C=100, D=P=300)
Rappel :
Wi(t) = !(j=1) i Cj*!t/Tj"
3 Rate monotonic ou Earliest deadline
Un système d'arrosage automatique doit arroser trois types de plantes :
• les plus fragiles qui doivent être arrosées pendant 10 minutes, toutes les 40 minutes,
• une deuxième catégorie qui doit recevoir de l'eau pendant 20 minutes, toutes les heures,
• enfin, des plantes d'un troisième type qu'il faut arroser toutes les 80 minutes, pendant 20
minutes.
L'arrosage peut se faire de façon fractionnée, c'est-à-dire s'interrompre et reprendre.
3.1 Question 1
On cherche une solution pour le partage de l'eau entre ces différentes variétés de plantes :
1. Définir la liste des tâches à accomplir,
2. Puis, pour les stratégies RM et EDF :
o Calculer l'ordonnançabilité de ces tâches,
o Donner un schéma d'utilisation du système d'arrosage à partir du temps 0.
3.2 Question 2
On veut maintenant se servir du système d'arrosage pour nettoyer les allées qui desservent les
plantations. On décide de faire cet entretien pendant 10 minutes toutes les heures.
Cet entretien est-il possible pendant les arrosages :
1. avec RMS, pourquoi ?
2. avec EDF, pourquoi ?
3.3 Question 3
Pour nettoyer toutes les allées, il faut 20 minutes. Si l'entretien commence 1h30 après le début de
l'arrosage des plantes, pourra-t-on avoir completement nettoyé les allées :
2
TD Temps réel (1)
1. au bout d'une heure ?
2. après 100 minutes ?
Résultat du calcul :
4 Temps de réponse de bout en bout
4.1 Rappels
Dans l’approche holistique, on introduit le temps de réponse sous forme d’une gigue. Il faudra vérifier
que le temps de réponse d’une tâche D activée par une tâche E à l’aide d’un message M est conforme à
sa date d’échéance, c’est à dire que :
Temps de réponse (E+M+D) ! Echéance(D).
Méthode : itérer jusqu’au point fixe W(Ri) = Ri :
1. initialiser les gigues et les temps de réponse pour les messages et les tâches:
! Ji = 0
! Riancien = 0
! Ricourant :
1. pour les tâches : Ricourant = Ji +Wi = Ci + !(j> prio(i)) Cj
en effet Wi = Ci + !(j> prio(i)) !( Jj + ")/Pj"*Cj = Ci + !(j> prio(i)) Cj
2. pour les messages : Ricourant = Ji + Mi = Mi
1
M2
M1
Calcul du temps de réponse :
Tâche
Ri = Ji + Wi avec : Wi = Ci + !(j> prio(i)) !(Jj + Wi) / Pj"*Cj
Message Ri = Ji + Mi
2
gigue
gigue
gigue
gigue
3
4
gigue
gigue
5
11
12
Processeur
A
A
B
B
A
6
7
8
9
10
11
12
4.3 Exercice
Caractéristiques des tâches:
Tâche
Capacité Période
T1
5
20
T2
10
35
T3
10
25
T4
5
50
T5
15
60
Priorité
1
2
2
3
3
Caractéristiques des messages :
Message
Période
Sens
M1
T1 vers T4
M2
T3 vers T5
M3
T4 vers T5
4.2 Exemple vu en cours
Priorité
1
2
2
1
3
Processeur B (T4 envoie M1 vers T2, T3 activée par T1 via M1) :
1
2
3
4
5
6
7
8
9
10
T4
T3 gigue gigue gigue gigue gigue gigue gigue gigue gigue gigue
12
Bus :
2. itérations, tant qu’il existe un Riancien différent de Ricourant :
! pour chaque message et tâche, mettre à jour la gigue en fonction du temps de réponse :
1. Ji = max (Ji , maxj prec i( Rjcourant) )
! pour chaque message et tâche, calculer les temps de réponses :
1. Riancien = Ricourant
2. Ricourant = CalculTempsReponse( i )
Caractéristiques des tâches:
Tâche
Période
Capacité
T1
100
4
T2
60
5
T3
100
3
T4
60
2
T5
90
3
Processeur A (T1 envoie M1 vers T3, T2 activée par T4 via M2 ) :
1
2
3
4
5
6
7
8
9
10
11
T1
T2 gigue gigue gigue
T5
Processeur
A
C
A
C
B
Délai de comm.
10
10
2
4.4 Question
Appliquer cette méthode de calcul au jeu de tâches et messages précédent.
4.4.1 Indication : Résultat
Scénario:
Message M1 émis par T1 vers T3 (délai
6)
Message M2 émis par T4 vers T2 (délai
1)
Processeur A (T1, prioritaire, envoie M1 vers T4, T3 envoie M1 vers T5) :
1
2
3
4
5
6
7
8
9
10
…
15
T1
T3
…
Processeur B (T5 activé par T3 via M2 et par T4 via M3 ) :
1
2
… …
32 … … 47
T4
T3 gigue gigue gigue gigue gigue … …
Processeur C (T3 envoie M3 vers T5, T2 est prioritaire) :
3
TD Temps réel (1)
4
TD Temps réel (1)
T2
T4
1
…
…
… 10
…
gigue
gigue
gigue
…
5
…
…
gigue
gigue
… …
… …
15
gigue
15
…
…
…
…
25
…
gigue
gigue
pour les trois tâches T1, T2 et T3,
puis pour T1, T2, T3, et SCRUT qui prend en charge les quatre tâches apériodiques.
Donner un schéma illustrant l'ordonnancement de T1, T2, T3 et des quatre tâches apériodiques.
30
•
•
Bus :
1
M1
M2
M3
gigue
gigue
gigue
gigue
gigue
gigue
gigue
gigue
gigue
gigue
gigue
gigue
…
…
30
31
6.2 Question 2
32
…
gigue
gigue
Les tâches apériodiques sont maintenant les deux suivantes
• TA1 (C=8), date de réveil : t=6,
• TA2 (C=15), date de réveil : t=20,
Donner un schéma illustrant l'ordonnancement de T1, T2, T3, et de ces deux tâches apériodiques.
gigue
4.4.2 Rappel bus CAN
Pour n bits, la taille maximale de la trame est :
Lmax = 47 + (8*n) + #( ( 34 + (8*n) -1)/ 4 )$ bits
Bits de données
0
Lmax
55
Ou délai, en µs, pour
un débit de 1 Mbits/s
Efficacité (%)
0
8
65
16
75
24
85
32
95
40
105
48
115
56
125
64
135
12
21
28
34
38
42
45
47
Donc 8 octets en 135µs, Si la base de temps (tic) est de 1ms, pendant un tic on peut transmettre
10-3 / (135*10-6 ) = 103/135 = 7 paquets de 8 octets.
5 Serveur différé
5.1 Question 1
Soit les tâches, toutes prêtes à la date t=0 :
T1: (C=2, D=P=3)
T2: (C=1, D=P=4)
La tâche T1 est un serveur différé.
On introduit également A, une tâche apériodique caractérisée ainsi :
A : réveil en 4, C=4
Donner un schéma illustrant l'ordonnancement de T2, et de la tâche apériodique. Que se passe-t-il ?
6 Serveur de scrutation
Soit les trois tâches, toutes prêtes à la date t=0 :
• T1 : (C=5, T =30)
• T2 : (C=10, T =50)
• T3 : (C=25, T =75)
ainsi que les quatre tâches apériodiques :
• TA1 : (C=8, réveil en 0),
• TA2 : (C=4, réveil en 20),
• TA3 : (C=13, réveil en 45),
• TA4 : (C=10, réveil en 90),
Elles sont prises en charge par un serveur de scrutation appelé SCRUT, tel que :
• SCRUT(C=5, P=25),
6.1 Question 1
Calculer U, le facteur d'utilisation du processeur (ordonnancement RM) :
5
TD Temps réel (1)
6
TD Temps réel (1)

Documents pareils