Module : Bases OS et architecture des ordinateurs
Description
Le développement de logiciel pour les systèmes embarqués est en perpétuelle évolution. Avec les progrès technologiques et des performances des microprocesseurs, les fabricants proposent une pléthore de processeurs multi-cœurs asymétriques très performants. Ces nouveaux processeurs permettent d’opérer Linux comme système d’exploitation sur les processeurs d’application et des RTOS sur les microcontrôleurs, tels que FreeRTOS, Zephir ou MbedOS.
Objectifs
Ce module s’adresse aux ingénieurs qui souhaitent actualiser leurs connaissances sur les architectures des nouveaux processeurs et systèmes d’exploitation (GPOS et RTOS) ainsi que d’approfondir leurs compétences sur la programmation de ces nouveaux processeurs.
A travers la théorie et des laboratoires pratiques, le cours familiarise l’étudiant avec les architectures des nouveaux processeurs (mono-cœurs et multi-cœurs symétriques et asymétriques) ainsi que sur les systèmes d’exploitation standard à usage général (GPOS) et temps-réel (RTOS) pouvant les opérer. Le cours permet d’apprivoiser le développement et débogage d’applications sur ces nouveaux processeurs, de gérer au mieux leurs mémoires, de découvrir les différents systèmes de fichiers adaptés aux diverses applications, de choisir les meilleurs concepts de programmation pour satisfaire les exigences de l’application.
Sujets traités
- Architecture des ordinateurs (mono- et multi-cœurs symétrique et asymétrique, MMU, Cache, DMA, système d’interruptions, …)
- Architecture des GPOS et RTOS
- Programmation par processus, thread, événementiel ou super-loop
- Programmation concurrente
- Gestion de la mémoire (structure des applications, mémoire dynamique, garbage collector, …)
- Systèmes de fichiers physiques et virtuels
Travaux pratiques
Chaque cours est suivi d'une mise en pratique, ce qui représente 40 à 50 % de la durée totale du cours. Les travaux pratiques sont effectués sur une carte ARM embarquée (à définir : carte xxx basée sur un processeur multi-cœurs Cortex Axx / Cortex Mxx).
Projet intégré
Un projet à réaliser sur la totalité de la durée du module permettra de mettre en œuvre les concepts abordés durant les cours et de les consolider.
Inscription
Ce module fait partie du CAS en Systèmes embarqués.
Documents demandés :
- lettre de motivation
- curriculum vitae
- diplômes
- pièce d'identité valable
- permis de séjour
- carte AVS
- justificatif de paiement de la taxe
Contact
Jacques Supcik, Responsable du CAS
Information et administration
+41 26 429 66 06
+41 26 429 65 98
Modalités d'évaluation
L’évaluation du projet intégré permettra de valider l’ensemble du module. Un rapport, le code source ainsi qu’une présentation serviront à l’évaluation du module. La réussite du module sera certifiée par une attestation avec la mention « module réussi ». En cas d’échec, une attestation sera délivrée avec la mention « a suivi le module ».
Littérature
A COMPLETER
Mode d'admission
- Formations requises :
- Voir brochure
- Connaissances préalables :
- Programmation en C/C++
- Programmation concurrente
- Développement croisé sous machine hôte Linux
- Makefile, Git
Organisation
Organisation
Haute école d’ingénierie et d’architecture de Fribourg, Service de la formation continue
Haute école spécialisée de Suisse occidentale HES-SO
Responsable du module
Serge Ayer, professeur HES ordinaire
Cours
-
cours : mardi des semaines 46 à 51 en 2021 et 02 à 03 en 2022
(16.11, 23.11, 30.11, 07.12, 14.12, 21.12.2021, 11.01, 18.01.2022) -
workshop : samedi : semaine 39 en 2021
- Mode : présentiel