Systèmes temps réel Pr. Ismail LAGRAT A.I.A.C 2012-2013 1 I.Lagrat AIAC 2012/2013
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