FR | EN

SEEE
Systèmes d'exploitation et environnements d'exécution embarqués


Le développement de systèmes embarqués dédiés au multimédia, au "motion control", au biomédical, et à bien d'autres domaines d'application est actuellement en plein essor. Ces systèmes reposent sur des technologies très avancées dans le domaine es processeurs 32/64 bits (de plus en plus multi-coeurs) et permettent de bénéficier d'une puissance de calcul très intéressante.

Or, le déployement d'application sur de tels systèmes n'est pas encore chose aisée. Les aspects liés aux environnements logiciel dans lequel ces applications fonctionnent déterminent le niveau de fiabilité, de sécurité et de qualité de service. C'est pourquoi, il est important d'avoir une connaissance approfondie de ces environnements et de leurs interactions avec le matériel, notamment avec les périphériques. Les aspects liés aux systèmes d'exploitation, aux pilotes de périphériques et moniteurs de machine virtuelle (hyperviseur) jouent un rôle prépondérant dans la maîtrise de l'environnement logiciel embarqué.

Le module SEEE permettra à l'étudiant d'acquérir les notions fondamentales et avancées pour la programmation dans le noyau d'un système d'exploitation, permettant ainsi de maîtriser les aspects liés au développement de drivers dans des environnements critiques et limités. Le thème de la virtualisation sera central à ce module et apparaîtra comme un fil conducteur. A la fin du module, l'étudiant sera en mesure d'effectuer des portages d'OS sur différentes architectures embarqués, ainsi que de développer des pilotes de périphériques spécifiques. La notion d'émulation et de virtualisation lui permettront de déployer des applications embarquées dans des environnements d'exécution fiables et sécurisés.

En résumé, l'étudiant sera capable de:

  • Décrire l'architecture détaillée d'un système d'exploitation et ses sous-systèmes, en relation avec les différents types d'OS
  • Porter un système d'exploitation - ainsi que le BSP - sur différents types de processeurs et microcontrôleurs, en particulier adapter le code de bootstrap (initialisation du (ou des) processeur(s), de la mémoire, du timer et des IRQs
  • Développer des pilotes de périphériques dans des OS de types différents et dans des environnements sécurisés. Les différents objets et services d'un OS seront détaillés
  • Configurer, tester et profiler un système d'exploitation afin d'obtenir une sécurité et des performances optimales.
  • Développer des environnements d'exécution basés sur des moniteurs de machine virtuelles, en comprenant bien les avantages et limitations de ces approches.



REDS
Reconfigurable & embedded Digital Systems Institut REDS
Route de Cheseaux 1
CH-1401 Yverdon-les-Bains
Work+41 24 55 76 330

© 2009 REDS / HEIG-VD