TP d’ordonnancement temps réel:
Réalisé par: QAIDI AYMANE
Encadré par: Pr. Rhofir/ Pr. Baghdadi
Introduction:
Cheddar est un logiciel open-source conçu pour l'analyse et la simulation de systèmes
temps réel. Il est principalement utilisé dans le domaine de l'informatique embarquée et
des systèmes critiques. Ce programme permet d'évaluer les performances et de vérifier
la faisabilité temporelle des systèmes reposant sur des modèles temps réel, tels que les
tâches périodiques, sporadiques et les files d'attente.
Exercice 1
Rate Monotonic Protocol:
édition d'un composant task
Simulation de l'ordonnancement
Exercice 2
Rate Monotonic Protocol:
édition d'un composant task
Simulation de l'ordonnancement
Earliest Deadline First Protocol:
Édition d'un composant core
édition d'un composant task
Simulation de l'ordonnancement
Exercice 3
Earliest Deadline First Protocol
édition d'un composant task
Simulation de l'ordonnancement
Least Laxity First Protocol
Édition d'un composant core
Simulation de l'ordonnancement
Exercice 4
édition d'un composant task
Édition d'une ressource partagée
Ordonnancement avec une ressource partagée
Ordonnancement avec une ressource partagée dont le protocole est pip
Analyse par tests de faisabilité
Synthèse
Question 1:
1) En général, quels sont les critères utilisés pour fixer la priorité des tâches ?
2)Déterminer les différents paramètres des tâches nécessaires à leur analyse
d'ordonnancement. Vous motiverez plus particulièrement le choix de la priorité.
Les critères pour fixer les priorités des tâches incluent :
• La période (Period) : Les tâches avec une période plus courte, c'est-à-dire
celles qui doivent être exécutées plus fréquemment, reçoivent généralement une
priorité plus élevée. Cela correspond à l'algorithme de l'ordonnancement Rate
Monotonic (RM).
• Les échéances (Deadline) : Les tâches dont les échéances sont plus proches
sont attribuées une priorité plus élevée, conformément à l'algorithme Earliest
Deadline First (EDF).
• La criticité des tâches : Les tâches critiques, qui peuvent avoir un impact
majeur sur le système en cas d'échec, se voient attribuer une priorité plus
élevée.
• Les dépendances : Lorsqu'une tâche dépend d'autres tâches, sa priorité peut
être ajustée pour éviter des blocages ou des interférences.
Les paramètres nécessaires pour analyser l'ordonnancement des tâches comprennent :
• Name : Identification de la tâche (par exemple, CAPTEUR_1).
• Capacity : Temps d'exécution maximal de la tâche.
• Period : L'intervalle entre deux exécutions successives de la tâche.
• Deadline : L'échéance maximale pour terminer l'exécution de la tâche.
• Priority : Niveau de priorité, déterminé en fonction de la période (selon
l'algorithme RM) ou de l'échéance (selon l'algorithme EDF).
Question 3 :
Lorsque les tâches partagent une ressource en exclusion mutuelle, comme une zone
de mémoire protégée par un sémaphore, elles peuvent être confrontées à plusieurs
problèmes, notamment :
Blocages : Une tâche peut être bloquée si une autre tâche de priorité inférieure
détient la ressource.
Inversions de priorité : Une tâche de haute priorité peut être retardée par une tâche
de basse priorité qui occupe la ressource.
Ces phénomènes ne sont pas pris en compte dans les calculs initiaux qui supposent
l'indépendance des tâches. En conséquence, les temps de réponse calculés ne
représentent pas les pires cas réels, car ils ne tiennent pas compte des effets de
l'attente liée à l'accès à la ressource partagée.
Conclusion
Ce travail pratique sur l'ordonnancement temps réel nous a permis de maîtriser et
d'appliquer les concepts clés de la planification dans les systèmes critiques. À l'aide du
simulateur Cheddar, nous avons pu modéliser, analyser et comparer plusieurs
algorithmes d'ordonnancement, tels que Rate Monotonic (RM), Earliest Deadline First
(EDF) et Least Laxity First (LLF), tout en étudiant leurs avantages et leurs limites dans
différents scénarios.