3. Le système d'exploitation : définition et modèle mental

uname interroge le système; getconf rapporte une propriété de son environnement. Ici, une page fait 4 096 octets.
- Linux et sa version désignent le noyau observé dans WSL2.
- Ces utilitaires s’exécutent en espace utilisateur; ils ne sont pas le noyau.
Lire la capture en texte
uname -sr
getconf PAGESIZE
Linux 6.18.54.1-microsoft-standard-WSL2
4096Démonstration Station Minuit · Ubuntu 24.04 / WSL2 · Python 3 · 15 octobre 2026 (Toronto). Sortie réelle remise en page et capturée; exemple ajouté, distinct du matériel officiel.
3.1 Définition de travail
Un système d'exploitation est l'ensemble logiciel qui :
- communique avec le matériel;
- gère et répartit les ressources de l'ordinateur;
- fournit une base contrôlée pour l'exécution des autres programmes;
- protège les programmes et les utilisateurs les uns des autres.
Il n'existe pas une définition universelle couvrant tous les systèmes. Dans ce cours, deux perspectives complémentaires sont centrales.
3.2 Le SE comme machine étendue
Le système masque les détails physiques et fournit des abstractions plus simples :
- un processus plutôt qu'un ensemble de registres et de zones mémoire;
- un fichier plutôt que des secteurs de disque;
- un espace d'adressage virtuel plutôt que des positions physiques en RAM;
- un flux de lecture ou d'écriture plutôt qu'une séquence de commandes propres à un contrôleur;
- l'impression d'un processeur dédié même lorsque le CPU est partagé.
Cette « illusion » n'élimine pas les limites du matériel. Elle présente une machine logique plus stable, plus uniforme et plus sûre.
3.3 Le SE comme gestionnaire de ressources
Le système décide :
- quelle activité obtient le processeur;
- quelle quantité de mémoire est attribuée à chaque processus;
- dans quel ordre les requêtes d'entrée-sortie sont traitées;
- qui peut lire, modifier ou exécuter un fichier;
- comment isoler les espaces d'exécution.
Il doit équilibrer efficacité, équité, réactivité, débit, respect des priorités et sécurité.
3.4 Noyau, programmes système et applications
Le noyau est la composante centrale et privilégiée du système. Il reste actif, traite les appels système et les interruptions, gère l'ordonnancement, la mémoire et les périphériques, puis applique les frontières de protection.
Les programmes système offrent des outils et services usuels : interpréteur de commandes, utilitaires de fichiers, éditeurs, outils de diagnostic et services d'arrière-plan. Ils ne font pas nécessairement partie du noyau.
Les applications répondent aux besoins des utilisateurs. Elles utilisent les bibliothèques et les interfaces du SE au lieu de manipuler directement le matériel.
Cette séparation améliore la stabilité et la portabilité. Une application peut fonctionner sur différents matériels lorsque le système lui présente une interface compatible.
3.5 Politique et mécanisme
La politique répond à la question « quelle décision prendre? ». Le mécanisme répond à « comment appliquer cette décision? ».
Exemples :
- l'ordonnanceur choisit, selon une politique, le prochain thread; le changement de contexte est le mécanisme qui lui donne effectivement le CPU;
- une politique de mémoire fixe la répartition entre processus; les tables de traduction et les protections matérielles réalisent cette répartition;
- une politique de fichiers décide des permissions; les contrôles d'accès du noyau les font respecter.
Séparer politique et mécanisme permet de remplacer une stratégie sans reconstruire toute l'infrastructure.