cours1 min de lecture

Les systèmes d'exploitation

Le programme spécial qui orchestre tout l'ordinateur — processus, fichiers, droits, multitâche.
programme

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 CPUDécider quel programme exécute des instructions, et pendant combien de temps.
Gestion de la mémoireAttribuer de la RAM aux programmes, isoler leurs espaces.
Gestion des fichiersOrganiser le disque en arborescence, lire et écrire.
Gestion des périphériquesDialoguer avec les pilotes (clavier, écran, imprimante, réseau).
Gestion des utilisateurs et des droitsAuthentifier, autoriser ou refuser les accès.
Définition à retenir : un système d'exploitation est un programme qui masque la complexité matérielle aux autres programmes et partage les ressources de la machine entre les utilisateurs et les applications.
appels systèmeinterruptions

Applications utilisateur

Services système

Noyau (kernel)

Matériel

Couches d'un système d'exploitation

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 multitâche préemptif est très différent du multitâche coopératif : préemptif, l'OS peut interrompre un processus à tout moment ; coopératif, le processus doit rendre la main de lui-même. Les OS modernes utilisent tous le préemptif, plus robuste — un processus mal écrit ne peut pas geler tout le système.

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égorieDésignationDroits possibles
Propriétaire (user)ulire (r), écrire (w), exécuter (x)
Groupeglire, écrire, exécuter
Autres (others)olire, é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 groupe users peut seulement lire.
  • r-- : les autres utilisateurs peuvent seulement lire.
Piège classique : un fichier avec le droit d'écriture pour « autres » (-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.

FamilleExemplesCaractéristiques
Libre (open source)Linux, FreeBSDCode source accessible, modifiable, redistribuable.
PropriétaireWindows, macOS, iOSCode 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.