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.
Description
Le cours comporte un certain nombre de sections concernant l’organisation d’un système d’exploitation, la notion de processus / tâche, la gestion de la mémoire, l’ordonnancement de tâche, la programmation système couvrant la synchronisation par événement, programmation
multithreads, partage de donnée et synchronisation par sémaphores et moniteurs. Ce cours s’accompagne d’exemples et de la pratique de ces concepts sur Unix-Linux 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, (2) la mise en œuvre des applications multiprocessus et réactives (signaux logiciels), et (3) la mise en œuvre des applications multithreads avec l’utilisation de mécanisme de synchronisation par sémaphores.
Pré-requis obligatoires
Une bonne connaissance de l’algorithmique et de la programmation en C sont absolument nécessaires.