Académique Documents
Professionnel Documents
Culture Documents
06-11-2019
Architecture (Structure) des STR
Modélisation des tâches
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 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.
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.
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é
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.
𝑪𝒊
𝑼=
𝑷𝒊
𝒊
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)
𝑪𝒊
<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