Programmation Temps Réel
Objectifs
Introduction aux concepts de base et aux architectures des noyaux temps-réels (notion de thread et d’ordonnancement, sections critiques et synchronisation par sémaphore et moniteurs). Illustration des techniques de base d’ordonnancement par des algorithmes à priorité fixe, fondements de l'analyse d'ordonnancement.
Description
Le module se compose d’un cours (de 10h) et d’un travail personnel sous forme de bureau d’étude (de 10h). Le cours adresse les thèmes suivants :
– Introduction aux concepts de base des noyaux temps-réels (gestion mémoire, threads et ordonnancement, synchronisation, gestion du temps)
– Caractéristiques générales des mécanismes de synchronisation et primitives de base (sections critiques, exclusion mutuelle, sémaphores, modèles)
– Principe de l’ordonnancement et de la prise en compte des échéances (algorithmes à priorité fixes, introduction à l’analyse d’ordonnancement et au calcul des temps pire d’exécution)
– Exemples et utilisation pratique de noyaux temps-réel.
Le bureau d’étude correspond à un travail personnel en groupe portant sur l’analyse et l’utilisation de noyaux temps-réels dans des applications industrielles.
Compétences visées
Maîtrise des techniques de synchronisation
Ordonnancement à priorité fixe
Techniques d'analyse d'ordonnancement
Pratique d'un noyau temps-réel et application
Bibliographie
Polycopiés ENSEEIHT, support de cours M. Fabre, M. Roy, M. Lauer ; « Scheduling in Real-Time Systems », F. Cottet, J. Delacroix, C Kaiser et Z. Mammeri, Wiley Eds. (2002).
« Hard Real Time Computing Systems », G. Buttazzo, Springer Eds, 3rd edition, ISBN 9781461406754, 1997.
Pré-requis nécessaires
Principes des systèmes d'exploitation, programmation en C / C++
Contact(s)
Lieu(x)
- Toulouse