Cours Systèmes Temps Réel

Post on 11-Jan-2016

60 views 9 download

description

Cours Systèmes Temps Réel

Transcript of Cours Systèmes Temps Réel

I.Lagrat AIAC 2012/2013 1

Systèmes temps réel

Pr. Ismail LAGRATA.I.A.C 2012-2013

I.Lagrat AIAC 2012/2013 2

Problématique

Certains problèmes sont très liés au temps :

• un distributeur de billets ne doit pas mettre 5 minutes à délivrer les billets

• une balance ne doit pas peser en 30 secondes• un radar ne doit pas mettre 2 secondes à réagir• un système de freinage ABS ne doit pas mettre

plus de 150ms pour acquérir l'information et 1s pour réagir

I.Lagrat AIAC 2012/2013 3

qu’est-ce qu’un système temps réel ?comment vérifier a priori le comportement

• ordonnancementcomment implémenter le comportement

• les outils de programmation concepts mis en jeu:

• gestion du temps• gestion des interruptions• interaction avec l'utilisateur

4

• système temps réel : qui doit fournir un service dans un contexte où le temps intervient

o évolution du système (système réactif)o contraintes de temps (échéances)

• par opposition aux systèmes interactifs ou transformationnels

• systèmes embarqués :o autonomes, avec un fort couplage entre le matériel

et le logicielo utilisation dans un but très préciso souvent inclus dans un système plus vasteo ~ 90% du marché des processeurs

I.Lagrat AIAC 2012/2013

I.Lagrat AIAC 2012/2013 5

• non seulement des résultats exacts• mais aussi fournis dans un temps donné,

compatible avec l'évolution du système– l'échelle de temps dépend du système

o de quelques millisecondes pour un système de navigation aérienne

o à plusieurs minutes ou heures pour le contrôle d'un réacteur chimique

• dans un système temps réel, un résultat de calcul mathématiquement exact mais arrivant au delà d'une échéance prédéfinie est un résultat faux

I.Lagrat AIAC 2012/2013 6

Problématiques Temps Réel

• Garantir qu'un événement se produit à une date donnée, ou avant une échéance donnée

– Contraintes périodiques : le service doit être rendu selon un certain rythme e.g. toutes les X ms

– Contraintes ponctuelles : lorsque l'évt Y se produit, il doit être traité dans un tps limité

• Garantir qu'un évt A se produit avant un évt B• Garantir qu'aucun évt externe à l'application TR ne retardera les

processus importants• Garantir qu'un ordonnancement entre plusieurs tâches est

effectivement possibleCauses de ces problématiques:– E/S hardware– Journalisation de données– E/S utilisateur– Exécution de tâches de fond

I.Lagrat AIAC 2012/2013 7

I.Lagrat AIAC 2012/2013 8

Le temps intervient dans la correction (validité) du programme :

• réagir en un temps adapte aux événements externes,• fonctionnement en continu sans réduire le débit du flot

d'informations traite,• temps de calculs connus et modélisables pour permettre

l'analyse de la réactivité.• Latence maitrisée. Outils :horloges matérielles, interruptions, etc.style de programmation adaptes : multitâches, événements,langages spécifiques (langages synchrones, etc.)outils de modélisation : logique temporelle, réseaux de Pétri,etc.

Problématiques Temps Réel

I.Lagrat AIAC 2012/2013 9

Mécanismes de base : le processeur

I.Lagrat AIAC 2012/2013 10

Mécanismes de base : les interruptions

I.Lagrat AIAC 2012/2013 11

Mécanismes de base : les déroutements

I.Lagrat AIAC 2012/2013 12

Mécanismes de base : les entrées/ sorties

I.Lagrat AIAC 2012/2013 13

Mécanismes de base : les déroutements

I.Lagrat AIAC 2012/2013 14

Mécanismes de base : les déroutements

I.Lagrat AIAC 2012/2013 15

Caractéristiques du Système temps-réel: exactitude logique (comme tout système) : les sorties sont

déterminées en fonction des entrées et de l'état interne exactitude temporelle : les sorties sont positionnées au bon

momentLes types de temps-réel: Temps-réel mou : un retard dans l'obtention du résultat n'est pasdramatique (distributeur de billets) Temps-réel dur : un retard dans l'obtention du résultat le rendinutile (détection de missile) Temps-réel ferme : un retard, s'il arrive très peu souvent, peut

êtretoléré (téléphonie)

La plupart des systèmes temps-réel sont hybrides.

Système temps réel

I.Lagrat AIAC 2012/2013 16

Types de contraintes: Précision : effectuer certaines opérations à

un moment précis (horloge dont l'aiguille avance toutes les secondes)

Temps de réponse : effectuer certaines opérations en un temps maximum (système de freinage ABS) ou avec un temps moyen (distributeur de billets)

Rendement : nombre de requêtes traitées par unité de temps (robot de production dans une usine)

Système temps réel

I.Lagrat AIAC 2012/2013 17

Caractéristiques importantes: Prévisibilité• pour déterminer a l'avance si un système va respecter ses contraintes

temporelles• connaissance des paramètres lies aux calculs des activités

– temps global de calcul de chaque activité– périodicité et gigue– Préemptivité

• évaluation des performances dans le pire des cas• pour définir le meilleur algorithme d'ordonnancement

Déterminisme• but a atteindre pour prédire le comportement temporel du système• temps réel dur : chercher a savoir si toutes les échéances de toutes

les activités seront respectées• temps réel lâche : par exemple savoir quels seront les retards moyens

Système temps réel

I.Lagrat AIAC 2012/2013 18

Fiabilité• du matériel• tolérance aux fautes• systèmes embarqués

Système temps réel

I.Lagrat AIAC 2012/2013 19

Architecture mono-tâche:• Un système temps-réel à une seule tâche est simple à définir. Il suffit de répéter indéfiniment la suite de tâches :

– Attendre un stimulus– Agir en fonction du stimulus

• Le dimensionnement du processeur dépend du temps de réponse souhaité.

Exemples :• Un distributeur automatique• Une carte à puce

Système temps réel

I.Lagrat AIAC 2012/2013 20

Architecture multi-tâches:Plusieurs problèmes se posent lorsque plusieurs tâches s'exécutent simultanément :• accès au processeur• accès concurrent à la mémoire• accès aux périphériquesIl faut prévoir un ordonnancement permettant au système de remplir son rôle

Système temps réel

I.Lagrat AIAC 2012/2013 21

Priorités: Les priorités permettent d'organiser les tâches Elles peuvent être statiques ou dynamiques Dans un système temps-réel, en généralo une tâche n'est jamais bloquée par une tâche de

moindre priorité (inversion de priorité)o une tâche ne cède la main à une tâche de même

priorité que volontairement (prix du changement de contexte)

Le système Unix n'est pas temps-réel à la base Microsoft Windows n'est pas temps-réel

Système temps réel

I.Lagrat AIAC 2012/2013 22

Ordonnancement:• On peut prévoir le comportement d'un système si

on connaît certaines caractéristiques des tâches :– loi d'arrivée– temps de traitement

• Méthodes :– algorithmes statiques : table d'exécution ou

analyse « rate monotonic »– algorithmes dynamiques (HPF, EDF, LLF, best

efort)

Système temps réel

I.Lagrat AIAC 2012/2013 23

Ordonnancement Temps Réel

I.Lagrat AIAC 2012/2013 24

Introduction

• Tâches temps réel soumises à des contraintes de temps, plus ou moins strictes– instant de démarrage– instant de fin– absolus ou relatifs à d'autres tâches

• le but de l'ordonnancement est de permettre le respect de ces contraintes, lorsque l'exécution se produit dans un mode courant

• il doit permettre de borner les effets d'incidents ou de surcharges

I.Lagrat AIAC 2012/2013 25

Caractéristiques des tâches

● r : date de réveilmoment du déclenchement de la 1ère requête d'exécution

● C : durée d'exécution maximale (capacité)● D : délai critique

➢ délai maximum acceptable pour son exécution● P : période (si tâche périodique)● d = r+D : échéance (si tâche à contraintes strictes)● tâche périodique : rk = r0 + k*P

➢ si D = P, tâche à échéance sur requête

I.Lagrat AIAC 2012/2013 26

● paramètres statiques➢ U = C/P : facteur d'utilisation du processeur➢ CH = C/D : facteur de charge du processeur

● paramètres dynamiques➢ s : date du début de l'exécution➢ e : date de la fin de l'exécution➢ D(t) = d-t : délai critique résiduel à la date t (0 ≤ D(t) ≤ D)➢ C(t) : durée d'exécution résiduelle à la date t (0 ≤ C(t) ≤ C)➢ L = D-C : laxité nominale de la tâche

✔ retard maximum pour son début d'exécution s (si elle est seule)➢ L(t) = D(t) - C(t) : laxité nominale résiduelle

✔ retard maximum pour reprendre l'exécution➢ TR = e - r : temps de réponse de la tâche➢ CH(t) = C(t)/D(t) : charge résiduelle (0 ≤ CH(t) ≤ C/P)

Caractéristiques des tâches

I.Lagrat AIAC 2012/2013 27

● préemptibles ou non● dépendance ou indépendance

➢ ordre partiel prédéterminé ou induit➢ partage de ressources

● priorité externe➢ ordonnancement hors ligne déterminé à la conception

● gigue (jitter) maximale➢ variation entre la requête et le début de l'exécution

● urgence ↔ échéance● importance

Caractéristiques des tâches

I.Lagrat AIAC 2012/2013 28

États d'une tâche

Courante

Bloquée

Inexistante

Prête

ff

f : abandon de la requête pour cause de faute temporelle

Passive

I.Lagrat AIAC 2012/2013 29

Définitions● configuration : ensemble de n tâches mises en jeu par

l'application➢ facteur d'utilisation du processeur

➢ facteur de charge

● intervalle d'étude : intervalle de temps minimum pour prouver l'ordonnançabilité d'une configuration

➢ le PPCM des périodes dans le cas d'une configuration de tâches périodiques

● laxité du processeur LP(t) = intervalle de temps pendant lequel le processeur peut rester inactif tout en respectant les échéances

✔ laxité conditionnelle

(somme sur les tâches déclenchées à la date t et qui sont devant i du point de vue de l'ordonnancement)

✔ LP(t) = min(LCi(t))

I.Lagrat AIAC 2012/2013 30

Buts de l'ordonnancement● piloter l'application avec 2 objectifs majeurs :

➢ en fonctionnement nominal : respect des contraintes temporelles

➢ en fonctionnement anormal (par exemple pannes matérielles) : atténuer les effets des surcharges et maintenir un état cohérent et sécuritaire

● ordonnancer = planifier l'exécution des requêtes de façon à respecter les contraintes de temps

➢ de toutes les requêtes en fonctionnement nominal➢ d'au moins les requêtes les plus importantes (c'est-

à-dire celles nécessaires à la sécurité du procédé) en fonctionnement anormal

I.Lagrat AIAC 2012/2013 31

Typologie des algorithmes

● en ligne ou hors ligne➢ choix dynamique ou prédéfini à la conception

● préemptif ou non préemptif➢ une tâche peut perdre le processeur (au profit d'une tâche

plus prioritaire) ou non➢ algorithme préemptif ⇔ toutes les tâches préemptibles

● stratégie du meilleur effort ou inclémence➢ en TR mou, meilleur effort = faire au mieux avec les

processeurs disponibles➢ en TR dur, obligation des respecter les contraintes

temporelles : inclémence aux fautes temporelles

● centralisé ou réparti

I.Lagrat AIAC 2012/2013 32

Ordonnancement des tâches

indépendantes

I.Lagrat AIAC 2012/2013 33

Introduction● tâches indépendantes :

➢ pas de partage de ressources➢ pas de contraintes de précédence

● cas des algorithmes en ligne➢ dynamique➢ sur la base d'une priorité définie

✔ soit de manière empirique✔ soit à partir d'un paramètre temporel de la tâche

➢ priorité constante ou variable avec le temps➢ à priorité identique, on évite la préemption➢ test d'acceptabilité hors ligne si tous les

paramètres sont connus➢ sinon test de garantie au réveil des tâches

I.Lagrat AIAC 2012/2013 34

tâches périodiques

I.Lagrat AIAC 2012/2013 35

Rate Monotonic Analysis (RMA)● algorithme à priorité constante● basé sur la période (tâches à échéance sur

requête) :➢ la tâche de plus petite période est la plus

prioritaire

● test d'acceptabilité (condition suffisante)

● quand n est très grand : n(21/n – 1) ~ ln 2 = 0,69● dans la pratique, on peut rencontrer des

ordonnancements valides qui vont jusqu'à 88%

I.Lagrat AIAC 2012/2013 36

Rate Monotonic Analysis (RMA)

● exempleT

1 (r0=0, C=3, P=20), T

2 (r0=0, C=2, P=5), T

3 (r0=0, C=2,

P=10)

ordonnançable

0 5 7 10

12 15

17 20

2

T2

0 2 4 12 14 20

10

T3

T1

0 4 20

5 7 9

0 2 4 12 14

20

10

5 7 9 15

17

Prio2 > Prio

3 >

Prio1

I.Lagrat AIAC 2012/2013 37

Deadline Monotonic Analysis (DMA)

● algorithme à priorité constante● basé sur le délai critique :

➢ la tâche de plus petit délai critique est la plus prioritaire

● test d'acceptabilité (condition suffisante)

● équivalent à RMA dans le cas des tâches à échéance sur requête, meilleur dans les autres cas

I.Lagrat AIAC 2012/2013 38

I.Lagrat AIAC 2012/2013 39

Earliest Deadline First (EDF)

● algorithme à priorité variable● basé sur l'échéance

➢ à chaque instant (i.e à chaque réveil de tâche), la priorité maximale est donnée à la tâche dont l'échéance est la plus proche

● test d'acceptabilité➢ condition nécessaire

➢ condition suffisante

I.Lagrat AIAC 2012/2013 40

Earliest Deadline First (EDF)

● exempleT1 (r0 = 0, C=3, , D=7, P=20), T2 (r0 = 0, C=2, D=4, P=5), T3 (r0 = 0, C=2, D=8, P=10)

< 1

> 1

0

0

0

2 5

5

8

7

10

12

12

14

15 17

20

20

20

4

7

9

8 10

19

18

142 5 7

T1

T2

T3

chronogramme

I.Lagrat AIAC 2012/2013 41

Least Laxity First (LLF)

● algorithme à priorité variable● aussi appelé Least Slack Time (LST)● basé sur la laxité résiduelle

➢ la priorité maximale est donnée à la tâche qui a la plus petite laxité résiduelle L(t) = D(t) – C(t)

● équivalent à EDF si on ne calcule la laxité qu'au réveil des tâches

● optimum à trouver entre la granularité du calcul et le nombre de changements de contexte provoqués

I.Lagrat AIAC 2012/2013 42

Least Laxity First (LLF)

● exemplemême configuration que pour EDFT1 (r0 = 0, C=3, , D=7, P=20), T2 (r0 = 0, C=2, D=4, P=5), T3 (r0 = 0, C=2, D=8, P=10)

● laxité calculée à t = 0, 1, 2, 3, etc...

0 8 10

12

15

17

20

4 9 19

14

2 5 7

T

1

T

2

T

3

1 3 6 11

13

16

18

0 8 10

12

15

17

20

4 9 19

14

2 5 71 3 6 11

13

16

18

0 8 10

12

15

17

20

4 9 19

14

2 5 71 3 6 11

13

16

18

t = 0 L

1 = 7-3 = 4, L

2 = 4-2 = 2, L

3 = 8-2 = 6

t = 1 L

1 = 3, L

2= 2, L

3 = 5

t = 2 L

1 = 2, L

3 = 4

t = 3L

1 = 2, L

3 = 3

t = 4L

1 = 2, L

3 = 2

t = 5L

2 = 2, L

3 = 1

t = 6L

2 = 1, L

3 = 1

t = 7L

2 = 0

I.Lagrat AIAC 2012/2013 43

I.Lagrat AIAC 2012/2013 44

Introduction● tâches prises en compte dans une configuration

comprenant déjà des tâches périodiques● a priori, on ne connaît pas l'instant d'arrivée de la

requête de réveil de la tâche apériodique● contraintes temporelles strictes ou relatives● buts à atteindre :

➢ si contraintes relatives : minimiser le temps de réponse

➢ si contraintes strictes : maximiser le nombre de tâches acceptées en respectant leurs contraintes

● 2 grandes catégories de traitement➢ traitement en arrière-plan➢ traitement par serveurs

I.Lagrat AIAC 2012/2013 45

Traitement d'arrière-plan (1)● tâches apériodiques ordonnancées quand le

processeur est oisif➢ les tâches périodiques restent les plus prioritaires

● ordonnancement relatif des tâches apériodiques en mode FIFO

● traitement le plus simple, mais le moins performant

Tâches à contraintes relatives

I.Lagrat AIAC 2012/2013 46

Traitement d'arrière-plan (2)

● exempleTp1 (r0=0, C=2, P=5), Tp2 (r0=0, C=2, P=10)Ta3 (r=3, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)

➢ ordonnancement RMA des tâches périodiques

0 14

20

10

0 5 7 10

12

15

17

202

Tp

1

2 4 12

Tp

2

Temps creux

4 5 7 10

14

15

17

20

Ta3 Ta4 Ta5

4 10

11

Tâches apériodiques

5 7 8 14

15

17

19

3

I.Lagrat AIAC 2012/2013 47

Traitement par serveur (1)

● un serveur est une tâche périodique créée spécialement pour prendre en compte les tâches apériodiques

● serveur caractérisé par➢ sa période➢ son temps d'exécution : capacité du serveur➢ serveur généralement ordonnancé suivant le même

algorithme que les autres tâches périodiques➢ une fois actif, le serveur sert les tâches apériodiques dans la

limite de sa capacité.➢ l'ordre de traitement des tâches apériodiques ne dépend pas

de l'algorithme général

I.Lagrat AIAC 2012/2013 48

Traitement par serveur par scrutation (1)

● Serveurs par scrutation (polling)➢ à chaque activation, traitement des tâches en

suspens jusqu'à épuisement de la capacité ou jusqu'à ce qu'il n'y ait plus de tâches en attente

➢ si aucune tâche n'est en attente (à l'activation ou parce que la dernière tâche a été traitée) , le serveur se suspend immédiatement et perd sa capacité qui peut être réutilisée par les tâches périodiques

I.Lagrat AIAC 2012/2013 49

Traitement par serveur par scrutation (2)

● exemple de serveur par scrutation (ordonnancement RMA)➢ 2 tâches périodiques : Tp1 (r0=0, C=3, P=20) Tp2 (r0=0, C=2, P=10)

➢ serveur : Tps (r0=0, C=2, P=5)

0 202

Tp1

5

0 2 12 14 2010

Tp2

0 2 12 15 2010

Tps

115 7 17

4

4 7 9

I.Lagrat AIAC 2012/2013 50

Traitement par serveur par scrutation (3)

● exemple de serveur par scrutation (ordonnancement RMA)➢ 2 tâches périodiques : Tp1 (r0=0, C=3, P=20) Tp2 (r0=0, C=2, P=10)

➢ serveur : Tps (r0=0, C=2, P=5)

➢ tâches apériodiques : Ta3 (r=4, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)

0 202

Tp1

5

0 2 12 14 2010

Tp2

0 2 12 15 2010

Tps

115 7 17

012

Capacité Ta4Ta3 Ta5

Tâches apériodiques

I.Lagrat AIAC 2012/2013 51

● limitations du serveur par scrutation➢ perte de la capacité si aucune tâche apériodique en attente➢ si occurrence d'une tâche apériodique alors que le serveur est

suspendu, il faut attendre la requête suivante

Traitement par serveur par scrutation (4)

I.Lagrat AIAC 2012/2013 52

● Serveur sporadique➢ améliore le temps de réponse des tâches

apériodiques sans diminuer le taux d'utilisation du processeur pour les tâches périodiques

➢ comme le serveur ajournable mais ne retrouve pas sa capacité à période fixe 

➢ le serveur sporadique peut être considéré comme une tâche périodique « normale » du point de vue des critères d'ordonnancement

Traitement par serveur sporadique (1)

I.Lagrat AIAC 2012/2013 53

Traitement par serveur sporadique (2)

● calcul de la récupération de capacité➢ le serveur est dit « actif » quand la priorité de la tâche

courante Pexe

est supérieure ou égale à celle du serveur Ps

➢ le serveur est dit « inactif » si Pexe

< Ps

➢ RT : date de la récupération✔ calculée dès que le serveur devient actif (tA)✔ égale à tA + Ts

➢ RA : montant de la récupération à effectuer à RT✔ calculée à l'instant tI où le serveur devient inactif ou que la

capacité est épuisée✔ égal à la capacité consommée pendant l'intervalle [tA, tI]

I.Lagrat AIAC 2012/2013 54

Traitement par serveur sporadique (3)

● exemple de serveur sporadique à haute priorité➢ 2 tâches périodiques : Tp1 (r0=0, C=3, P=20), Tp2 (r0=0, C=2, P=10)

➢ serveur : Tps (r0=0, C=2, P=5)

➢ tâches apériodiques : Ta3 (r=4, C=2), Ta4 (r=10, C=1), Ta5 (r=11, C=2)

2

9

0 20

Tp1

0 20

Tp2

0

10Tps

012

Capacité Tâches apériodiques

2 4

4 6

6 7

10 12 15 20

12 14

10 11 12 15 16

Ta3 Ta4 Ta5

5

I.Lagrat AIAC 2012/2013 55

Tâches à contraintes strictes

I.Lagrat AIAC 2012/2013 56

Principe de l'ordonnancement● ordonnancer les tâches en EDF● A chaque nouvelle tâche apériodique, faire tourner

une "routine de garantie" pour vérifier que toutes les contraintes temporelles seront respectées

➢ si oui, accepter la tâche.➢ si non, refuser la tâche.

● 2 politiques d'acceptation dynamique :➢ acceptation dans les temps creux➢ ordonnancement conjoint

● favorise les tâches périodiques

I.Lagrat AIAC 2012/2013 57

acceptation dans les temps creux

● ordonnancement EDF des tâches périodiques● les tâches apériodiques acceptées sont ordonnancées

dans les temps creux des tâches périodiques (~ méthode d'arrière-plan) selon l'algorithme EDF

● routine de garantie (au réveil d'une tâche apériodique):

➢ teste l'existence d'un temps creux suffisant entre le réveil et l'échéance de la tâche apériodique)

➢ vérifie que l'acceptation de la nouvelle tâche ne remet pas en cause le respect des contraintes temporelles des autres tâches apériodiques déjà acceptées et non encore terminées

➢ si OK, la tâche est ajoutée à la liste des tâches apériodiques

I.Lagrat AIAC 2012/2013 58

● exemple➢ Tp1 (r0=0, C=3, D=7, P=20), Tp2 (r0=0, C=2, D=4, P=5),

Tp3 (r0=0, C=1, D=8, P=10)

➢ Ta4 (r=4, C=2, d=10), Ta5 (r=10, C=1, d=18),

Ta6 (r=11, C=2, d=16)

Ta6

Tp

1

Tp

2

Tp

3

0

0

2

2

5

4 5 6

5 6

7

8

8

9 10

10

12

12 13

14 15

17

18

19 20

20

20Temps creux

0 8 10 13 15

17

20

Ta

4

Ta

5

acceptation dans les temps creux

Tâches apériodiques

0 11 15 17

184 13108 16

I.Lagrat AIAC 2012/2013 59

● exemple➢ Tp1 (r0=0, C=3, D=7, P=20), Tp2 (r0=0, C=2, D=4, P=5),

Tp3 (r0=0, C=1, D=8, P=10)

➢ Ta4 (r=4, C=2, d=10), Ta5 (r=10, C=2, d=18),

Ta6 (r=11, C=2, d=16)

16

Tp

1

Tp

2

Tp

3

0

0

2

2

5

4 5 6

5 6

7

8

8

9 10

10

12

12 13

14 15

17

18

19 20

20

20Temps creux

0 8 10 13 15

17

20

Ta

4

Ta

5

acceptation dans les temps creux (3)

Tâches apériodiques

0 11 15 17

184 13108

X Ta6

I.Lagrat AIAC 2012/2013 60

ordonnancement conjoint (1)

● la séquence des tâches périodiques n'est plus immuable

● à l'arrivée de chaque nouvelle tâche apériodique, construction d'une nouvelle séquence EDF

➢ si la construction est possible : acceptation de la tâche

➢ sinon rejet

I.Lagrat AIAC 2012/2013 61

ordonnancement conjoint (2)

● exemple➢ Tp1 (r0=0, C=3, D=7, P=20), Tp2 (r0=0, C=2, D=4, P=5),

➢ Tp3 (r0=0, C=1, D=8, P=10)

➢ Ta4 (r=4, C=2, d=10), Ta5 (r=10, C=1, d=18),

Ta4

Ta5

Tp3

Tp2

2 4 5 6 8 9 10 12 15 17 19 20

Tp

1 0 2 5 7 20

60 5 8 10 14 18 201512 13

Tâches apériodiques

0 8 10 11 13 14 184

I.Lagrat AIAC 2012/2013 62

ordonnancement conjoint (3)

● exemple➢ Tp

1 (r

0=0, C=3, D=7, P=20), Tp

2 (r

0=0, C=2, D=4, P=5),

➢ Tp3 (r

0=0, C=1, D=8, P=10)

➢ Ta4 (r=4, C=2, d=10), Ta

5 (r=10, C=1, d=18),

Ta6 (r=11, C=2, d=16)

Ta4

Ta5

Tp3

Tp2

2 4 5 6 8 9 10 12 15 17 19 20

Tp

1 0 2 5 7 20

60 5 8 10 14 18 201512 13

Tâches apériodiques

0 8 10 11 13 14 184 12

Ta6

I.Lagrat AIAC 2012/2013 63

ordonnancement conjoint (3)

● exemple➢ Tp

1 (r

0=0, C=3, D=7, P=20), Tp

2 (r

0=0, C=2, D=4, P=5),

➢ Tp3 (r

0=0, C=1, D=8, P=10)

➢ Ta4 (r=4, C=2, d=10), Ta

5 (r=10, C=2, d=18),

Ta6 (r=11, C=2, d=16)

Ta4

Ta5

Tp3

Tp2

2 4 5 6 8 9 10 12 15 17 19 20

Tp

1 0 2 5 7 20

60 5 8 10 14 18 201512 13

Tâches apériodiques

0 8 10 11 13 14 184 12

Ta6

I.Lagrat AIAC 2012/2013 64

Ordonnancement de tâches dépendantes