Les systèmes d’exploitation
# Plan de la séance
- Qu’est-ce qu’un système d’exploitation ?
- Combien de systèmes d’exploitation existe-t-il ?
- Qu’est-ce qu’un « environnement de bureau » ?
- Les partitions
- Les systèmes de démarrage
- Installations !
# 1. Un système d’exploitation, c’est quoi ?
Ce fut en novembre, pendant une nuit affreuse, que je vis l’accomplissement de mes travaux. Dans une inquiétude voisine de l’agonie, je rassemblai autour de moi les instrumens propres à donner la vie, pour introduire une étincelle d’existence dans cette matière inanimée qui était à mes pieds. L’airain avait déjà sonné la première heure après minuit ; la pluie battait, avec un sifflement horrible, contre mes fenêtres ; ma lumière était près de s’éteindre, lorsqu’à cette lueur vacillante, je vis s’ouvrir l’œil jaune et stupide de la créature : elle respira avec force, et ses membres furent agités d’un mouvement convulsif.
— Mary Shelley, Frankenstein, ou le Prométhée moderne, 1818.
Un système d’exploitation, c’est une grande collection de programmes qui permet d’animer une machine, de lui « donner vie » en quelque sorte – comme l’étincelle que donne le docteur Frankenstein à sa créature pour lui insuffler la vie (Frankenstein, ou le Prométhée moderne, Mary Shelley, 1818). Le matériel qui compose un ordinateur (système d’alimentation électrique, clavier, écran, cadre métallique…) n’a de sens que s’il est animé d’une couche logique. Le microprocesseur est en quelque sorte un canon à électrons, capable de projeter des électrons dans un circuit imprimé avec grande fréquence, mais qui n’a pas beaucoup de sens à l’échelle macroscopique (vous arrive-t-il souvent d’avoir besoin d’un accélérateur de particules dans la vie courante ?).
Rigoureusement, les systèmes d’exploitation comprennent une couche qu’on appelle couramment le « noyau » (en anglais, le kernel) : c’est cette couche qui interagit directement avec le matériel et qui permet de l’« exploiter ». Cette couche nous est à peu près invisible.
Lorsque nous utilisons un ordinateur, nous utilisons plutôt la couche applicative, destinée aux utilisateurs. Cette couche applicative est composée des différents programmes qu’on utilise tous les jours, comme la barre de tâches, le menu de démarrage, le navigateur web ou l’explorateur de fichiers (un programme qui affiche des fichiers et des dossiers avec des icônes, sous forme de liste qu’on peut trier). C’est le noyau qui permet d’allouer des ressources, comme de la mémoire vive pour contenir les instructions temporaires des programmes en cours d’exécution.
Un système d’exploitation, c’est donc la couche invisible qui nous permet d’utiliser les programmes dans la vie de tous les jours.
# 2. Combien de systèmes d’exploitation existe-t-il ?
Il existe une énorme variété de systèmes d’exploitation. On distinguera les systèmes d’exploitation à usage restreint, comme les systèmes embarqués (un thermostat, une imprimante, un appareil photo) des systèmes d’exploitation multi-usage : ceux auxquels on pense quand on utilise un ordinateur ou un téléphone au quotidien ! On retrouve de nombreuses versions et variantes de systèmes d’exploitation, mais qui sont souvent issues des mêmes familles.
Les systèmes d’exploitation multi-usage sont moins nombreux, car ce sont des projets d’une très grande complexité : il doit être possible d’utiliser d’innombrables programmes pour accomplir des tâches de toutes sortes, sur des appareils de marques et modèles extrêmement variés. Il doit être possible d’utiliser du matériel périphérique également très varié, comme des écrans aux mille et une résolutions, ou des imprimantes par exemple.

Illustration de Richard Stallman qui utilise une imprimante. (Crédits : Free Software Foundation)
L’exemple de l’imprimante n’est pas anodin : c’est dans les laboratoires de Xerox, une compagnie aujourd’hui spécialisée dans les photocopieurs, que Steve Jobs et Bill Gates ont trouvé l’inspiration pour leurs systèmes d’exploitation commerciaux, le macOS d’Apple et Microsoft Windows.
C’est une frustration avec l’utilisation d’une imprimante que le mouvement du logiciel libre est né (en quelque sorte). L’étudiant au MIT, Richard M. Stallman, voulait apporter une modification au programme qui lui permettait d’utiliser l’imprimante. Puisque le pilote était propriétaire et que l’entreprise refusait de lui fournir les fichiers du pilote, Stallman n’a pas pu apporter ses changements. Face à cette frustration, il a déclaré par la suite que tous les logiciels devraient être à code source ouvert et a lancé sa fondation pour le logiciel libre, la Free Software Foundation.
L’un des systèmes d’exploitation les plus influents du 20e siècle est UNIX, né dans les laboratoires Bell de la compagnie AT&T (l’ancien monopole téléphonique aux États-Unis). C’est dans ce laboratoire qu’un grand nombre d’innovations on vu le jour, comme le transistor, le laser ou la cellule photovoltaïque. On compte d’ailleurs plusieurs prix Nobel issus de ce laboratoire. UNIX est le fruit du travail des ingénieurs Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIllroy et Joe Ossana qui travaillaient tous chez Bell Labs. Il aurait été inventé à partir de 1969 et rendu public en 1973. (UNIX a été (ré)écrit en C, un langage de programmation également inventé chez Bell Labs et encore utilisé aujourd’hui.) De nombreuses versions de UNIX ont été mises en circulation, avec des mutations plus ou moins importantes et des branches idéologiques parfois contrastantes : par exemple, la variante FreeBSD (basée sur une distribution universitaire de l’Université de Berkeley) est une distribution libre pour des fins commerciales. Le système d’exploitation Mac OS X, paru au début des années 2000, est basé sur une version particulière de UNIX, appelée Darwin.

Montage UNIX. Crédits : Reddit, utilisateur Thanatophobia666
Au début des années 1980, Microsoft rachète le système DOS (Disk Operating System), un système d’exploitation minimaliste avec lequel on interagit surtout avec une ligne de commande : il faut taper les instructions dans une fenêtre noire à l’écran. Microsoft en fait MS-DOS, ce qui devient la base des premières versions de Windows. C’est donc une famille complètement séparée de celle de UNIX. (À noter que Microsoft a même déjà estampilé sa propre version de UNIX, Xenix.)

Montge MS-DOS. Crédits : PC World
# 2. Combien de systèmes d’exploitation existe-t-il ?
Il existe à la fois beaucoup de systèmes d’exploitation (de nombreuses versions et distributions) et très peu (quelques grandes familles, surtout dérivées de UNIX, comme FreeBSD, Minix… et DOS, comme Windows 95).

Linus Torvalds qui présente Linux en 1991.
Linux a été créé par l’étudiant finlandais Linus Torvalds au début des années 1990 afin de reproduire pour lui-même une copie de UNIX, apprécié pour son efficience mais difficile d’accès en raison des licences d’acquisition (que seules les entreprises et les universités pouvaient se permettre).
En parallèle, Richard Stallman (celui qui avait des frustrations avec les imprimantes) avait entamé depuis plusieurs années un projet de système d’exploitation. Il avait jusqu’alors achevé l’écriture d’une collection de programmes pour tous les jours, chapeauté sous le projet GNU (GNU’s Not Unix!) mais il manquait un morceau important : le noyau du système d’exploitation.
En combinant leurs inventions (Linux + utilitaires GNU), on obtient un système d’exploitation complet et libre : GNU/Linux !
Il existe aujourd’hui des centaines de « distributions » Linux.
Une ligne du temps des distributions Linux (Andreas Lundqvist, Muhammad Herdiansyah, Fabio Loli, via Wikimedia Commons)
Pourquoi Linux ?
- performant (les 500 ordinateurs les plus puissants dans le monde roulent tous sous Linux)
- sécuritaire
- robuste (le noyau a peu de bogues)
- vaste communauté composée de professionnels de l’industrie, d’entreprises, de citoyens engagés…
- des milliers (!) de contributeur·trice·s participent à chaque version !
# 3. Qu’est-ce qu’un environnement de bureau ?
Un environnement de bureau est une collection de programmes qui travaillent ensemble pour offrir à l’utilisateur·trice un environnement de travail ergonomique, en facilitant l’accès aux documents et aux autres programmes/logiciels installés sur le système. Idéalement, ils fonctionnent de manière harmonieuse entre eux, en partageant le même vocabulaire graphique (couleurs, polices, icônes) et les mêmes métaphores visuelles (bureaux virtuels et espaces de travail).
C’est un peu comme le design intérieur d’une voiture : derrière une marque et un modèle précis, il y a des centaines de pièces et composantes qui ont peu de rapport entre elles (un tableau de bord électronique, des sièges en revêtement synthétique, les poignées et boutons de la portière). On s’attend à ce que toutes ces pièces fonctionnent de manière unifiée pour composer non pas une simple collection d’objets, mais une voiture unifiée.

Des intérieurs de voiture (via le moteur de recherche DuckDuckGo).
La barre de tâches est un exemple de programme qu’on assimilie généralement à l’environnement de bureau.
En principe, chaque programme peut être remplacé par un autre (il existe différents programmes de barre de tâches, plusieurs lanceurs d’applications, plusieurs modules d’applets !)
Les programmes des environnements de bureau sont plus ou moins configurables.
Les environnements de bureau les plus populaires :
- GNOME
- KDE Plasma
- Xfce
- Cinnamon
- Mate
- Budgie
- Deepin
# 4. Les partitions
Les disques peuvent être partitionnés, c’est-à-dire séparés comme une maison à l’intérieur de laquelle on érige des murs.
Les disques des ordinateurs sont presque toujours partitionnés, ne serait-ce que pour accueillir la partition de démarrage (boot partition), dont la seule mission est de lancer le système d’exploitation complet.
Il est courant d’avoir plusieurs partitions sur un même disque pour y installer… plusieurs systèmes d’exploitation !

Capture d’écran du programme gParted sous Linux.
# 5. Les systèmes de démarrage
Encore moins passionnants que les systèmes d’exploitation, les systèmes de démarrage sont pourtant cruciaux pour lancer un système d’exploitation (ou pour en gérer plusieurs).
Quelques exemples :
- GRUB (GNU GRand Unified Bootloader)
- rEFInd
- Clover
- OpenCore Legacy Patcher (OCLP)
# 6. Installations !
- Explorez les distributions disponibles et (peut-être surtout) leurs communautés
- Quels sont vos besoins, vos usages ?
- Ayez toujours une sauvegarde de vos données !
- Besoin d’aide ? EndOf10.org, Agenda du libre du Québec, Association Facil
Programmes utiles pour effectuer des sauvegardes :
rsyncdd- Timeshift
- SuperDuper! (macOS seulement)