Les systèmes d'exploitation
Introduction
Quand vous appuyez sur le bouton d'allumage de votre ordinateur, un programme particulier se charge en mémoire avant tous les autres. Ce programme ne disparaît jamais tant que la machine est allumée : c'est le système d'exploitation (OS pour operating system). Linux, Windows, macOS, Android, iOS — ce sont tous des systèmes d'exploitation. Sans lui, votre machine ne saurait ni lire le disque, ni afficher l'écran, ni faire tourner deux programmes en même temps.
Le rôle d'un système d'exploitation
Un OS est un chef d'orchestre. Il gère cinq grandes responsabilités.
| Responsabilité | Concrètement |
|---|---|
| Gestion du CPU | Décider quel programme exécute des instructions, et pendant combien de temps. |
| Gestion de la mémoire | Attribuer de la RAM aux programmes, isoler leurs espaces. |
| Gestion des fichiers | Organiser le disque en arborescence, lire et écrire. |
| Gestion des périphériques | Dialoguer avec les pilotes (clavier, écran, imprimante, réseau). |
| Gestion des utilisateurs et des droits | Authentifier, autoriser ou refuser les accès. |
Les processus
Quand vous lancez une application (un navigateur, un éditeur, Python), l'OS crée un processus : une instance en cours d'exécution du programme. Un même programme peut donner naissance à plusieurs processus indépendants (deux fenêtres de votre navigateur sont souvent deux processus distincts).
Chaque processus possède :
- un identifiant unique (PID, process id) ;
- son espace mémoire isolé des autres processus ;
- l'état courant (en cours, en attente, terminé) ;
- les fichiers qu'il a ouverts.
L'isolation mémoire est cruciale : un processus qui plante ne doit pas faire planter les autres, ni accéder à leurs données.
Que désigne le PID d'un processus ?
Le multitâche : l'illusion de la simultanéité
Vous écoutez de la musique tout en écrivant un mail, et votre navigateur charge une page en arrière-plan. Sur un mono-cœur, le CPU ne peut pourtant exécuter qu'une instruction à la fois. Comment l'OS donne-t-il l'illusion de la simultanéité ?
Par le multitâche préemptif : l'OS découpe le temps en tranches très courtes (quelques millisecondes) et alterne rapidement entre processus. Sur la durée d'une seconde, chaque processus a reçu sa part de temps CPU, et l'œil humain perçoit le tout comme simultané.
Le composant responsable est l'ordonnanceur (scheduler). Il décide à chaque instant quel processus va recevoir le CPU. Sur un multi-cœur, plusieurs processus peuvent réellement s'exécuter en parallèle, un par cœur.
Le système de fichiers
L'OS organise le disque en arborescence : un répertoire racine, des
sous-répertoires, des fichiers. Sous Linux et macOS, la racine est /. Sous
Windows, on a C:\ pour chaque disque.
/
├── bin/ # programmes système
├── etc/ # fichiers de configuration
├── home/
│ ├── alice/ # répertoire personnel d'alice
│ └── bob/
├── tmp/ # fichiers temporaires
└── var/ # données variables (logs, etc.)
Chaque fichier possède des métadonnées : nom, taille, date de modification, propriétaire, droits d'accès.
Les droits et permissions
Sur les systèmes Unix (Linux, macOS), chaque fichier porte trois niveaux de droits, pour trois catégories d'utilisateurs.
| Catégorie | Désignation | Droits possibles |
|---|---|---|
| Propriétaire (user) | u | lire (r), écrire (w), exécuter (x) |
| Groupe | g | lire, écrire, exécuter |
| Autres (others) | o | lire, écrire, exécuter |
L'affichage typique d'un ls -l ressemble à :
-rw-r--r-- 1 alice users 1234 Jan 12 10:30 notes.txt
Le bloc -rw-r--r-- se lit ainsi :
-: fichier ordinaire (pas un répertoire).rw-: le propriétaire (alice) peut lire et écrire.r--: le groupeuserspeut seulement lire.r--: les autres utilisateurs peuvent seulement lire.
-rw-rw-rw-) est modifiable par n'importe quel utilisateur du système.
Sur une machine partagée, c'est une faille de sécurité majeure.Le bloc -rwxr-x--- signifie :
Libre ou propriétaire
Les systèmes d'exploitation se répartissent en deux grandes familles selon leur licence.
| Famille | Exemples | Caractéristiques |
|---|---|---|
| Libre (open source) | Linux, FreeBSD | Code source accessible, modifiable, redistribuable. |
| Propriétaire | Windows, macOS, iOS | Code source fermé, licence d'utilisation payante. |
En NSI, vous utiliserez un OS libre (typiquement une distribution Linux comme Ubuntu ou Debian). C'est un choix pédagogique : pouvoir lire, modifier et comprendre les rouages de la machine plutôt que de subir une boîte noire.
Pour aller plus loin
Au cœur d'un OS se trouve le noyau (kernel) — la partie la plus critique, qui dialogue directement avec le matériel. Tout le reste (l'interface graphique, les utilitaires, les applications fournies) est en couches au-dessus. Le noyau Linux, démarré en 1991 par Linus Torvalds, est aujourd'hui au cœur de la majorité des serveurs Internet, de tous les Android, et de nombreux systèmes embarqués.