IST Syllabus L3 Programme Majeure M6a Informatique

Semestre 6

97,5 heures

UE Systèmes d’exploitation   21h de CM & 25h de TD

UE Introduction au microcontrôleur  21h de CM & 25h de TD

*************************************************

UE Systèmes d’exploitation

Prérequis
Programmation système (L2)

Compétences visées

Disciplinaires :
synchroniser des processus collaboratifs
détecter des deadlocks dans des applications
gérer les entrées-sorties et les fichiers / répertoires d’un système depuis un programme
optimiser un code au niveau de l’occupation mémoire

Aptitudes Transversales (« Soft-skills »)  
parfaire le travail de groupe (projet de 2 ou 3 étudiants)

Contenu du cours
Les rôles du système d’exploitation
Gestion du multi-tâches : algorithmes d’ordonnancement des processus
Communication inter-processus
     par échange de signaux
     par tubes et tubes nommés
     par mémoire partagée
     par files de messages
Gestion des entrées-sorties
     système de fichiers, répertoires, types de fichiers, propriétés
     primitives sur les fichiers
     parcours de système de fichiers 
     le cas des disques magnétiques : algorithmes de gestion des têtes
Gestion de la mémoire
     notion de segments, pagination
     paginations simple et multiple
     pagination à la demande, défauts de page, algorithmes de remplacement de pages
     mémoire virtuelle et cache

*************************************************

UE Introduction au microcontrôleur

Prérequis

Disciplinaires 
-Architecture des ordinateurs – Mineure M4-I
-Bases de la programmation en langage C

Transversaux 
Capacité à travailler en autonomie et en petit groupe

Compétences visées
Compétence générique L3 : Savoir et comprendre l’architecture d’un microcontrôleur, son organisation autour du processeur ainsi que ses différents périphériques, la représentation de l’information au sein d’une machine de calcul, la représentation d’un programme à travers le langage machine et d’assemblage, la gestion des E/S, le mécanisme essentiel d’interruption.

Disciplinaires :
Comprendre l’architecture interne d’un microcontrôleur STM32, son organisation autour du microprocesseur ARM, l’organisation mémoire
Savoir définir et mettre en œuvre des périphériques de base d’un microcontrôleur (liaison série UART, timers)
Savoir définir et mettre en œuvre le mécanisme essentiel d’interruption
Comprendre la représentation d’un programme informatique, d’un langage haut-niveau à sa représentation machine ou en langage d’assemblage

Savoir développer un programme informatique pour un système embarqué basé sur microcontrôleur, le programmer et le tester, savoir utiliser un debugger

Aptitudes Transversales (« Soft-skills »)  
Analyser et synthétiser des informations
Être capable d’échanger avec des pairs sur les notes et exercices de cours
Rédiger des rapports en français


Contenu du cours
Rappels de L2 : Représentation de l’information et d’un programme informatique, cycle d’exécution machine, architecture interne d’un microprocesseur, RISC/CISC
Les systèmes embarqués : définition et principales caractéristiques, fonctionnalités et intérêts, taxonomie, les microcontrôleurs STM32 basé sur le processeur ARM, l’environnement de développement STM32Cube IDE
Architecture interne d’un microcontrôleur : Processeur ARM RISC - Organisation mémoire ; Jeu d’instruction du Cortex-M4 – Langage d’assemblage – Eléments de compilation
Architecture du STM32 et bus système, arbre d’horloge – Principaux périphériques systèmes et d’E/S – GPIO, Timer, Bus de communication
Mécanisme d’interruption : définition, Exceptions et Interruptions, rôle du contrôleur d’interruption, NVIC, hiérarchisation et priorité, table des vecteurs d’interruption, mise en œuvre dans l’environnement STM32CubeIDE



Toutes ces notions seront mises en œuvre lors de séances de travaux pratiques sur cibles réelles. Mini-projet consistant à implémenter une solution de stéganographie sur microcontrôleur sera réalisé, permettant de mettre en œuvre l’intégralité des notions vues en cours.