v2.11.0 (5932)

Enseignement scientifique & technique - ECE_3TC31_TP : De la porte logique au système d'exploitation

Domaine > Informatique.

Descriptif

Au cœur de très nombreux systèmes numériques (que ce soit un serveur dans un datacenter exécutant des algorithmes d'intelligence artificielle, un ordinateur plus classique exécutant un logiciel de traitement d'image, ou un système emabrqué exécutant un algorithme de traitement du signal) se trouve un processeur exécutant des applications développées dans des langages de haut niveau, orchestrées par un système d'exploitation.

Cet ECUE amène progressivement les étudiants à construire un processeur simple à partir de portes logiques, puis à le programmer en assembleur et en langage C pour arriver aux rôles fondamentaux d'un système d'exploitation. Il sert de base à de nombreux autres cours, et en particulier ceux de la filière Systèmes Embarqués.

Objectifs pédagogiques

Acquis d'apprentissage
À l'issue de l'ECUE, l'élève sera capable de:

  • Construire un microprocesseur simple à partir de portes logiques, d'expliquer son fonctionnement et de le programmer en assembleur
  • Développer des programmes simples en langage C en se conformant aux bonnes pratiques de programmation, et de les déboguer
  • Expliquer les rôles principaux d’un système d’exploitation
  • Mettre en œuvre les primitives fournies par le système d’exploitation pour gérer et synchroniser des processus, gérer la mémoire, gérer les fichiers…

Compétences de rattachement (et justification)

  • BC1.5 – Réaliser un système complexe en mettant en œuvre les solutions technologiques nécessaires, en s’appuyant sur les ressources humaines, techniques, matérielles disponibles en faisant preuve de rigueur, d’esprit critique et d’adaptabilité; Justification : L’ECUE amène les élèves à construire progressivement un système complexe (microprocesseur). Elle permet également aux élèves de comprendre le fonctionnement de base des ordinateurs (microprocesseur et système d'exploitation) leur permettant ainsi de prendre en compte leurs limitations dans la réalisation d'un système plus complexe.
  • BC8.3 – Concevoir et développer des solutions technologiques en s’appuyant sur un paradigme de programmation spécifique ou en concevant des architectures matérielles et logicielles spécifiques; Justification : L’ECUE mobilise l’apprentissage des bases de la programmation impérative en langage C pour réaliser des applications de complexité croissante.
  • BC8.4 – Déterminer les phases et procédures de tests techniques et fonctionnels des composants matériels et logiciels pour assurer la fiabilité, la sécurité et/ou la sûreté de fonctionnement des systèmes; Justification : L’ECUE amène les élèves à définir des méthodologie de débogage pour arriver à corriger les erreurs dans leurs programmes.

42 heures en présentiel (27 blocs ou créneaux)
réparties en:
  • Travaux Dirigés : 3
  • Travaux Pratiques : 19.5
  • Cours magistral : 18
  • Contrôle de connaissance : 1.5

90 heures de travail personnel estimé pour l’étudiant.

effectifs minimal / maximal:

2/

Diplôme(s) concerné(s)

UE de rattachement

Format des notes

Numérique sur 20

Pour les étudiants du diplôme Diplôme d'ingénieur

Vos modalités d'acquisition :

L’évaluation est basée sur trois éléments :

- des quiz notés proposés régulièrement pour vérifier l’acquisition des connaissances de base tout au long de l’UE = Q,
- une épreuve pratique individuelle pour vérifier la capacité des élèves à développer un programme en C (en lien avec l'acquis d'apprentissage ""Développer des programmes simples en langage C"") = P,
- un examen final écrit pour évaluer les autres acquis d'apprentissage = CC

Note = 1/2*CC+1/4Q+1/4P. Validation pour Note >=10.

Le rattrapage est autorisé (Note de rattrapage conservée)
  • le rattrapage est obligatoire si :
    Note initiale < 10

Le coefficient de l'UE est : 0.3

L'UE est évaluée par les étudiants.

Programme détaillé

Partie 1 : De la porte logique au micro-processeur

  • Logique combinatoire
  • Logique séquentielle
  • Construction d'un processeur RISC-V
  • Langage Assembleur

Partie 2 : Du processeur aux programmes systèmes

  • Langage C
  • Chaîne de production
  • Débuggage

Partie 3 : Des programmes systèmes au système d'exploitation

  • Gestion des processus & ordonnancement
  • Synchronisation entre processus
  • Gestion de la mémoire
  • Systèmes de fichiers

 

Mots clés

Porte logique, processeur, langage C, système d'exploitation

Méthodes pédagogiques

Les concepts clés sont présentés en cours magistral et mis en application en TD ou en TP suivant leur nature. Ces TD et TP sont complétés par des exercices à réaliser en autonomie (devoirs maison, avec une aide sous forme d'office hours).

Support pédagogique multimédia

Oui

Veuillez patienter