Systèmes Intelligents Autonomes

Responsable du Cours

Stéphane Lavirotte

Intervenants (2020-2021)

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.

Accès au Moodle du Cours Systèmes Intelligents Autonomes (accès restreint aux étudiants suivant le cours).

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 USB, S. Lavirotte (TD 4h suite semaine précédente)

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