Composante
École Nationale Supérieure d'Électrotechnique d'Électronique d'Informatique d'Hydraulique et des Télécommunications
Objectifs
L’objectif du cours est une introduction aux concepts de base, l’organisation et aux services fondamentaux d’un système d’exploitation. Le focus est une description des services de base d’un noyau de système d’exploitation dans le but de découvrir et de pratiquer la programmation multi-tâches réactive et parallèle dans un système d’exploitation temps réel utilisé dans le domaine automobile.
Description
Le cours propose la description de l’organisation d’un système d’exploitation, la notion de processus / tâche, l’ordonnancement de tâche avec un focus sur l’exécution de tâches temps réel, la programmation multithreads avec partage de données et synchronisation par moniteurs. Ce cours s’accompagne d’exemples et de la pratique de ces concepts sur Unix-Linux et OSEK-TrampolineOS dans le cadre de bureaux d’études. Trois bureaux d’étude proposent aux étudiants de découvrir (1) le Shell et les commandes de base d’Unix/Linux, (3) la mise en œuvre des applications multithreads avec l’utilisation de mécanisme de synchronisation par moniteurs et la programmation d’une application temps réel de contrôle d’un pendule inversé sur un robot Lego Mindstorm utilisant OSEK-TrampolineOS.
Pré-requis obligatoires
Une bonne connaissance de l’algorithmique et de la programmation en C sont absolument nécessaires.
