Qu'est-ce qu'un système d'exploitation ?
Un système d'exploitation (OS) est le logiciel qui gère le matériel d'un ordinateur et exécute tous les autres programmes, en partageant entre eux le processeur, la mémoire et le stockage, et en leur fournissant les fichiers, le réseau, les entrées et les sorties. Windows, macOS, Linux, Android et iOS sont des systèmes d'exploitation.
Mis à jour le 24 septembre 2026
Appuie sur une touche pendant qu'un éditeur de texte est ouvert. Le clavier envoie un signal électrique, et un pilote du système d'exploitation le lit. Le système d'exploitation détermine quelle fenêtre est au premier plan, transmet la touche à ce programme, et l'éditeur dessine la lettre. L'éditeur ne parle jamais au clavier. Enregistrer le fichier, jouer un son et charger une page web fonctionnent de la même façon : les programmes demandent, et le système d'exploitation fait le travail avec le matériel.
Ce que fait un système d'exploitation
Un système d'exploitation a une poignée de missions, et chaque programme de l'ordinateur dépend de toutes :
- Exécuter les programmes (gestion des processus). Un ordinateur portable à 8 cœurs peut faire tourner quelques centaines de programmes et de services en arrière-plan. L'ordonnanceur de l'OS donne à chacun de courts tours sur un cœur, en changeant plusieurs fois par seconde, si bien qu'ils semblent tous tourner en même temps.
- Gérer la mémoire. Chaque programme reçoit son propre espace d'adressage privé. Quand un programme lit de la mémoire qui ne lui appartient pas, l'OS l'arrête ; en C, c'est la fameuse erreur de segmentation.
- Stocker les fichiers. L'OS transforme un disque, qui ne stocke que des blocs numérotés d'octets, en dossiers et en fichiers nommés, un cas d'école d'abstraction. Ce format s'appelle un système de fichiers : NTFS sous Windows, APFS sous macOS, ext4 sur la plupart des systèmes Linux.
- Dialoguer avec le matériel. Les pilotes font l'interprète entre l'OS et chaque périphérique : carte graphique, puce Wi-Fi, imprimante, webcam.
- Le réseau. L'OS implémente TCP/IP, pour qu'un programme puisse ouvrir une connexion vers un serveur sans rien savoir de la carte réseau.
- La sécurité et les utilisateurs. Les comptes, les mots de passe et les permissions de fichiers décident qui peut lire ou modifier quoi.
- L'interface utilisateur. Le bureau, les fenêtres et la barre des tâches, ou un shell texte comme Bash ou PowerShell.
Le noyau et les appels système
Le cœur d'un système d'exploitation est le noyau (kernel). Il s'exécute avec un contrôle total du matériel, tandis que les programmes ordinaires s'exécutent dans un mode restreint et ne peuvent pas toucher directement aux périphériques. Quand un programme a besoin de quelque chose, il fait un appel système : une demande au noyau comme « ouvre ce fichier », « envoie ces octets » ou « lance un nouveau processus ».
La plupart du temps, tu ne vois pas les appels système, parce que ton langage les enveloppe. Les fonctions open() et print() de Python finissent par appeler le noyau. Le module os te permet de les faire presque directement :
L'identifiant de processus et le nombre de cœurs dépendent de la machine ; la dernière ligne affiche toujours File size: 23 bytes. os.open renvoie un descripteur de fichier, un petit nombre que le noyau utilise pour suivre le fichier ouvert, et os.write y envoie 23 octets. En C, les mêmes demandes s'écrivent presque à l'identique, car ces fonctions sont de fines couches au-dessus des appels système :
int fd = open("note.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644);
write(fd, "saved by a system call\n", 23);
close(fd);
Sous Linux, tu peux observer chaque appel système d'un programme avec strace python3 script.py.
Exemples et types de systèmes d'exploitation
| Système d'exploitation | Où il tourne | Noyau |
|---|---|---|
| Windows 11 | La plupart des PC de bureau et portables | Windows NT |
| macOS | Les ordinateurs Mac d'Apple | XNU (Darwin) |
| Linux (Ubuntu, Fedora, Debian et d'autres) | La plupart des serveurs et des machines du cloud, quelques ordinateurs de bureau | Linux |
| Android | La plupart des smartphones dans le monde | Linux |
| iOS | iPhone | XNU (Darwin) |
| ChromeOS | Chromebooks | Linux |
En plus de ces systèmes généralistes, il existe des systèmes d'exploitation temps réel comme FreeRTOS et Zephyr, qui tournent sur les microcontrôleurs des appareils ménagers, des capteurs et des machines industrielles et garantissent une réponse dans un délai fixe. Beaucoup de petits appareils utilisent des systèmes embarqués conçus pour un seul usage.
Le tableau montre qu'un même noyau peut animer des produits très différents. Android et ChromeOS utilisent tous deux le noyau Linux avec leurs propres logiciels par-dessus, et iOS partage son noyau avec macOS.
Pourquoi le système d'exploitation compte quand tu programmes
Un programme compilé est construit pour un système d'exploitation. Un .exe Windows ne s'exécute pas nativement sous Linux, même sur le même ordinateur, parce que le format de fichier et les appels système sont différents. C'est pour cela que les pages de téléchargement proposent des versions séparées, et que des environnements d'exécution comme la JVM, Node.js et CPython existent : ils sont construits une fois par système d'exploitation pour que ton code n'ait pas à l'être. Voir environnement d'exécution.
De petites différences passent quand même. Exécute ceci et compare avec un ami qui utilise un autre système :
Sous Linux et macOS, le résultat est :
Path separator: '/'
Line ending: '\n'
projects/notes/todo.txt
Sous Windows, le séparateur est '\\' (une seule barre oblique inverse), la fin de ligne est '\r\n', et le chemin devient projects\notes\todo.txt. Utiliser os.path.join (ou pathlib) au lieu de taper / à la main, c'est ce qui permet à un script de fonctionner sur les trois.
Idées reçues
- « Linux est un système d'exploitation. » Au sens strict, Linux est un noyau. Une distribution Linux comme Ubuntu ajoute le shell, les outils système, un gestionnaire de paquets et en général un bureau pour former un système d'exploitation complet. Dans le langage courant, on appelle les deux Linux.
- « Le BIOS fait partie du système d'exploitation. » Le BIOS ou le firmware UEFI se trouve sur la carte mère. Il vérifie le matériel puis charge le système d'exploitation depuis le disque, et son rôle principal s'arrête là.
- « Le bureau, c'est le système d'exploitation. » Le bureau est un programme parmi d'autres au-dessus du noyau. Les serveurs tournent en général sans aucun bureau, pilotés uniquement par un shell texte.
- « Les applications parlent au matériel. » Les programmes ordinaires n'en ont pas le droit. Chaque lecture de fichier, chaque paquet réseau et chaque pixel à l'écran passe par le système d'exploitation, c'est pourquoi une application qui plante n'entraîne normalement pas tout l'ordinateur avec elle.
Pour aller plus loin
Le système d'exploitation est la couche du bas ; l'environnement d'exécution se trouve entre lui et ton code. C'est la protection de la mémoire qui produit une erreur de segmentation, et la page sur l'octet explique l'unité qu'utilise l'OS pour les fichiers et la mémoire. Pour piloter un système d'exploitation depuis son shell texte, essaie le cours sur le terminal.
Questions fréquentes
Un ordinateur peut-il fonctionner sans système d'exploitation ?
Quels sont les 5 systèmes d'exploitation les plus courants ?
Quels sont les principaux types de systèmes d'exploitation ?
Comment savoir quel système d'exploitation j'utilise ?
winver. Sur un Mac, ouvre le menu Apple et choisis À propos de ce Mac. Sous Linux, lance cat /etc/os-release dans un terminal, et uname -r affiche la version du noyau.