Vous êtes sur la page 1sur 3

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 :

W i (t) = ! (j=1) i C j *! t/T j "

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 ?

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(R i ) = R i :

1. initialiser les gigues et les temps de réponse pour les messages et les tâches:

! J i

= 0

! R i ancien = 0

! R i courant :

1. pour les tâches :

en effet

W i =

R i courant =

J i +W i =

C i + !

C i + ! (j> prio(i)) ! ( J j + ")/P j " *C j = C i + ! (j> prio(i)) C j

(j> prio(i))

j

C

2. pour les messages : R i courant = J i + M i = M i

2. itérations, tant qu’il existe un R i ancien différent de R i courant :

! pour chaque message et tâche, mettre à jour la gigue en fonction du temps de réponse :

1. J i

= max (J i

,

max j prec i ( R j courant ) )

! pour chaque message et tâche, calculer les temps de réponses :

1. R i ancien

= R i courant

2. R i courant = CalculTempsReponse( i )

Calcul du temps de réponse :

che

R i

= J i + W i

avec

:

W i

= C i + ! (j> prio(i)) ! (J j + W i ) / P j " *C j

Message

R i = J i + M i

 

4.2 Exemple vu en cours

Caractéristiques des tâches:

Tâche

Période

Capacité

Priorité

Processeur

T1

100

4

1

A

T2

60

5

2

A

T3

100

3

2

B

T4

60

2

1

B

T5

90

3

3

A

Scénario:

Message M1 émis par T1 vers T3 (délai 6) Message M2 émis par T4 vers
Message M1 émis par T1 vers T3 (délai
6)
Message M2 émis par T4 vers T2 (délai
1)

3

TD Temps réel (1)

Résultat du calcul :

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

12

T1

                         

T2

gigue

gigue

 

gigue

                 
   

T5

                       

Processeur B (T4 envoie M1 vers T2, T3 activée par T1 via M1) :

 
 

1

2

 

3

4

5

6

7

8

9

10

11

12

T4

                       

T3

gigue

gigue

 

gigue

gigue

gigue

gigue

gigue

gigue

gigue

gigue

   

Bus :

 

1

2

3

4

5

6

7

8

9

10

11

12

M2

gigue

gigue

       

M1

gigue

gigue

gigue

gigue

 

4.3 Exercice

Caractéristiques des tâches:

Tâche

Capacité

Période

Priorité

Processeur

T1

5

20

1

A

T2

10

35

2

C

T3

10

25

2

A

T4

5

50

3

C

T5

15

60

3

B

Caractéristiques des messages :

Message

Période

Sens

Délai de comm.

M1

 

T1 vers T4

10

M2

 

T3 vers T5

10

M3

 

T4 vers T5

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

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 …
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) :

4

TD Temps réel (1)

 

1

   

… …

10

 

15

30

 

T2

       

… …

                   

T4

 

gigue

 

gigue

 

gigue

 

gigue

gigue

 

gigue

 

   

Bus :

 
 

1

5

15

25

30

31

 

32

M1

 

gigue

 

gigue

                     
   

M2

 

gigue

 

gigue

 

gigue

 

gigue

gigue

   

         

M3

 

gigue

 

gigue

 

gigue

 

gigue

gigue

 

gigue

gigue

gigue

gigue

gigue

         
 

4.4.2 Rappel bus CAN

 

Pour n bits, la taille maximale de la trame est :

 
 

L max = 47 + (8*n) + # (

( 34 + (8*n) -1)/ 4

) $ bits

 
 

Bits de données

 

0

8

16

24

32

40

48

56

64

L

max

55

65

75

85

95

105

115

125

135

Ou délai, en µs, pour un débit de 1 Mbits/s

 

Efficacité (%)

 

0

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 ) = 10 3 /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)

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.

6.2 Question 2

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.

6

TD Temps réel (1)