Cours Temps Réel
LT LA SALLE Page 5 / 21 ©TV.BTSii.2001
Un ordonnancement statique à base de priorités peut se dérouler de deux façons
distinctes :
ordonnancement sans préemption : lorsque le processeur est inactif, la tâche
prête de plus haute priorité sera choisie pour être exécutée. Une fois choisie, elle
s'exécute jusqu'à ce qu'elle soit terminée.
ordonnancement avec préemption : lorsque le processeur est inactif, la tâche
prête de plus haute priorité sera choisie pour être exécutée. A chaque instant cette
tâche peut être préemptée (remplacée) par n'importe quelle tâche plus
prioritaire qui serait devenue prête.
Dans les systèmes temps réel, il existe une convention qui consiste à prendre la valeur 0
comme étant la priorité absolue. Donc, une tâche de priorité 1 est plus prioritaire (plus
urgente) qu'une tâche de priorité 2, ...
La préemption intervient au niveau processeur.
4 . 4 . Les interruptions
Une IT est provoquée par la validation d’une ligne nommée généralement IRQ (Interrupt
ReQuest).
Le traitement général d’une IT :
- fin du traitement en cours
- prise en compte de l’IT
- traitement de l’IT
- retour au traitement interrompu.
La gestion des IT est une caractéristique essentielle d’un exécutif TR.
Le masquage des interruptions est un autre moyen propre à assurer un certain
déterminisme et intervient au niveau processeur. Ce moyen est donc totalement
indépendant de la préemption.
On distingue alors :
Dans un ordonnancement non préemptif, les interruptions ne sont pas masquées.
Par contre, lors du masquage des IT, le système est, par la force des choses, dans un
mode non préemptif.
Le masquage des IT peut être provoquée de deux manières :
soit par l'arrivée d'une IT où le masquage est réalisé par le processeur lui-même.
soit à la demande de l'exécutif, auquel cas il s'agit d'une section de code
critique (souvent réduite à quelques instructions)..