#Systèmes d'exploitation — fondations
Ce module de niveau L2 correspond au premier vrai face-à-face avec le noyau. L'objectif est d'apprendre à raisonner comme un développeur système : comprendre comment un processus naît, se synchronise, dialogue, écrit sur disque, occupe la mémoire et cède le processeur. Chaque unité est un cours complet, rédigé dans le même esprit que le module Programmation C : on part d'un comportement observable (une commande ps
, un fichier qui reste bloqué, une latence réseau) et l'on remonte vers le mécanisme précis qui l'explique.
Le parcours évolue en profondeur : les deux premiers chapitres posent les abstractions (processus, appels système, organisation d'un programme en mémoire). Les quatre suivants explorent les entrées-sorties et le système de fichiers Unix, jusqu'aux tubes nommés qui servent de premier laboratoire d'IPC. Les chapitres 7 et 8 ouvrent sur le réseau en gardant un pied dans le concret : adresse IP, sockets, serveurs concurrents. Enfin, la mémoire virtuelle et l'ordonnancement referment le module en montrant comment l'OS arbitre ce qui est souvent invisible.
Le fil directeur reste la pratique. Pour chaque cours, on suggère un atelier court mais exigeant : instrumenter un fork
, observer un lock qui gèle un programme, démarrer un serveur TCP minimal. Ces travaux pratiques peuvent être intégrés directement dans les séances de TD ou utilisés comme point de départ de mini-projets. Aucune connaissance de bas niveau n'est supposée au départ, mais une familiarité avec le C (ou tout langage capable d'appeler le système) et le shell Unix est recommandée.