1. Introduction (séance 1)
Un système d'exploitation est une partie indispensable de presque tout système informatique.
Aujourd’hui, les systèmes informatiques sont partout, depuis les voitures, les appareils de contrôle
industriels, en passant par les appareils électroménagers (Internet of Things : IoT) jusqu’aux
téléphones portables, PC, bateaux, spacecraft, le cloud informatique, etc. Ces derniers ne sont
opérationnels que via les OS. Les OS sont également à la base des machines de jeux.
Au début de l’informatique, il y avait des machines très peu puissantes avec lesquelles on cherchait à
faire des applications comparables à celles d’aujourd’hui (mémoire typique : 100-500 Ko !). Ces
machines devaient parfois desservir des dizaines d’usagers ! Alors, la théorie des SE (TSE) a été mise
en place pour combler le besoin de développer des principes pour optimiser l’utilisation d’un
ordinateur, principes qui sont encore utilisés. Et ces premières machines ont évolué rapidement vers
des gros systèmes à multifonction et vers des machines à usage général.
Les systèmes d’exploitation ont évolué au fil des ans. Dans la mesure où leur évolution a été
historiquement très liée à l’architecture des ordinateurs sur lesquels ils étaient implémentés, une
description des générations successives d’ordinateurs permettrait de découvrir d’une part ce à quoi
ressemblait leur système d’exploitation et d’autre part la complexité et l’énormité des OS modernes.
Les points suivants sont abordés dans le déroulement de cette UE :
- Position, Définition et rôle des OS (séance 1)
- Historique (séances 1, 2)
- Typologie (séances 3)
- Fonctions et Structures (séance 4)
- Notion d'Entrées/Sorties et interruption (séance 5)
- Notion de processus (séance 5)
- Gestion de la mémoire (séances 6, 7)
- Gestion des fichiers (séances 8, 9)
- Gestion des processus (séances 10, 11)
Comme pré requis, une familiarité avec les sujets suivants serait un atout :
1) Composition d'un ordinateur [cf. cours ATO]
2) Utilisation de Windows/Linux et de commandes systèmes (MS-DOS et Shell [cf. cours de
progiciel]
3) Notions de logiciel, de programme, de fichier … [cf. cours de progiciel]
4) Notion de programmation [algorithme, compilation, linkage, tableaux, piles, files, listes
arbres]