Systèmes temps réel [T8ES522M]

Systèmes temps réel [T8ES522M]

En pratique

Nature
Elément constitutif
Volume horaire de TP
12
Volume horaire de TD
12
Volume horaire de CM
12
Volume horaire de travail personnel
24
Langue d'enseignement
Français

Description du contenu de l'enseignement

Ce cours englobe les bases fondamentales de la programmation temps réel lorsque le programmeur doit concevoir à partir de zéro des applications où un système informatique centralisé contrôle un environnement (processus physique auquel il est connecté) pour contrôler son comportement en temps réel.

Des cas d'étude pratiques de complexité croissante permettent aux étudiants d'acquérir à la sortie une approche solide qui leur permettra ensuite de traiter des cas pratiques réels et de mettre en œuvre une solution optimisée en toute autonomie

Organisation

Modalités d'organisation et de suivi

A – Exécutif multi-tâches temps-réel
•    Les besoins applicatifs (spécification, conception, validation) - définition(s) du temps-réel,
•    Les paradigmes synchrone / asynchrone – les différentes possibilités pour l’interaction avec milieu extérieur - les problèmes posés par l’approche asynchrone (partage de ressources, synchronisation entre tâches, gestion du temps, interblocage, famine),
•    Les structures possibles de noyaux,
•    Le noyau VxWorks (la politique d’ordonnancement, les sections critiques, l’inversion de priorité, l’héritage de priorités, la communication inter-tâches, la mémoire partagée, les sémaphores, les files de messages, les tubes, les signaux logiciels, les interruptions, les watchdogs / timers, les entrées / sorties, le développement croisé, les primitives du noyau)
B – Ordonnancement
•    Le modèle canonique des tâches (périodiques, sporadiques ou apériodiques, à contraintes temporelles strictes ou relatives),
•    Les notions de configuration de tâches, de facteur d'utilisation du processeur, de facteur de charge du processeur, de configuration ordonnançable, d’algorithme optimal, de séquence valide, de période d’étude,
B1 - L’ordonnancement de tâches périodiques indépendantes:
•    Les algorithmes en ligne à priorité constante (Rate Monotonic, Inverse Deadline),
•    Les algorithmes en ligne à priorité variable (Earliest Deadline, Least Laxity),
•    L’évaluation du temps de réponse
B2 - l’ordonnancement des tâches apériodiques indépendantes à contraintes relatives:
•    Le traitement d'arrière-plan, le serveur de tâches - par scrutation, ajournable, sporadique-,
•    La méthode de l'ordonnancement conjoint,
B3 - L’ordonnancement des tâches apériodiques indépendantes à contraintes strictes: pseudo-période, routine de garantie
B4 - L’ordonnancement de tâches liées par des contraintes de précédence, par des contraintes de ressources (inversion de priorités, héritage de priorité, priorité plafonnée),
B5 - L’ordonnancement de tâches périodiques et apériodiques avec prise en compte des surcharges.

 

Informations pédagogiques

Compétences à acquérir

  • Acquérir une compréhension générale d’un exécutif multi-tâches,
  • Couvrir les bases fondamentales de la programmation dite temps réel et les politiques d’ordonnancement les plus usuelles pour faire face à des situation de développement d’applications logicielles soumises à des contraintes temporelles strictes,
  • Illustrer une démarche méthodologique (contenu du cours de méthodologie T8ES512M) de conception d’un système embarqué (partie logicielle),
  • Réaliser une étude complète à partir d’un cahier des charges.

Pré-requis recommandés

  • Unix
  • Langage C
Dernière modification : mar, 05/01/2021 - 11:42