Systèmes et Applications Embarqués

Responsable du Cours

Stéphane Lavirotte

Intervenants (2015-2016)

Résumé

Le but de ce cours est de présenter le fonctionnement interne des systèmes d'exploitation en vue de le déployer et de l'optimiser pour des cibles particulières (téléphones portables, kit de développement, etc.). 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 la virtualisation de systèmes, le développement de modules et de pilotes, les systèmes de fichiers classiques et incrémentaux, l'adaptation d'un système à une cible contrainte et spécifique. Une expérimentation réelle sur cible embarquée viendra compléter l'apprentissage. Ces éléments fondamentaux d'un système d'exploitation seront complétés par une introduction aux systèmes sans OS et avec OS temps réel et au développement sur une cible .NET Micro Framework.

Objectifs

L'objectif est de permettre aux étudiants de maitriser les concepts avancés des systèmes d'exploitation 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'informatique ambiante.

Contenu

Le cours se déroule sur 16 semaines (16 x 4h = 64h) et est divisé de la manière suivante:

  • Introduction et architecture, S. Lavirotte (Cours 3h, TD 1h)
  • Prise en main du noyau Linux, S. Lavirotte (TD 4h)
  • Ajout de fonctionnalités au noyau: les modules, S. Lavirotte (Cours 1h, TD 2h)
  • Pilote de périphériques, S. Lavirotte (Cours 2h, TD 2h)
  • Développement de pilotes de périphériques logiciels, S. Lavirotte (TD 4h suite semaine précédente)
  • Ordonnancement et Processus, S. Lavirotte (Cours 1h, TD 2h)
  • Mémoires et Systèmes de fichiers, S. Lavirotte (Cours 1h30, TD 2h)
  • Développement de pilotes de périphériques matériels, S. Lavirotte (TD: TD 4h)
  • GNU/Linux et Applications libres pour systèmes embarqués, S. Lavirotte (Cours 1h, TD 3h)
  • GNU/Linux et Compilation Croisee, S. Lavirotte (Cours 1h, TD 3h)
  • Déploiement d'un système embarqué (NSLU2), S. Lavirotte (Cours 1h, TD 3h)
  • Optimiser un système, S. Lavirotte (Cours 1h, TD 3h)
  • Micro-contrôleurs sans OS, J. DeAntoni Cours 2h, TD 2h)
  • Micro-contrôleurs avec OS: RTOS, J. DeAntoni Cours 2h, TD 2h)
  • Système embarqué .NET Micro Framework, J.-Y. Tigli Cours/TD 4h)
  • Examen Final

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ème Unix