Phelma Formation 2022

Systèmes d'exploitation - 4PMESEX7

  • Volumes horaires

    • CM 16.0
    • Projet 0
    • TD 0
    • Stage 0
    • TP 12.0

    Crédits ECTS

    Crédits ECTS 1.0

Objectif(s)

Comprendre les enjeux de la gestion des différentes ressources (temps, mémoire) ;
Comprendre la nécessité de dispositifs matériels associés (instruction atomique, MMU, niveau de privilège, etc.) ;
Réfléchir avec des notions systèmes de base (processus, tâche, signal, synchronisation)
Faire le lien avec une API standard (POSIX)

Contact Francois CAYRE

Contenu(s)

Cours

  • Nécessité (ou pas) d'un système d'exploitation
  • Processus et tâches
  • Événements : interruptions et signaux
  • Gestion du CPU
  • Gestion de la mémoire
  • Synchronisation (mutex, spinlock, sémaphore, algos sans interblocage)

Les TD visent tous à développer la pratique et la culture générale en programmation système, à l'aide d'exemples les plus aboutis possibles en pratique. On programmera notamment un filtre Unix, un démon, une application de traitement d'image à base de greffons, et un système d'aide au déboguage de la mémoire. On passera également en revue les grands écueils en programmation concurrente (découpage du calcul et synchronisation, granularité, etc.)



Prérequis
  • Un niveau correct en C de base.
    Quelques notions qui ne doivent idéalement pas poser de problème :
  • chaîne de compilation ;
  • unions et structures ;
  • pointeurs, pointeurs de fonction ;
  • utilisation de base du préprocesseur.
  • Une expérience de l'environnement Unix.
    Quelques notions qui ne doivent idéalement pas poser de problème :
  • gestion des fichiers et répertoires depuis la ligne de commande ;
  • commandes usuelles ;
  • options et utilisation de base de gcc et de make.

Contrôle des connaissances

EXAM
1 devoir surveillé de 2h sans documents ni aucun dispositif électronique :

  • 10 points sur le cours
  • 6 points sur les TD
  • 4 points sur des questions de réflexion


    • MCC en présentiel **
      N1=EXAM1
      N2=EXAM2
    • MCC en distanciel **
      N1 = TP à distance
      N2 = TP2 à distance

Informations complémentaires

Cursus ingénieur->Filières->Semestre 8

Bibliographie

"Principes des Systèmes d'Exploitation", Abraham Silberschatz, Peter B. Galvin, Greg Gagne
"Programmation Système en C sous Linux", Christophe Blaess