Matière : Système d'exploitation 1

Unité d’enseignement fondamentale : UEF1

Crédits : 5

Coefficient : 3

Objectifs de l’enseignement : 

Introduire les notions de base des systèmes d’exploitation, leurs rôles dans la gestion des ressources de la machine : processeur et mémoire centrale puis présenter les mécanismes et les techniques utilisées à ces fins.
Connaissances préalables recommandées : algorithmique et structures de données, structure machine.

Contenu de la matière :


Chapitre 1 : Introduction
- Notion de système d’exploitation.
- Fonctions et rôles.
- Exemples de systèmes d’exploitation (Windows, Unix, Android,…)
Chapitre 2 : La gestion du processeur
- Définitions

  • Notion de Programme.
  • Notion de Processus.
  • Notion de Thread.
  • Notion de ressource
  • Notion de travail (Job)

- Différents états d’un processus.
- Hiérarchies de processus.
- Relations entre processus (compétition, coopération et synchronisation).
- Techniques d’ordonnancement de processus :

  • Critères (Equité, efficacité, temps de réponse, temps d’exécution, rendement)

- Algorithmes d’ordonnancement (parmi les plus utilisés) :

  • Tourniquet (Round Robin RR).
  • Algorithme du premier entré, premier servi ou FCFS (First Come First-Served).
  • Algorithme du travail le plus court d'abord ou SJF (Shortest Job First).
  • Algorithme du temps restant le plus court ou SRT (ShortestRemaining Time).
  • Algorithme avec priorité.

Chapitre 3 : Gestion de la mémoire

  • Objectifs.
  • Monoprogrammation.
  • Multiprogrammation :
    • a) Partitions multiples contigües.
  • Partitions contiguës fixes.
  • Partitions contiguës dynamiques:
    1. Stratégie du premier qui convient (First Fit)
    2. Stratégie du meilleur qui convient (Best Fist)
    3. Stratégie du pire qui convient (Worst Fit).
      • Partitions contiguës Siamoises (Buddy system)
      • Ré-allocation et protection
      • Va et vient (Swap)
      • Fragmentation et Compactage
  • - Multiprogrammation et partitions multiples non contigües
    1. Pagination
    2. Segmentation
    3. Segmentation paginée.
  • -La mémoire virtuelle
    • Concept de mémoire virtuelle.
    • Overlays (segments de recouvrement)
    • Pagination à la demande
    • Quelques algorithmes de remplacement des pages :
    • -Algorithme optimal
    • -Remplacement Aléatoire
    • -Ordre Chronologique de Chargement (FIFO) (avec remarque sur l’anomalie de Belady).
    • - Ordre Chronologique d'utilisation (LRU: Least RecentlyUsed).
    • - Fréquenced’utilisation (LFU: Least Frequently Used).
    • - Algorithme de la seconde chance.

Chapitre 4 : Le système Unix.
Travaux dirigés et pratiques
Les TDs porteront sur propositions d’algorithmes autour des différents chapitres. Ces algorithmes
seront développés en TP en utilisant le langage au langage C sous Unix.
Le système Unix fera l’objet des premières séances de TPs.

Mode d’évaluation : Examen (60%) , contrôle continu (40%)

Références

  • Tanenbaum, Modern operating systems, thirth edition, Pearson, 2014
  • A. Tanenbaum, Systèmes d’exploitation, Dunod, 1994.
  • Michel Divay, Unix, Linux et les systèmes d'exploitation : cours et exercices corrigés , Dunod, collection : Sciences sup, 2004.
  • Crocus, Systèmes d'exploitation des ordinateurs, Dunod,1993.
  • Sacha Krakowiak, Principes des systèmes d'exploitation des ordinateurs, Dunod, 1993