Matière
Système et programmation temps-réel
Description
Cet enseignement présente les concepts fondamentaux des applications « temps-réel » : ordonnancement, analyse d’ordonnancement, tâches périodiques et apériodiques, inversion de priorité, dépendances entre tâches. Leurs mises en œuvre sont illustrées par des travaux pratiques utilisant les extensions temps-réel de la norme POSIX, sur une architecture classique et sur une plateforme embarquée.
Compétences requises
À l'entrée de cette UE, un étudiant devrait savoir :
maîtriser la programmation système sous Linux,
écrire des programmes complexes dans un langage impératif,
connaître les mécanismes fondamentaux d’architectures des systèmes et des ordinateurs (principes des processeurs et des mémoires).
Compétences visées
À l'issue de cet enseignement un étudiant saura :
mettre en œuvre les concepts des applications temps réel (analyse et conception),
écrire une application complexe respectant des contraintes temps réel,
choisir une méthode d'ordonnancement temps-réel appropriée selon le contexte d'une application et d'une architecture,
déployer une application temps réel sur un système embarqué.
Discipline(s)
- Informatique
Syllabus
Les principaux concepts des systèmes temps-réel sont étudiés :
Types de tâches : tâches périodiques, tâches apériodiques, serveurs de tâches apériodiques.
Stratégies d’ordonnancement temps-réel : high priority first, rate-monotonic, earliest deadline first, least laxity first.
Méthodes d’analyse d’ordonnancement : taux d’utilisation du processeur, analyse rate-monotonic, analyse itérative basée sur le théorème de la zone critique.
Techniques d’ordonnancement sous contraintes de dépendances.
Protocoles de minimisation de l’inversion de priorité.
Pratique des extensions temps-réel de la norme POSIX.
Déploiement sur plateforme embarquée et cross-compilation.
Bibliographie
Introduction aux systèmes temps réel, Christian Bonnet et Isabelle Demeure, Hermès Science
POSIX 4, Programming for the real world, Bill O. Gallmeister, O'Reilly & Associates, Inc