Chapitre 2 - Équipe Automatique Vision et...

28
ENSP Strasbourg (Edition 2009-2010) Les Systèmes Temps Réels - Ch. DOIGNON 49 Chapitre 2 Multiprogrammation et ordonnancement

Transcript of Chapitre 2 - Équipe Automatique Vision et...

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

49

Chapitre 2

Multiprogrammation etordonnancement

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

MULTIPROGRAMMATION

La multiprogrammation consiste à gérer plusieurs processus en mémoiresimultanément. Cela se justifie lorsque les processus passent beaucoup de tempsà attendre la fin d’une opération d’E/S. Elle permet d’améliorer le tauxd’utilisation du processeur. Elle s’applique à des systèmes d’exploitationmultitâches pour lesquels le processeur est une ressource commune (parmid’autres).

Supposons qu’un processus dépense une fraction p de son temps à attendre. Si nprocessus (supposés indépendants et non périodiques) se trouvent en mémoireen même temps (dans des zones séparées), la probabilité qu’ils soient tous enattente sur une E/S (et donc que le processeur soit inutilisé) est pn.

On définit alors le taux d’utilisation du processeur (Processor Usage) par :

PU = 1 - pn

REMARQUE

En réalité, les processus ne sont pas tout à fait indépendants, puisque même si unprocessus est prêt, il doit attendre qu’un autre libère le processeur.

50

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

MULTIPROGRAMMATION

EXEMPLE

Considérons un ordinateur possédant 1 Mo de mémoire, où le systèmed’exploitation et les processus occupent chacun 200 Ko. Si on attend en moyenne80 % du temps sur les ressources communes, le taux d’utilisation du processeur(sans tenir compte du temps utilisé par le système pour sa propre gestion) estd’environ 60 % =(1-(4/5)4).

1 Mo supplémentaire de mémoire fait passer le degré de multiprogrammation de4 à 9 et le taux d’utilisation du processeur à 87 % =(1-(4/5)9).

51

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

MULTIPROGRAMMATION (modèle de tâches)

Les tâches, processus ou les fils d’exécution (ou processus légers - threads) sont lesentités de base de l’ordonnancement du temps (ressource processeur) et de l’espace(ressource mémoire). Ils peuvent être périodiques ou apériodiques, préemptibles ounon, à contraintes temporelles faibles ou fortes, déterministes ou indéterministes.

établissement d’un modèle canonique avec paramètres temporels qui caractérise le processus T(r0 ,C,D,P) :

• r : date de réveil, c’est le moment de la première requête d’exécution,

• C : durée d’exécution maximale (dans le contexte monoprocessus)

• D : délai critique, c’est le délai maximum acceptable pour son exécution,

• P : sa période d’exécution lorsqu’il s’agit d’un processus périodique,

• rk : date de réveil de la kième requête : rk = r0 + k P

• dk : échéance de la kième requête : dk = rk + D

52

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

MULTIPROGRAMMATION (modèle de tâches)

• T(r0 ,C,D,P) avec 0 ≤ C ≤ D ≤ P

• tâche périodique à échéance sur requête : D = P,

• Un processus est déterministe si C = cte,

• Un processus est préemptible s’il peut être interrompu : une section d’instructions non préemptibles (ou section non interruptible – ou exécution atomique) est appelée section critique.

• Les contraintes temporelles sont : - faibles si D >> C ,- fortes si D = C + e (et e << C).

Modèle canonique des tâches 53

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

54

ORDONNANCEMENT (propriétés des algorithmes d’)

• Séquence valide : un algorithme d’ordonnancement délivre une séquenced’ordonnancement pour une configuration de tâches données. Cette séquence estvalide si toutes les tâches de la configuration respectent leurs contraintes. Avec unalgorithme hors ligne une séquence de planification rigide est établie et lescontraintes temporelles associées aux tâches de la configuration sont vérifiées.

• Configuration ordonnançable : une configuration de tâches est ordonnançable dèsqu’il existe un algorithme au mois capable de fournir une séquence valide.

• Algorithme optimal : un algorithme d’ordonnancement est optimal s’il est capablede produire une séquence valide pour toute configuration de tâche ordonnançable.

• Test d’ordonnançabilité : il sert à vérifier qu’une configuration de tâchespériodiques donnée soumise à un algorithme d’ordonnancement peut êtreordonnancé selon une séquence valide.

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

ORDONNANCEMENT (propriétés des algorithmes d’)

• Test d’acceptabilité : un algorithme en ligne crée ou modifie la séquencedynamiquement à l’arrivée de nouvelles tâches ou à la suite de dépassementd’échéance. Une requête nouvelle peut être ajoutée à la séquence déjà formée, ouen cours de modification à la suite de suppression, et être acceptée s’il existe aumoins une séquence pour laquelle toutes les requêtes précédemment acceptées etcette nouvelle requête peuvent terminer leur exécution avant leurs échéances.

• Période d’étude : Pour valider l’ordonnançabilité de tâches périodiques etapériodiques, une analyse temporelle de l’exécution de cette configuration estnécessaire. La période d’étude commence à la première date de réveil d’une tâchede la configuration, c’est-à-dire à l’instant t0 = Min(ri0) pour toutes les tâches Ti de laconfiguration. Elle se termine à une date qui est fonction du plus petit communmultiple des périodes Pi et qui s’exprime en fonction de toutes les tâchespériodiques Ti et de toutes les tâches apériodiques Tj

Période d’étude = *Min(ri0) , Max(ri0 , rj0 + Dj ) + 2 PPCM(Pi) ]

Pour une configuration à réveil simultané des tâches, la période d’étude estsimplement l’intervalle [0, PPCM(Pi)]

55

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

ORDONNANCEMENT HORS LIGNE RR

• Liste d’attente des tâches : l’ordonnancement crée une séquence de planificationdont le premier élément indique la tâche élue. Cette séquence est une liste, appeléeliste des tâches restantes, ordonnée par une relation d’ordre basée sur les prioritésou les délais critiques ou plus généralement sur des clés.

Le nombre de quantum Qi d’une tâche représente la durée d’exécution maximale Ci

quantifiée comme étant un multiple du quantum temporel dt, c'est-à-dire :

Qi = entier sup {Ci / dt}

• Ordonnancement par file circulaire (tourniquet) (RR – Round Robin) :

Sans enlever aucune généralité au problème de l'ordonnancement, on suppose quela liste des n tâches restantes, Ln = {T1,T2,...Tn} , est rangée en ordre croissant desdurées d'exécution Ci :

C1 ≤ C2 ≤ …. ≤ Ci ≤ …. ≤ Cn

(ce qui signifie que lorsque la tâche Ti se termine, les autres tâches T1,T2,...Ti-1 sontdéjà terminées), alors la durée wi de Ti dans un environnement multitâches vaut :

dtCTdtsinTdtinQQw icic

ij

j

iji mod)()1()()1(1

1

56

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

ORDONNANCEMENT HORS LIGNE RR (mise en œuvre)

où Tc est le temps de commutation, dt est l’unité du quantum de temps (entre deuxappels à l’ordonnanceur), Qi est le nombre de quantum de la tâche Ti , (n-i+1) est lenombre de tâches restantes dans la liste Ln-i+1 et si est la position de la tâche Ti dansla liste Ln-i+1 des tâches restantes.

Remarque : Dans le cas où les durées d'exécution des tâches ne sont pas rangées en ordre croissant de l'indice i, il suffit de renuméroter les tâches (i' = f(i) ).

Exemple (dt = 2 ms) : T1 (0,C1=2,D1=5,P1=0) ; T2 (8,C2=4,D2=16,P2=0) ;T3 (2,C3=5,D3=15,P3=0) ; T4 (4,C4=6,D4=30,P4=0) ;T5 (6,C5=7,D5=25,P5=0)

Est-ce que tous les délais critiques des 5 tâches sont honorés ?

Ordonnancement des tâches selon une file circulaire (un seul niveau de priorité)57

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

58

ORDONNANCEMENT HORS LIGNE RR

Exercice résolu : en considérant un temps de commutation Tc négligeable parrapport à l’unité du quantum de temps dt de 2 ms et en considérant unordonnancement selon une file circulaire (tâches de même priorité),déterminer les durées dti de chacune des tâches apériodiques T1,T2,T3,T4,T5

dont les durées d'exécution maximale dans un environnement mono-tâchesont les suivantes :

C1 =10 ms, C2 = 70 ms, C3 =181 ms, C4 = 350 ms, C5 =563 ms.

On supposera de plus que le positionnement initial dans la liste L5 est :

L5 = { T2 , T3 , T5 , T1 , T4 }

et que l’ordonnanceur n’est pas préempté à la terminaison de chaque tâche.

Réponses : w1 = 48 ms, w2 = 284 ms, w3 = 621 ms, w4 = 962 ms, w5 = 1175 ms.

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

Ordonnancement des tâches selon une file circulaire (un seul niveau de priorité)

• Cas a) Réquisition de l’ordonnanceur sur échéance uniquement (tops d’horloge) des temps d’inactivités apparaissent.

• Cas b) Réquisition de l’ordonnanceur sur échéance età la fin de chaque tâche, la requête système exit() préempte l’ordonnanceur : pas de temps « morts ».

EXEMPLE : 3 tâches

a)

b)

59

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

ORDONNANCEMENT HORS LIGNE PAR PRIORITES (constantes)

• Ordonnancement par priorités (Fixed Priority-based Scheduling) :

Un niveau de priorité constant est affecté à chaque tâche et à un instant donné, latâche élue est toujours celle de plus haute priorité.Sans enlever aucune généralité au problème de l'ordonnancement par priorité, onsuppose que les n tâches connues de l'exécutif (tout état sauf NON CREE) sontrangées en ordre croissant de leur priorité (du plus prioritaire = plus petite valeur depr au moins prioritaire = plus grande valeur de pr) :

pr1 ≤ pr2 ≤ …. ≤ pri ≤ …. ≤ prn

(ce qui signifie que lorsque la tâche Ti se termine, les autres tâches T1,T2,...Ti-1 sontdéjà terminées), alors la durée wi de Ti dans un environnement multitâches vaut :

• pour i > 1 :

• pour i = 1 :

Les priorités des tâches sont constantes tout au long de leur exécution.

1

1

)(ij

j

jcii QTdtCw

11 Cw

60

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

Chronogramme de l’ordonnancement des tâches selon leur priorité (constante)

EXEMPLE : 3 tâches

61

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

REMARQUES

• L’algorithme d’ordonnancement présente le défaut du risque de « famine »encouru par les tâches de faible priorité. Une solution à ce problème estd’augmenter celle-ci en fonction du temps d’attente (vieillissement). La prioritédes tâches devient alors variable.

• Les stratégies présentées jusqu’à présent utilisent une seule file d’attente destâches prêtes. On peut associer les deux stratégies pour élaborer unordonnancement par files de priorités constantes multi-niveaux, chaque filecorrespondant à un niveau précis de priorité (éventuellement, des files sontvides). Dans une file donnée, toutes les tâches ont la même priorité et sontservies selon la politique du tourniquet ou du vieillissement. Le quantum dt peutêtre différent selon le niveau de priorité de la file. L’ordonnanceur sert d’abordtoute les tâches de la première file, puis celles de la deuxième file, dès que lapremière file est vide.On peut définir deux variantes de l’algorithme en fonction de l’évolution de lapriorité des tâches :

• les priorités des tâches sont constante tout au long de leur exécution. Unetâche en fin de quantum est toujours réinsérée dans la même file d’attente,correspondant à son niveau de priorité.

62

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

REMARQUES (suite)

• les priorités des tâches évoluent dynamiquement en fonction du tempsd’exécution dont a bénéficié la tâche. Ainsi une tâche de la file pr , à la fin deson quantum (quantum de la file pr), n’est pas réinsérée dans la même filemais dans la file de priorité pr+1 (moins prioritaire), si son exécution n’estpas terminée. Ceci permet de minimiser les risques de « famine » pour lestâches de faible priorité en faisant petit à petit baisser la priorité des tâchesde plus haute priorité.

• Aucune des politiques d’ordonnancement présentées ne permet de remplir lesdeux objectifs d’un ordonnancement temps réel, notamment parce qu’aucune deces politiques n’intègre la notion d’urgence des tâches, notion représentée par ledélai critique dans le modèle canonique des tâches temps réel.

WATCHDOG

Le chien de garde (watchdog) est la plus prioritaire des tâches exécutées dans unSETR. Son rôle est de vérifier périodiquement le respect des échéances destâches. Pour ce faire il s’exécute périodiquement et vérifie, en particulier pour lestâches périodiques, que les durées d’exécution ne dépassent pas les périodes.

63

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

Exemple d'un système à 12 tâches, 4 niveaux de priorité avec ordonnancement par priorité et file circulaire.Où sont les tâches à l'état CREE, PRET, BLOQUE, EXEC ? 64

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

ORDONNANCEMENT RM

L’algorithme RM (Rate Monotonic) est une stratégie d’ordonnancement à prioritéconstante. Avec cet algorithme, la priorité est fonction de sa période de telle sorteque la tâche de plus petite période est la tâche la plus prioritaire. Cet algorithme estoptimal dans la famille des algorithmes à priorité constante pour les configurationsde tâches à échéance sur requête et, dans ce cas, on connait une borne minimalepour l’acceptation d’une configuration de n tâches (condition suffisante) dans le caspréemptif :

Cette borne théorique correspond au pire des cas et tend vers ln 2 (69,3 %) lorsque nest grand (les 30,7 % restants peuvent être dédiés à des tâches de basse priorité etnon temps-réel). Elle peut souvent être dépassée et Lehoczky a montré qu’enmoyenne la borne supérieure avoisine 88 %.

L’exploitation de la période comme critère d’ordonnancement limite l’utilisation duRate Monotonic aux seules tâches à échéance sur requête.

PUnP

C nni

i i

i

)12( /1

1

65

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

EXEMPLE ORDONNANCEMENT RM

EXEMPLE (dt = 1 ms)

Considérons un système à réquisition et trois tâches périodiques ordonnancées parla stratégie RM basé sur la période :T1 (r1=0,C1=3,D1=7,P1=20) ; T2 (r2=0,C2=2,D2=4,P2=5) ; T3 (r3=0,C3=2,D3=9,P3=10)

La tâche la plus prioritaire est la tâche T2 et la tâche la moins prioritaire est T1 .La condition d’ordonnançabilité est vérifiée : 3/20+2/5+2/10 = 0.75 < 0.78

Exemple d’ordonnancement (hors ligne) RM : chronogramme de 3 tâches périodiques66

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

EXERCICE RM

Considérons deux tâches périodiques ordonnancées par la stratégie RM basé sur lapériode :

T1 (r1=0,C1=6,P1=10) ; T2 (r2=0,C2=9,P2=30) ;

a) Afficher les chronogrammes de l’ordonnancement des deux tâches dans les deuxcas suivants :

• Cas d’un système préemptif (dt = 1 ms),• Cas d’un système non préemptif (les tâches ne sont pas interrompues)

b) Y a-t-il eu faute temporelle ?

67

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

TEMPS DE REPONSE RM

Hypothèse : système à réquisition (préemptif) .

• Pour une tâche Ti on cherche à évaluer, au pire cas, son temps d’exécution wi dansl’environnement multitâches (incluant son temps d’attente) lorsque des tâches plusprioritaires s’exécutent en concurrence avec elle.

où hp(i) est l’ensemble des tâches de priorité plus grande que Ti . [x] représentel’entier juste supérieur à x.

• Méthode de calcul (Joseph et Pandya, 1986) : wi(k) est calculé de manière itérative,

et en ordonnant le calcul selon les priorités décroissantes. Initialement : wi(0) = Ci et

Le calcul itératif est stoppé s’il existe k’ tel que wi(k’+1) = wi

(k’) ou si wi(k’) > Pi (échec).

j

ihpj j

k

ii

k

i CP

wCw

)(

)()1(

j

ihpj j

iii C

P

wCw

)(

68

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

EXEMPLE

Considérons trois tâches périodiques ordonnancées par la stratégie RM basé sur lapériode comme critère :

T1 (r1=0,C1=3,P1=7) ; T2 (r2=0,C2=2,P2=12) ; T3 (r3=0,C3=5,P3=20) ;

• w1(0) = 3 = w1

(1)

• w2(0) = 2

• w2(1) = 2 + [2/7] 3 = 5

• w2(2) = 2 + [5/7] 3 = 5 = w2

(1)

• w3(0) = 5

• w3(1) = 5 + [5/7] 3 + [5/12] 2 = 10

• w3(2) = 5 + [10/7] 3 + [10/12] 2 = 13

• w3(3) = 5 + [13/7] 3 + [13/12] 2 = 15

• w3(4) = 5 + [15/7] 3 + [15/12] 2 = 18

• w3(5) = 5 + [18/7] 3 + [18/12] 2 = 18 = w3

(4)

j

ihpj j

k

ii

k

i CP

wCw

)(

)()1(

69

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

ORDONNANCEMENT DM

L’algorithme DM (Deadline Monotonic ou Inverse Deadline) est une stratégied’ordonnancement à priorité constante. Avec cet algorithme, la priorité est fonctiondu délai critique. Ainsi la tâche de plus petit délai critique est la tâche la plusprioritaire. Les performances de cet algorithme sont équivalentes à celles du RMdans le cas de tâches à échéance sur requête et meilleures dans le cas deconfigurations arbitraires. Dans le cas préemptif, une condition suffisanted’acceptabilité de tâches est :

EXEMPLE

Considérons un système à réquisition (dt=1ms) et trois tâches périodiquesordonnancées par la stratégie DM :T1 (r1=0,C1=3,D1=7,P1=20) ; T2 (r2=0,C2=2,D2=4,P2=5) ; T3 (r3=0,C3=2,D3=9,P3=10)

La tâche la plus prioritaire est la tâche T2 et la moins prioritaire est T3. La conditionsuffisante n’est pas vérifiée ( 3/7+2/4+2/9 = 1.14 > 1 ) mais le chronogramme (laisséen exercice) construit sur la période d’étude pour cette configuration prouve quel’ordonnancement s’effectue sans faute temporelle.

PUnD

C nni

i i

i

)12( /1

1

70

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

ORDONNANCEMENT EN LIGNE

Un algorithme en ligne (dynamique) choisit au cours de l’exécution la prochainetâche à ordonnancer. Ce choix se fait sur la base d’une priorité, qui peut avoir étédéfinie par le concepteur de l’application (priorité empirique ou externe), soit àpartir d’un paramètre temporel de la tâche. Dans ce dernier cas, la priorité peut êtreconstante ou variable en fonction du temps. Lorsque tous les paramètres de laconfiguration de tâches à ordonnancer sont connus à l’avance, notamment les tempsd’exécution maximaux et les dates des tous les réveils de toutes les tâches, un testd’acceptabilité de la configuration peut être exécuté hors ligne. Au contraire, lorsqueles dates ne sont pas toutes connues, un test de garantie doit être exécuté au réveildes tâches pour prévoir l’occurrence d’éventuelles fautes temporelles.

Le surcoût des algorithmes en ligne est donc plus important, mais la prise en comptede nouvelles tâches peut être réalisée sans difficulté.

• Ordonnancement EDF (Earliest Deadline First) :

Une stratégie dynamique très employée est d’accorder à un instant t une prioritémaximale pour la tâche dont l’échéance (représentée par le délai critique) est la plusproche. Il s’agit d’un ordonnancement basé sur des priorités dynamiques. Pour lestâches à échéance sur requête, unecondition suffisanted’ordonnançabilité est : 1

1

ni

i i

i

P

C

71

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

ORDONNANCEMENT EDF (suite)

Pour les tâches quelconques, une condition suffisante d’ordonnançabilité est donnéepar (∀ i : Di= Pi) :

11

ni

i i

i

D

C

EXEMPLE (dt = 1 ms)

Considérons un système à réquisition et trois tâches périodiques ordonnancées parla stratégie EDF :T1 (r1=0,C1=3,D1=7,P1=20) ; T2 (r2=0,C2=2,D2=4,P2=5) ; T3 (r3=0,C3=1,D3=8,P3=10)

Exemple d’ordonnancement (en ligne) EDF : chronogramme de 3 tâches périodiques 72

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

73

GESTION DES TACHES APERIODIQUES

Elles se distinguent des tâches périodiques par le fait que l'on ne connaît pasl'instant d'arrivée de la requête de réveil.

Pour tenir compte de tâches apériodiques parmi l’ensemble des tâches àordonnancer, il existe plusieurs approches. L’objectif est toujours d’ordonnancer lestâches apériodiques à contraintes souples dans un contexte de tâches périodiques àcontraintes strictes. Parmi les approches existantes, deux sont courammentemployées :

• le traitement en arrière plan,• le serveur de tâches.

ORDONNANCEMENT EDF (suite)

Pour les tâches indépendantes et périodiques, l’ordonnancement EDF peut utiliser100 % des ressources CPU. Il n’est utilisable qu’avec la réquisition (préemption) et leséchéances peuvent être quelconques mais doivent être connues à l’activation(chaque date de réveil).

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

74

TRAITEMENT DES TACHES APERIODIQUES EN ARRIERE-PLAN

Le principe suivi est d’exécuter les tâches apériodiques d’une file en mode FIFO(premier entré, premier sorti) quand aucune tâche périodique n’est activée (temps« creux »). Utilisé conjointement avec un ordonnancement RM des tâchespériodiques, cela revient à donner aux tâches apériodiques la priorité la plus faible.

EXEMPLE : Tp1 (r1,0=0,C1=2,P1=5) ; Tp2 (r2,0=0,C2=2,P2=10) ;Ta1 (r1=4,C1=2) (bleu) ; Ta2 (r2=10,C2=1) (rouge); Ta3 (r3=11,C3=2) (vert);

Exemple de traitement par arrière-plan de tâches apériodiques dans un contexte d’ordonnancement TR des tâches périodiques

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

75

TRAITEMENT DES TACHES APERIODIQUES PAR SERVEUR

Le principe est de définir une tâche périodique spéciale, appelée serveurapériodique, active durant son temps d’exécution (appelé capacité du serveur) lestâches apériodiques en attente. C’est une forme de réservation garantie de tempsCPU consacré uniquement aux tâches apériodiques. Deux types de serveurs existent:le serveur par scrutation et le serveur sporadique.

• le serveur par scrutation exécute, lorsqu’il est activé, les tâches en attentejusqu’à épuisement de celles-ci ou de sa capacité (qui est réévaluée à chaqueexécution). Dès qu’il n’y a plus de tâches en attente, il se suspend jusqu’à saprochaine exécution (périodique). 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 suspendimmédiatement et perd sa capacité qui peut être réutilisée par les tâchespériodiques.

• le serveur sporadique s’exécute chaque fois qu’il y a au moins une tâcheapériodique à exécuter et qu’il a une capacité non nulle et que sa priorité estéligible (pas de tâches plus prioritaire). Il s’arrête dès qu’il a épuisé sa capacitéou qu’il a servi toutes les demandes en attente.

ENSP Strasbourg (Edition 2009-2010)Les Systèmes Temps Réels - Ch. DOIGNON

76

EXEMPLE DE SERVEUR PAR SCRUTATION (ordonnancement RM)

• Deux tâches périodiques : Tp1 (r1,0=0,C1=3,P1=20) ; Tp2 (r2,0=0,C2=2,P2=10) ;• Une tâche périodique serveur : Tps (rs,0=0,Cs=2,Ps=5) ;• Trois tâches apériodiques :

Ta3 (r3=4,C3=2) (bleu) ; Ta4 (r4=10,C4=1) (rouge); Ta5 (r5=11,C5=2) (vert);

Exemple de traitement de tâches apériodiques par serveur de scrutationdans un contexte d’ordonnancement TR des tâches périodiques