Gestion des processus dans les systèmes d’exploitation temps réel

1/24
100%

<!-- Slide number: 1 -->

cole Nationale des Sciences de lInformatique

Chapitre 2Gestion des processus dans les syst mes dexploitation temps r el

Module : Syst mes dexploitation temps r el

Niveau : II2 Fili re Syst mes et Logiciels Embarqu s

AU : 2011/2012

<!-- Slide number: 2 -->

Plan

Aper u sur lordonnancement temps r el

Ordonnancement par horloge

Ordonnancement par priorit s

Ordonnancement avec prise en charge des ressources

Gestion des interruptions

2

<!-- Slide number: 3 -->

Hypoth ses

Lordonnancement par horloge est applicable aux syst mes d terministes

Mod le de t ches p riodiques restreint:

les param tres de toutes les t ches p riodiques sont connus a priori

pour chaque mode de fonctionnement, le syst me a un nombre fixe n de processus p riodiques

pour le processus Ti , chaque t che Ji,k est pr te pour l'ex cution son temps darriv e ri,k, et arrive pi unit s de temps apr s la t che pr c dente de Ti tel que ri,k = ri, k-1 + pi

les t ches ap riodiques peuvent exister

nous admettons que le syst me maintient une file d'attente simple pour les t ches ap riodiques

Lorsque le processeur est la disposition des t ches ap riodiques, la t che en t te de cette file d'attente est ex cut e

Il n'y a pas de t ches sporadiques

Rappel : les t ches sporadique ont des d lais dures, par opposition aux t ches ap riodiques

3

<!-- Slide number: 4 -->

Notation

Le 4-tuple Ti = (Fi, pi, ei, Di) se rapporte un processus p riodique Ti , de phase Fi, de p riode pi, de temps d'ex cution ei, et de d lai relatif Di

la phase par d faut de Ti est Fi = 0, le d lai relatif par d faut est la p riode Di = pi

Les valeurs par d faut ne sont pas mentionn es dans le tuple

Exemples :

![](Picture1.jpg)

4

<!-- Slide number: 5 -->

Ordonnancement statique cyclique par horloge

Puisque les param tres de toutes les t ches d lais dures sont connus, on peut construire une planification cyclique et statique l'avance

le temps processeur assign une t che est gal son temps d'ex cution maximum

Lordonnanceur dispatche les t ches selon la planification statique, tout en r p tant chaque hyper-p riode

Le planning statique garantit que chaque t che s'accomplit par son d lai

Aucune t che ne d passe son ex cution les d lais sont respect s

Lordonnancement est calcul offline possibilit dutilisation dalgorithmes complexes

Le temps d'ex cution de l'algorithme nest pas important

Possibilit de recherche dune planification qui optimise un certain crit re

Publicité

Ex: un programme o les p riodes vides sont presque p riodiques ; servant ainsi les t ches ap riodiques

5

<!-- Slide number: 6 -->

Exemple dordonnancement cyclique

Consid rons un syst me avec 4 processus p riodiques ind pendants:

Hyper-p riode H = 20 (ppcm (4, 5, 20, 20))

Possibilit de construire un ordonnancement statique arbitraire pour respecter les d lais

![](Picture2.jpg)

![](Picture5.jpg)

6

<!-- Slide number: 7 -->

Impl mentation dun ordonnancement cyclique

![](Picture1.jpg)

Sauvegarde de la planification pr -calcul dans une table

Le syst me cr e toutes les t ches qui seront ex cut es :

Alloue la m moire pour le code et les donn es de chaque t che

Apporte le code ex cut par la t che dans la m moire

Lordonnanceur configure le timer mat riel pour g n rer des interruptions la premi re d cision, tk=0

chaque interruption du timer linstant tk :

Lordonnanceur configure linterruption du timer pour expirer tk+1

Si T(tk) = I et une t che ap riodique est en attente, alors d marrer la t che ap riodique

Sinon, d marrer la prochaine t che du processus T(tk)

7

<!-- Slide number: 8 -->

Impl mentation dun ordonnancement cyclique

![](Picture1.jpg)

8

<!-- Slide number: 9 -->

Ordonnancement cyclique structur

Lordonnancement cyclique arbitraire table driven est flexibles, mais inefficace

N cessite des interruptions pr cises du timer

bas e sur le temps d'ex cution des t ches

En imposant une structure, limpl mentation devient plus facile

les d cisions de planification sont r alis es des intervalles p riodiques (frames) de longueur f

Ex cution dune liste fixe de t ches chaque frame, la pr emption nest prise en compte quaux limites des frames

la phase de chaque t che p riodique doit tre un multiple non n gatif du frame

La premi re t che de chaque processus est lib r e au d but d'un frame

Deux avantages :

Lordonnanceur peut facilement v rifier les d passements et les d lais manqu s la fin de chaque frame

Il est possible dutiliser des interruptions p riodiques d'horloge, plut t quun timer programmable

9

<!-- Slide number: 10 -->

Ordonnancement cyclique structur

D cision d'ordonnancement prise p riodiquement

De fa on p riodique

Publicité

Choisir la t che ex cuter

Effectuer les op ration de contr le et de suivi

Cycle principal: tendues durant une hyper-p riode

![](Picture4.jpg)

frame f

Points de d cision

![](Picture2.jpg)

10

Notes:

<!-- Slide number: 11 -->

Contraintes de la taille du frame

Soit f la longueur de l' tendue.

Comment choisir f ?

Chaque t che doit pouvoir commencer et terminer son ex cution durant le frame :

vite la pr emption

f divise l'hyper-p riode (lcm(p1, .. , pn)). Donc, f doit diviser la p riode d'au moins une t che :

r duit au minimum le nombre des entr es de lordonnancement cyclique

11

<!-- Slide number: 12 -->

Contraintes de la taille du frame

Pour permettre lordonnanceur de v rifier que les t ches finissent leurs d lais, il doit y avoir au moins une limite dans le frame entre le temps darriv e dune t che et son d lai.

Il y a au moins une tendue entre l'arriv e et le d lai de chaque t che

![](Picture9.jpg)

![](Picture4.jpg)

12

<!-- Slide number: 13 -->

Contraintes de la taille du frame

Les trois contraintes doivent tre satisfaites

13

Notes:

<!-- Slide number: 14 -->

Exemple 1 :

![](Picture6.jpg)

![](Picture6.jpg)

![](Picture6.jpg)

![](Picture5.jpg)

14

Notes:

<!-- Slide number: 15 -->

Exemple 2 :

T che P riode D lai Temps d'ex cution

i Ti Di Ci

------------------------------------------------------------

1 15 14 1

2 20 26 2

Publicité

3 22 22 3

Premi re contrainte => f est au moins 3.

Deuxi me contrainte => f est 3, 4, 5, 10, 11, 15, 20 ou 22.

Troisi me contrainte => f est 3, 4, 5, 10 ou 11.

15

Notes:

<!-- Slide number: 16 -->

D coupage de t ches

![](Picture4.jpg)

![](Picture6.jpg)

![](Picture5.jpg)

D couper T3

![](Picture8.jpg)

16

Notes:

<!-- Slide number: 17 -->

Noyau cyclique (cyclic executive)

![](Picture3.jpg)

17

Notes:

<!-- Slide number: 18 -->

Planification des t ches ap riodiques

Pour le moment, les t ches ap riodiques sont planifi es la fin des frames, apr s que toutes les t ches avec d lais durs programm es dans le frame soient accomplies

Ceci retarde l'ex cution des t ches ap riodiques en faveur des t ches p riodiques

Cependant,

g n ralement, il n'y a pas davantage accomplir une t che temps r el dure t t,

et puisqu'une t che ap riodique est r active un v nement particulier, le plus t t cette t che fini, meilleur est la r ponse du syst me

Par cons quent, r duire le temps de r ponse du syst me pour les t ches ap riodiques est typiquement un but inh rent lordonnancement temps r el

18

<!-- Slide number: 19 -->

Exemple :

![](Picture2.jpg)

![](Picture2.jpg)

Trep moyen = 4.5

![](Picture2.jpg)

Trep moyen = 2.5

19

<!-- Slide number: 20 -->

Planification des t ches ap riodiques : Slack Stealing

Les t ches p riodiques sont ordonnanc es dans les frames qui compl tent avant leurs d lais ; il peut y avoir du temps perdu (slack time) dans le frame apr s la fin dex cution des t ches p riodiques

Puisquon connait lavance le temps d'ex cution des t ches p riodiques, on peut d placer ce temps perdu au d but du frame, ex cutant les t ches p riodiques juste temps pour satisfaire leurs d lais

Ex cution des t ches ap riodiques pendant le temps perdu, avant les t ches p riodiques:

Le noyau cyclique garde le temps perdu de chaque frame pour lex cution des t ches ap riodiques, les pr empte pour lancer les t ches p riodiques lorsque le temps perdu est fini

Tant quil reste du temps perdu, dans le frame, le noyau cyclique revoie la file des t ches ap riodiques apr s la fin de chaque slice (unit )

Ceci permet de r duire le temps de r ponse des t ches ap riodiques, mais n cessite des timers tr s pr cis.

Publicité

20

<!-- Slide number: 21 -->

Ordonnancement des t ches sporadiques

Que faire si on veut prendre en consid rations les t ches sporadiques ?

Les t ches sporadiques ont des d lais durs, le temps darriv e et le temps dex cution ne sont pas connus lavance:

Par cons quent, lordonnancement par horloge ne peut pas garantir a priori que les t ches sporadiques saccomplissent dans les d lais

Cependant, le planificateur peut d terminer si une t che sporadique est planifiable quand elle arrive

R alise un test dacceptation pour v rifier si la nouvelle t che sporadique peut tre planifi e avec toutes les t ches dans le syst me

S'il y a suffisant de temps perdu dans les frames avant le d lai de la nouvelle t che, cette derni re est accept e, sinon rejet e

Si plusieurs t ches sporadique arrivent en m me temps, elles doivent tre mises dans une file dattente dans lordre EDF pour le test dacceptation

21

<!-- Slide number: 22 -->

Consid rations pratiques

Prise en compte des d passements :

Les t ches sont planifi es selon leur temps dex cution maximum, mais des checs pourraient causer des d passements

Un syst me robuste tiendra compte de cela par

Soit arr ter la t che qui d passe et g n rer une t che de r cup ration

Ou bien pr empte la t che et la planifie comme tant une t che ap riodique.

Ceci d pend de lutilit des r sultats en retard, les d pendances entre les t ches, etc...

Des processeurs multiples

Peut tre r alis , mais la g n ration de la table de planification off-line est plus complexe

22

<!-- Slide number: 23 -->

Avantages de lordonnancement par horloge

Simplicit de la conception

Il est possible de consid rer des d pendances complexes, des d lais de communication, des conflits sur les ressources lors de la construction de lordonnancement statique, tout en garantissant labsence de blocage et les d lais impr dictibles

Lordonnancement entier est retenu dans une table statique

Des modes de fonctionnement diff rents peuvent tre repr sent s par diff rentes tables

Il ny a pas besoin de contr le de concurrence ou de synchronisation

Lorsque la charge de travail est la plupart du temps p riodique et lordonnancement est cyclique, les contraintes de temps peuvent tre v rifi es chaque limite de frame

Le choix de la taille du frame peut minimiser les d passements dus aux changements de contexte et les d passements de communications

L ordonnancement r alis est relativement facile valider, tester et certifier

23

<!-- Slide number: 24 -->

Inconv nients de lordonnancement par horloge

Non flexible

Toute modification du mat riel cause la re-g n ration de la table

Convient aux syst mes qui sont rarement modifi s une fois construits

Autres inconv nients :

Le temps darriv e de toutes les t ches doit tre fix

Toutes les combinaisons possibles des t ches p riodiques qui sex cutent en m me temps doivent tre connus lavance, ainsi lordonnancement combin peut tre pr -calcul

Le traitement des t ches ap riodiques est tr s primitif

24

Gestion des processus dans les systèmes d’exploitation temps réel

Systèmes d’exploitation, Ordonnancement, Informatique · course

Voir tous les documents en systèmes d'exploitation et cloud

<!-- Slide number: 1 -->

cole Nationale des Sciences de lInformatique

Chapitre 2Gestion des processus dans les syst mes dexploitation temps r el

Module : Syst mes dexploitation temps r el

Niveau : II2 Fili re Syst mes et Logiciels Embarqu s

AU : 2011/2012

<!-- Slide number: 2 -->

Plan

Aper u sur lordonnancement temps r el

Ordonnancement par horloge

Ordonnancement par priorit s

Ordonnancement avec prise en charge des ressources

Gestion des interruptions

2

<!-- Slide number: 3 -->

Hypoth ses

Lordonnancement par horloge est applicable aux syst mes d terministes

Mod le de t ches p riodiques restreint:

les param tres de toutes les t ches p riodiques sont connus a priori

pour chaque mode de fonctionnement, le syst me a un nombre fixe n de processus p riodiques

pour le processus Ti , chaque t che Ji,k est pr te pour l'ex cution son temps darriv e ri,k, et arrive pi unit s de temps apr s la t che pr c dente de Ti tel que ri,k = ri, k-1 + pi

les t ches ap riodiques peuvent exister

nous admettons que le syst me maintient une file d'attente simple pour les t ches ap riodiques

Lorsque le processeur est la disposition des t ches ap riodiques, la t che en t te de cette file d'attente est ex cut e

Il n'y a pas de t ches sporadiques

Rappel : les t ches sporadique ont des d lais dures, par opposition aux t ches ap riodiques

3

<!-- Slide number: 4 -->

Notation

Le 4-tuple Ti = (Fi, pi, ei, Di) se rapporte un processus p riodique Ti , de phase Fi, de p riode pi, de temps d'ex cution ei, et de d lai relatif Di

la phase par d faut de Ti est Fi = 0, le d lai relatif par d faut est la p riode Di = pi

Les valeurs par d faut ne sont pas mentionn es dans le tuple

Exemples :

![](Picture1.jpg)

4

<!-- Slide number: 5 -->

Ordonnancement statique cyclique par horloge

Puisque les param tres de toutes les t ches d lais dures sont connus, on peut construire une planification cyclique et statique l'avance

le temps processeur assign une t che est gal son temps d'ex cution maximum

Lordonnanceur dispatche les t ches selon la planification statique, tout en r p tant chaque hyper-p riode

Le planning statique garantit que chaque t che s'accomplit par son d lai

Aucune t che ne d passe son ex cution les d lais sont respect s

Lordonnancement est calcul offline possibilit dutilisation dalgorithmes complexes

Le temps d'ex cution de l'algorithme nest pas important

Possibilit de recherche dune planification qui optimise un certain crit re

Publicité

Ex: un programme o les p riodes vides sont presque p riodiques ; servant ainsi les t ches ap riodiques

5

<!-- Slide number: 6 -->

Exemple dordonnancement cyclique

Consid rons un syst me avec 4 processus p riodiques ind pendants:

Hyper-p riode H = 20 (ppcm (4, 5, 20, 20))

Possibilit de construire un ordonnancement statique arbitraire pour respecter les d lais

![](Picture2.jpg)

![](Picture5.jpg)

6

<!-- Slide number: 7 -->

Impl mentation dun ordonnancement cyclique

![](Picture1.jpg)

Sauvegarde de la planification pr -calcul dans une table

Le syst me cr e toutes les t ches qui seront ex cut es :

Alloue la m moire pour le code et les donn es de chaque t che

Apporte le code ex cut par la t che dans la m moire

Lordonnanceur configure le timer mat riel pour g n rer des interruptions la premi re d cision, tk=0

chaque interruption du timer linstant tk :

Lordonnanceur configure linterruption du timer pour expirer tk+1

Si T(tk) = I et une t che ap riodique est en attente, alors d marrer la t che ap riodique

Sinon, d marrer la prochaine t che du processus T(tk)

7

<!-- Slide number: 8 -->

Impl mentation dun ordonnancement cyclique

![](Picture1.jpg)

8

<!-- Slide number: 9 -->

Ordonnancement cyclique structur

Lordonnancement cyclique arbitraire table driven est flexibles, mais inefficace

N cessite des interruptions pr cises du timer

bas e sur le temps d'ex cution des t ches

En imposant une structure, limpl mentation devient plus facile

les d cisions de planification sont r alis es des intervalles p riodiques (frames) de longueur f

Ex cution dune liste fixe de t ches chaque frame, la pr emption nest prise en compte quaux limites des frames

la phase de chaque t che p riodique doit tre un multiple non n gatif du frame

La premi re t che de chaque processus est lib r e au d but d'un frame

Deux avantages :

Lordonnanceur peut facilement v rifier les d passements et les d lais manqu s la fin de chaque frame

Il est possible dutiliser des interruptions p riodiques d'horloge, plut t quun timer programmable

9

<!-- Slide number: 10 -->

Ordonnancement cyclique structur

D cision d'ordonnancement prise p riodiquement

De fa on p riodique

Publicité

Choisir la t che ex cuter

Effectuer les op ration de contr le et de suivi

Cycle principal: tendues durant une hyper-p riode

![](Picture4.jpg)

frame f

Points de d cision

![](Picture2.jpg)

10

Notes:

<!-- Slide number: 11 -->

Contraintes de la taille du frame

Soit f la longueur de l' tendue.

Comment choisir f ?

Chaque t che doit pouvoir commencer et terminer son ex cution durant le frame :

vite la pr emption

f divise l'hyper-p riode (lcm(p1, .. , pn)). Donc, f doit diviser la p riode d'au moins une t che :

r duit au minimum le nombre des entr es de lordonnancement cyclique

11

<!-- Slide number: 12 -->

Contraintes de la taille du frame

Pour permettre lordonnanceur de v rifier que les t ches finissent leurs d lais, il doit y avoir au moins une limite dans le frame entre le temps darriv e dune t che et son d lai.

Il y a au moins une tendue entre l'arriv e et le d lai de chaque t che

![](Picture9.jpg)

![](Picture4.jpg)

12

<!-- Slide number: 13 -->

Contraintes de la taille du frame

Les trois contraintes doivent tre satisfaites

13

Notes:

<!-- Slide number: 14 -->

Exemple 1 :

![](Picture6.jpg)

![](Picture6.jpg)

![](Picture6.jpg)

![](Picture5.jpg)

14

Notes:

<!-- Slide number: 15 -->

Exemple 2 :

T che P riode D lai Temps d'ex cution

i Ti Di Ci

------------------------------------------------------------

1 15 14 1

2 20 26 2

Publicité

3 22 22 3

Premi re contrainte => f est au moins 3.

Deuxi me contrainte => f est 3, 4, 5, 10, 11, 15, 20 ou 22.

Troisi me contrainte => f est 3, 4, 5, 10 ou 11.

15

Notes:

<!-- Slide number: 16 -->

D coupage de t ches

![](Picture4.jpg)

![](Picture6.jpg)

![](Picture5.jpg)

D couper T3

![](Picture8.jpg)

16

Notes:

<!-- Slide number: 17 -->

Noyau cyclique (cyclic executive)

![](Picture3.jpg)

17

Notes:

<!-- Slide number: 18 -->

Planification des t ches ap riodiques

Pour le moment, les t ches ap riodiques sont planifi es la fin des frames, apr s que toutes les t ches avec d lais durs programm es dans le frame soient accomplies

Ceci retarde l'ex cution des t ches ap riodiques en faveur des t ches p riodiques

Cependant,

g n ralement, il n'y a pas davantage accomplir une t che temps r el dure t t,

et puisqu'une t che ap riodique est r active un v nement particulier, le plus t t cette t che fini, meilleur est la r ponse du syst me

Par cons quent, r duire le temps de r ponse du syst me pour les t ches ap riodiques est typiquement un but inh rent lordonnancement temps r el

18

<!-- Slide number: 19 -->

Exemple :

![](Picture2.jpg)

![](Picture2.jpg)

Trep moyen = 4.5

![](Picture2.jpg)

Trep moyen = 2.5

19

<!-- Slide number: 20 -->

Planification des t ches ap riodiques : Slack Stealing

Les t ches p riodiques sont ordonnanc es dans les frames qui compl tent avant leurs d lais ; il peut y avoir du temps perdu (slack time) dans le frame apr s la fin dex cution des t ches p riodiques

Puisquon connait lavance le temps d'ex cution des t ches p riodiques, on peut d placer ce temps perdu au d but du frame, ex cutant les t ches p riodiques juste temps pour satisfaire leurs d lais

Ex cution des t ches ap riodiques pendant le temps perdu, avant les t ches p riodiques:

Le noyau cyclique garde le temps perdu de chaque frame pour lex cution des t ches ap riodiques, les pr empte pour lancer les t ches p riodiques lorsque le temps perdu est fini

Tant quil reste du temps perdu, dans le frame, le noyau cyclique revoie la file des t ches ap riodiques apr s la fin de chaque slice (unit )

Ceci permet de r duire le temps de r ponse des t ches ap riodiques, mais n cessite des timers tr s pr cis.

Publicité

20

<!-- Slide number: 21 -->

Ordonnancement des t ches sporadiques

Que faire si on veut prendre en consid rations les t ches sporadiques ?

Les t ches sporadiques ont des d lais durs, le temps darriv e et le temps dex cution ne sont pas connus lavance:

Par cons quent, lordonnancement par horloge ne peut pas garantir a priori que les t ches sporadiques saccomplissent dans les d lais

Cependant, le planificateur peut d terminer si une t che sporadique est planifiable quand elle arrive

R alise un test dacceptation pour v rifier si la nouvelle t che sporadique peut tre planifi e avec toutes les t ches dans le syst me

S'il y a suffisant de temps perdu dans les frames avant le d lai de la nouvelle t che, cette derni re est accept e, sinon rejet e

Si plusieurs t ches sporadique arrivent en m me temps, elles doivent tre mises dans une file dattente dans lordre EDF pour le test dacceptation

21

<!-- Slide number: 22 -->

Consid rations pratiques

Prise en compte des d passements :

Les t ches sont planifi es selon leur temps dex cution maximum, mais des checs pourraient causer des d passements

Un syst me robuste tiendra compte de cela par

Soit arr ter la t che qui d passe et g n rer une t che de r cup ration

Ou bien pr empte la t che et la planifie comme tant une t che ap riodique.

Ceci d pend de lutilit des r sultats en retard, les d pendances entre les t ches, etc...

Des processeurs multiples

Peut tre r alis , mais la g n ration de la table de planification off-line est plus complexe

22

<!-- Slide number: 23 -->

Avantages de lordonnancement par horloge

Simplicit de la conception

Il est possible de consid rer des d pendances complexes, des d lais de communication, des conflits sur les ressources lors de la construction de lordonnancement statique, tout en garantissant labsence de blocage et les d lais impr dictibles

Lordonnancement entier est retenu dans une table statique

Des modes de fonctionnement diff rents peuvent tre repr sent s par diff rentes tables

Il ny a pas besoin de contr le de concurrence ou de synchronisation

Lorsque la charge de travail est la plupart du temps p riodique et lordonnancement est cyclique, les contraintes de temps peuvent tre v rifi es chaque limite de frame

Le choix de la taille du frame peut minimiser les d passements dus aux changements de contexte et les d passements de communications

L ordonnancement r alis est relativement facile valider, tester et certifier

23

<!-- Slide number: 24 -->

Inconv nients de lordonnancement par horloge

Non flexible

Toute modification du mat riel cause la re-g n ration de la table

Convient aux syst mes qui sont rarement modifi s une fois construits

Autres inconv nients :

Le temps darriv e de toutes les t ches doit tre fix

Toutes les combinaisons possibles des t ches p riodiques qui sex cutent en m me temps doivent tre connus lavance, ainsi lordonnancement combin peut tre pr -calcul

Le traitement des t ches ap riodiques est tr s primitif

24