Vous êtes sur la page 1sur 10

Prof. M.

Boulemden 1/10
.

Fonctionnalités des Systèmes


d’Exploitation Temps Réel SETR
Real-Time Operating Systems
(RTOS)

A. Ordonnancement
L’ordonnancement constitue une fonctionnalité essentielle
de tout systè me d’exploitation temps ré el dé nommé RTOS
ci-aprè s.

Ressources
Nous savons que, d’une maniè re gé né rale, tout processus
requiert des ressources pour son exé cution. Or, dans un
systè me de contrô le temps ré el, les ressources sont
limité es et, ce qui complique davantage les choses,
plusieurs processus sont lancé s en mê me temps. C’est là le
concept de systè me multitâche.
Les ressources repré sentent tout ce qu’un processus
né cessite pour son exé cution. La mé moire, les
pé riphé riques, les fichiers programmes et donné es mais
aussi, et surtout, le processeur lui-mê me sont des cas
d’exemples de ressources. La figure 1 ci-dessous illustre
une esquisse que ce que peut ê tre une gestion multitâ che.
Dans un pareil contexte, on a besoin de dé cider quel
processus passe en premier en phase d’exé cution.
L’ordonnanceur (Scheduler) a donc la tâ che ingrate de
Prof. M. Boulemden 2/10

dé cider quel processus peut prendre le contrô le du


processeur. Les autres processus doivent attendre leur
tour dans une file d’attente (Queue).

Ressource Ressource Ressource


1 2 n

Processeur

Processus Processus Processus


1 2 k

Fig. 1. Esquisse d’un STR

Politique d’Ordonnancement  
A la base, il y a donc ce qu’on peut appeler une « politique
d’ordonnancement » qui consiste à dé cré ter un certain
nombre de rè gles pour une gestion optimale des
ressources disponibles. Ces rè gles peuvent ê tre statiques
ou dynamiques selon le type de RTOS.
Prof. M. Boulemden 3/10

Paradigmes Statiques ou Dynamiques


L’approche statique impose les mê mes rè gles et
paradigmes tout au long de l’é volution du systè me.
L’approche dynamique en revanche, se donne la liberté
d’ajuster les paramè tres, la priorité par exemple, en cours
de l’é volution de la gestion des processus.

Préemption
Une notion importante à se rappeler est qu’un RTOS peut
ê tre préemptif ou non préemptif. La notion de
préemption ré fè re à la capacité du systè me d’exploitation
de retirer le processeur, ou toute autre ressource, au
processus en cours d’exé cution. La plupart, pour ne pas
dire pratiquement tous les RTOS, pré sentent un caractè re
pré emptif d’une maniè re ou d’une autre car il est rarement
accepté de laisser une quelconque tâ che d’un processus se
comporter à sa guise.

Tâche
Ce qui nous amè ne au concept de « tâche » dans un RTOS.
Une tâ che est une suite d’opé rations à exé cuter sous-
tendues par un programme. Mais un programme est une
entité repré senté e par un semble d’instructions stocké es
quelque part en mé moire. On parle alors de tâ che au
moment où le programme en question se met en
exécution. D’un point de vue d’un informaticien, une
tâche est donc un programme en exécution par
opposition à un programme qui reste une entité figé e
stocké e en mé moire.
Prof. M. Boulemden 4/10

Contexte d’une tâche


Une tâ che est caracté risé e essentiellement par :

 Un numé ro de tâ che,
 Une priorité ,
 Une zone de mé moire programme,
 Une zone de mé moire données,
 Une zone de mé moire pile,
 Autres.
Ces paramè tres et autres sont stocké s en mé moire et
repré sente ce qu’on appelle le « contexte » d’une tâ che.
Lorsque l’ordonnanceur suspend une tâ che et lance une
autre, il doit sauvegarder le contexte de la tâ che
suspendue et ré cupè re celui de la tâ che élue. Les é tats
« suspendu » et « é lu » font partie des é tats possibles
d’une tâ che tout au long de son é volution.
Task
Evolution

Wake Launch Complete Deadline

Task in Wait Computer Laxity Time


Queue Time Time (Temps de Marge)
Cj

Processor
Control
Time
Evolution
tref tw ts te td
Fig. 2.5Evolution d’une tâche
Prof. M. Boulemden 5/10

En effet, une tâ che peut se trouver dans diffé rents é tats


notamment les é tats « prê t », « é lu », « en exé cution »,
« bloqué  » ou « suspendu ».

La figure 2 propose une visualisation des diffé rentes


phases de l’é volution d’une tâ che avec mention des temps
de transition caracté ristiques d’une tâ che. Dans ce qui suit,
nous allons passer en revue ces paramè tres.

Task in Queue  : [tref, tw]

tref : Temps initial de ré fé rence. Il constitue le temps de


ré fé rence par rapport auquel tous les autres temps sont
compté s.

tw : Wake Time. C’est le temps de « ré veil ». La tâ che est


prê te à ê tre exé cuté e. Cependant, l’exé cution n’est pas
forcé ment immé diate. Il peut se passer un certain temps
avant qu’elle ne prenne ré ellement possession du
processeur, ne serait-ce que le temps de changement du
contexte.

Wait Time : [tw, ts]

ts : Start Time. C’est l’instant où la tâ che prend


effectivement possession du processeur.

Computer Time  : [ts, te]

te : End Time. C’est le temps d’achè vement de l’exé cution


de la tâ che. Ce temps processeur peut ê tre consommé en
une seule phase si la tâ che n’est pas interrompue et en
plusieurs phases en pré sence d’interruptions. Le temps :

Cj= te-ts(temps de remplissage)


Prof. M. Boulemden 6/10

Repré sente un des paramè tres les plus importants au


regard du RTOS.

Laxity Time: [te, td]

td : Deadline Time. C’est le temps d’é ché ance ultime au-


delà duquel les ré sultats de la tâ che deviennent en
quelque sorte irrecevables du fait du dé passement de
l’é ché ance temporelle. Ce temps repré sente la clé de voû te
des systè mes temps ré el. Notons qu’il est impé ratif que
l’iné galité ci-dessous soit toujours vé rifié e.

td - te >= 0

Certains algorithmes d’ordonnancement font ré fé rence à


ce temps dans leur maniè re de gé rer les priorité s des
tâ ches. On peut citer notamment les algorithmes EDF
(Earliest Deadline First) et LLF (Least Laxity First). On
aura probablement l’occasion d’en parler plus loin dans le
cours.

B. Algorithmes
d’Ordonnancement

Nous passer en revue un certain nombre d’algorithmes


d’ordonnancement. Des exemples pratiques illustratifs
vous aideront à bien fixer vos idé es concernant ces modes
de fonctionnement.

First Come First Served (Premier Venu Premier Servi)

Comme son appellation le suggè re, cet algorithme ne tient


compte que de l’instant d’arrivée de la tâ che. Aucun autre
Prof. M. Boulemden 7/10

paramè tre n’est pris en considé ration sauf bien entendu


les exceptions systèmes que l’ordonnanceur doit
absolument traiter faute de quoi l’inté grité du systè me
pourrait ê tre menacé e.

Round Robin

Cet algorithme applique un é galitarisme strict dans la


gestion des tâ ches. Son mode opé ratoire est illustré ci-
aprè s :

 On alloue à chaque tâ che un temps d’exé cution T,


souvent appelé Quantum, pré alablement fixé par
l’ordonnanceur.

 Si cette tranche de temps est suffisante à la tâ che


pour s’exé cuter complè tement, c’est tant mieux et on
passe à la tâ che suivante.

 Sinon, la tâ che en cours d’exé cution est interrompue


et placé e en dernière position dans une file
d’attente (Queue).

 On passe alors à la tâche suivante.

 Et ainsi de suite jusqu’à ce que toutes les tâ ches


soient complè tement exé cuté es.

Il convient de tenir compte du temps né cessaire au


changement du contexte. En effet la sauvegarde du
contexte de la tâ che interrompue et la ré cupé ration de
celui de la tâ che à lancer ré sultent en une perte de temps
dont il faudrait tenir compte dans les calculs de l’é volution
des processus.
Prof. M. Boulemden 8/10

Simple Priority

L’algorithme à priorité simple requiert que chaque tâ che


ait sa priorité. La tâ che dont la priorité est la plus élevée
parmi les tâ ches prê tes est alors lancé e. L’exé cution
continue jusqu’à l’achèvement de la tâ che sauf si une
autre tâ che encore plus prioritaire devient prê te, auquel
cas, la tâ che en exé cution est interrompue.

Ce processus continue jusqu’à achè vement de toutes les


tâ ches.

C. Exercices

Soient trois tâ ches comme indiqué sur le tableau ci-


dessous :

Task Cj (ms) Priority Order Deadline (ms)


T1 4 3 Low 5
T2 8 1 High 9
T3 6 2 Medium 7

On suppose que le changement de contexte tc du systè me


est :
Te-ts=cj=4
Td=5
Td-cj=1
td - te >= 0

tc = 0.1 ms
Et le Quantum :

T = 1 ms
Prof. M. Boulemden 9/10

1. Appliquez les trois algorithmes ci-dessus décrits et


remplissez le tableau ci-dessous pour chaque
algorithme.

2. Faites apparaître l’évolution des tâches sur un


organigramme temporel.

3. Faites vos commentaires.

Task ts te Duration
T1
T2
T3
Total Duration
Prof. M. Boulemden 10/10

Cet exercice sera noté et contribuera à la


note finale.

Vous aimerez peut-être aussi