I.5.2.3. Modèle d'exécution et
d'ordonnancement
Un système temps réel est un système
multitâche où chaque tâche est soumise à des
contraintes temporelles. L'architecture logicielle multitâche est aussi
vue comme étant un ensemble des tâches communicantes,
synchronisées et partageant des ressources critique qui sont souvent
très limitées. Ainsi fait-il appel à l'ordonnancement pour
une bonne gestion de ces ressources.
Pour permettre une bonne gestion de ces ressources et une
bonne synchronisation des tâches, il s'avère nécessaire de
connaitre les différents états d'une tâche.
13
BLOQUE
ELU
PRET
T.F.E 2015 | Benito Lubuma L2 Génie info
Figure I. 5 les états d'une tâche
Une tache est dite en état :
? Bloqué : lorsque cette tâche a
été exécutée mais ne peut pas poursuivre son
exécution suite à une raison logique.
? Elu : lorsqu'elle est en cours
d'exécution, elle peut être arrêtée même si
elle peut poursuivre son exécution.
? Prêt : il s'agit de l'état
d'une tâche qui a été suspendue provisoirement afin de
permettre l'exécution d'une autre tâche, ou une tâche qui
attendait les données et vient de les recevoir mais, constate que le
processeur est toujours occupé par une autre tâche.
L'invocation d'un ordonnanceur est sollicitée lorsqu'il
y a soit l'arrivée d'une tâche dans la liste des tâches
prêt à exécuter, soit lorsque une tâche passe d'un
état élu à état bloqué.
L'ordonnancement est un point crucial des systèmes
temps réel car il va déterminer le comportement temporel et
être le garant du respect des contraintes temporelles imposées
lors de l'exécution de l'application.
Sachant que toutes les tâches ne peuvent pas
s'exécuter toutes de la même façon, on fait appel à
la priorité des tâches qui permet à l'ordonnanceur d'avoir
des informations sur une tâche pour lui permettre de la classer selon un
ordre bien défini.
D'où nos deux types de priorité qui est la
priorité variable et la priorité fixe. Une priorité est
dite fixe lorsqu'une tâche hérite des priorités de la
tâche mère.
Une priorité est dite variable lorsque son
fonctionnement dépend de la fonction de temps d'attente. Dans un
système temps réel une tâche ne peut jamais être
bloquée par une tâche de priorité plus basse qu'elle. Une
tâche ne cède la main à une autre tâche de même
priorité que volontairement. On peut prévoir le comportement d'un
système temps réel si on connait certaines
caractéristiques des tâches telles que :
? La loi d'arrivée et ;
? Le temps de traitement.
T.F.E 2015 | Benito Lubuma L2 Génie info
14
|