SYE

Systèmes d'exploitation

Connaissances préalables recommandées :


L’étudiant doit connaître et savoir utiliser les notions suivantes :
  • un langage de programmation système tel que le langage C.
  • un modèle abstrait du fonctionnement d'un processeur.
  • structures de données linéaires (listes, piles et files).
  • notions élémentaires de programmation concurrente (verrous, sémaphores et moniteurs).
L'unité d'enseignement INF2 (informatique), ASD1 (algorithmes et structures de données) et PCO1 (programmation concurrente) permettent d'acquérir ces connaissances.

Objectifs :


A l'issue de cette unité d'enseignement, l'étudiant-e sera capable de :
  • expliquer les différentes architectures d'un système d'exploitation.
  • expliquer le rôle des différents sous-systèmes d'un système d'exploitation.
  • expliquer les différents algorithmes d'allocation du processeur dans les systèmes d'exploitation existants.
  • expliquer le fonctionnement d'un système à mémoire segmentée et/ou paginée.
  • expliquer les différents algorithmes d'allocation mémoire et de remplacement de pages.
  • expliquer comment fonctionne un système de fichiers.
  • expliquer le fonctionnement des appels systèmes standards POSIX.
  • expliquer les différents mécanismes de communication et de synchronisation inter-processus.
A l'issue des travaux pratiques en laboratoire, principalement destinés à l’assimilation des connaissances et à
l’acquisition d’expérience dans la programmation système, l’étudiant-e sera en outre capable de :
  • manipuler les principaux appels systèmes d'un système d'exploitation.
  • réaliser une application multi-processus et multi-threadée en utilisant les primitives d'un système d'exploitation.
  • développer des extensions et des utilitaires reposant sur un système d'exploitation.