Systèmes d'Exploitation Avancés
Responsable du Cours
Stéphane Lavirotte
Intervenants (2017-2018)
- Stéphane Lavirotte (Université Nice - Sophia Antipolis)
Résumé
Le but de ce cours est de présenter le fonctionnement interne des systèmes d'exploitation. Pour rendre les choses plus concrètes et afin de faire la part belle à l'expérimentation pratique, nous utiliserons principalement le système GNU/Linux.
Après une présentation rapide de l'architecture d'un système d'exploitation, nous étudierons et mettrons en pratique le développement de modules et de pilotes, les systèmes de fichiers classiques et incrémentaux, les structures de données spécifiques au noyau. Ce cours fait suite au cours ISLE de 4ème année (Introduction aux Systèmes et Logiciels Embarqués) en descendant plus en profondeur dans les mécasnimes de fonctionnement d'un noyau.
Objectifs
L'objectif est de permettre aux étudiants de maitriser les concepts avancés des systèmes d'exploitation avec un orientation pour l'informatique embarquée. Ils découvriront les arcanes d'un système d'exploitation et apprendront à l'adapter à leurs besoins spécifiques pour le maquettage de nouveaux dispositifs de l'intelligence ambiante.
Contenu
Le cours se déroule sur 8 semaines (8 x 4h = 32h) et est divisé de la manière suivante:
- Introduction, Architecture et Prise en main du Noyau, S. Lavirotte (Cours 2h, TD 2h)
- Ajout de fonctionnalités au noyau: les modules, S. Lavirotte (Cours 1h, TD 3h)
- Pilote de périphériques, S. Lavirotte (Cours 1h, TD 3h)
- Développement de pilotes de périphériques logiciels, S. Lavirotte (TD 4h suite semaine précédente)
- Pilote matériel et protocole USB, S. Lavirotte (Cours 1h, TD 3h)
- Développement de pilotes de périphériques logiciels, S. Lavirotte (TD 4h suite semaine précédente)
- Processus et Ordonnancement, S. Lavirotte (Cours 1h30, TD 2h30)
- Mémoires et Systèmes de fichiers, S. Lavirotte (Cours 2h, TD 2h)
Ressources
L'ensemble des ressources nécessaires pour les TD et les corrections peuvent être trouvées à l'adresse suivante:
Pré-requis pour ce cours
- Maîtrise du langage C (pas de programmation en assembleur).
- Connaissance Systèmes Unix