Vous êtes sur la page 1sur 15

Chapitre N°03 :

Ordonnancement des tâches

• Modélisation des tâches


• Algorithme d’ordonnancement
• Obtention de tests de faisabilité d’ordonnancement
• Algo à priorité fixe sans partage de (RM – DM)
• Algo à priorité dynamique sans partage (EDF – LLF)
• Ord_ tâche apériodique (serveur : scrutation -
ajournable)

06-11-2019
Architecture (Structure) des STR
Modélisation des tâches

1. Modèles d’exécution et Ordonnancement


L’ architecture logicielle (STR) peut être vue comme un ensemble de tâches
synchronisées, communicantes et partageant des ressources critiques.

Le rôle essentiel du système informatique est donc de gérer l’enchaînement


et la concurrence des tâches en optimisant l’occupation du processeur,
• Cette fonction est appelée l’ordonnancement

L’ordonnancement détermine les caractéristiques temporelles et


garantie le respect des contraintes de temps imposées à l’exécution
de l’application.
Modélisation des tâches
2. Notion de tâches temps réel (type de tâche)
Les tâches doivent respecter des délais critiques imposés par les dynamiques de
l’environnement à contrôler.
Tâche périodique : caractérisé par les paramètres temporels suivants :

• Date de réveil : l’instant de l’activation de la tâche


• Durée d’exécution : égale à la borne supérieure du temps processeur
nécessaire à l’exécution de la tâche,
• Délai critique : intervalle de temps nécessaire à respecter lors l’exécution de la
tâche.
• Période : intervalle de temps fixe séparant les arrivées successives des instances de
la tâche.

Ce paramètre concerne les tâches


activées par un signal périodique
provenant d’une horloge temps réel
interne,
exemple : Acquisition de données.
Modélisation des tâches

Tâches apériodiques : La date de réveil n’est pas connue avant la mise en


exploitation du système.

Tâche sporadique : similaire à la tâche périodique à l'exception que Pi


correspond à la durée minimum qui sépare deux arrivées successive de la
tâche Ti.

Remarque :
• les tâches périodiques assurent le déroulement normal des fonctions de
commande du procédé,
• les tâches apériodiques traitent les alarmes et les états d’exception.
Algorithme d’ordonnancement
Problématique
Ressources du Système Informatique : le processeur, qui assure la simultanéité d’accès.
 avant l’attribution du processeur à une tâche, l’ordonnanceur effectue une sélection
parmi les tâches coexistant en mémoire.

 La sélection se fait en fonction des paramètres définis à l’avance comme la périodicité


de la tâche ou son échéance.

La compétition pour l’accès à une ressource critique est un problème classique connu sous
le nom d’exclusion mutuelle, pour lequel il existe une variété de solutions plus ou moins
complexes.

Dans le domaine du temps réel, il s’agit de :


• Garantir l’accès exclusif aux ressources critiques (qui est le rôle de l’exécutif temps réel)
• Minimiser le temps d’attente pour l’accès aux ressources, pour ne pas dépasser
l’échéance.
Algorithme d’ordonnancement
Ordonnancement
L'ordonnancement est le mécanisme permettant de choisir la tâche à exécuter par le processeur à un
instant donné. L'algorithme qui va effectuer ce choix est appelé l'ordonnanceur (scheduler).

Il existe deux manières d'appeler cet ordonnanceur:


- appels à intervalle régulier (par exemple à chaque unité de temps);
- appels basés sur des évènements comme l'arrivée, la fin d'exécution ou l'échéance d'un travail

Critères à définir pour un algorithme d’ordonnancement :


1. Préemptif / non préemptif : Un algorithme d’ordonnancement est :
Non préemptif: si toute tâche qui commence son exécution doit être achevée avant qu’une autre
tâche obtienne le processeur.
• Faciles à mettre en œuvre ; faible coût puisque les changements de contexte sont minimisés
et il n’y a pas lieu de gérer l’accès concurrent aux ressources critiques

Préemptif: si une tâche est interrompue au profit d’une autre, la reprise se fait ultérieurement.
• Plus efficaces - exécution parallèle des tâches- liberté pour choisir une solution d’ordonnancement.
Algorithme d’ordonnancement
Ordonnancement

Préemptif: si une tâche peut être interrompue au profit d’une autre et être reprise ultérieurement.
• Plus efficaces - exécution parallèle des tâches- liberté pour choisir une solution
d’ordonnancement.

Reprise après
préemption préemption
Algorithme d’ordonnancement
2. Hors ligne / en ligne : Un algorithme d’ordonnancement est dit :

Hors ligne : les tâches et leurs caractéristiques temporelles sont connues avant le
démarrage de l’application. La construction d’une séquence d’exécution des tâches
respectant les contraintes temporelles est possible et l’ordonnanceur est appelé
répartiteur(séquenceur) qui ne fait que lancer les tâches dans l’ordre dicté par la
séquence.

En ligne : la séquence d’exécution est construite au fur et à mesure uniquement avec


les tâches prêtes à l’instant courant ; ce qui permet la prise en compte et l’exécution
des tâches apériodiques.

Remarque :
1. L’ordonnanceur est l’une des fonctions principales de l’exécutif temps réel.
2. Une séquence d’exécution est dite VALIDE si toutes les tâches se sont exécutées dans
le respect de leurs contraintes temporelles et de ressources.
Algorithme d’ordonnancement
3. Conduit par la priorité

Un algorithme d’ordonnancement est conduit par la priorité s’il exécute à chaque


instant la tâche la plus prioritaire.
La priorité est :
• Affectée par le concepteur de l’application en fonction de la criticité des tâches ;
• Assignée de manière automatique en fonction d’un paramètre temporel
caractérisant les tâches telles que la période ou l’échéance qui reflètent l’urgence et
non l’importance de la tâche au sens applicatif.

Les algorithmes sont classés suivant le type de la priorité établie entre les tâches,
fixe ou dynamique.
1. Priorité fixe : l’algorithme affecte, à chaque tâche, une priorité qui reste constante
durant l’exécution de cette dernière.

2. Priorité dynamique : l’algorithme recalcule la priorité des tâches durant leur


exécution.
Tests de faisabilité d’ordonnancement

1. Condition nécessaire de validation

Pour une configuration donnée, nous définissons le facteur d’utilisation U


comme étant le pourcentage d’utilisation du processeur par les tâches
périodiques:

𝑪𝒊
𝑼=
𝑷𝒊
𝒊
Il n’est pas possible d’utiliser le processeur au-delà de ses capacités :
dépasser un taux d’occupation de 100%:
 la condition nécessaire pour une configuration de tâches périodiques :

U<1
Algorithme à priorité fixe sans partage (RM – DM)
2. Algorithme Rate Monotonic (RM)
Liu et Layland, ont proposé l’algorithme du Rate Monotonic, qui est à la base
des théories sur l’ordonnancement des tâches périodiques. Il peut être utilisé,
pour ordonnancer des tâches sur un processeur.
Principe de l’algorithme :
« La priorité d’une tâche est inversement proportionnelle à sa période.
La grande priorité est associée à la tâche de plus petite période,
les tâches de même période, leur priorité est fixée aléatoirement »
NB : cet algorithme est, optimal pour les tâches à échéance sur requête (Pi = Di).
*Théorème (Rate Monotonic) [LL 73] :
Toute configuration de n tâches périodiques à échéance sur requête est
ordonnançable par RM si :
𝑛
1
𝐶𝑖 𝑃𝑖 ≤ 𝑛. 2 𝑛 −1
𝑖=1
* La condition est suffisante mais pas nécessaire. 12
Algorithme à priorité fixe sans partage (RM – DM)
Exemple 1 [SB 03] :
Soient deux tâches A et B dont les caractéristiques
sont : A (0, 6, 2, 6), B (0, 5, 3, 8) (ri,Di,Ci,Pi)
La priorité de A est supérieure à celle de B car la
période de A est inférieure à celle de B.
Déroulement de la séquence d’exécution :
la séquence est valide (Figure )

Exemple 2 :
Soient les tâches A, B, et C, dont le triplet les caractérisant est respectivement :
(0, 3, 20) ; (0, 2, 5) ; (0, 2, 10). (r, C, P=D).
Suivant l’algorithme RM, priorité(B) > priorité(C) > priorité(A) ; n=3

13
Algorithme à priorité fixe sans partage (RM – DM)
3. Algorithme Deadline Monotonic (DM)

Il associe la plus forte priorité à la tâche de plus petit délai critique.


La condition suffisante d’ordonnançabilité pour cet algorithme est :

𝑪𝒊
<1
𝑫𝒊
𝒊

Propriété

Optimal dans la classe des algorithmes à priorités fixes pour des tâches
périodiques indépendantes à échéance ≤ période

14
Conclusion

… à venir

Algo à priorité dynamique sans partage


(EDF – LLF)
Ordonnancement des tâche apériodiques

Vous aimerez peut-être aussi