L'architecture de Linux

Décembre 2016

Autant Windows est assez monolithique, autant Linux est constitué d'une multitude de "briques" logicielles.

Par exemple sous Windows, il est quasi-impossible de faire fonctionner Windows sans son interface graphique ou de changer de gestionnaire d'interface graphique. Sous Linux, il suffit de retirer la brique correspondante, ou de la remplacer par une autre (par exemple, remplacer Gnome par KDE ou XFCE).


Explications


L'espace noyau, c'est le coeur du système. C'est lui qui gère le matériel (disques, carte graphique, réseau...) et en donne l'accès à des logiciels et librairies situées dans la couche utilisateur.
Ainsi, si les logiciels ou librairies de la couche utilisateur plantent, cela n'emporte pas le système avec.

Du point de vue graphique, comme vous pouvez le voir sur le schéma, les logiciels peuvent utiliser - par exemple - des fonctionnalités de Gnome, ou bien directement GTK+, ou bien utiliser directement X... ou bien rien du tout, et fonctionner sans interface graphique.

Notes


Ce schéma est simplifié:
  • Toutes les briques ne sont pas représentées (par exemple GTK+ utilise lui-même les "briques" Pango, Cairo...)
  • Toutes les relations entre briques ne sont pas signalées (par exemple, Gnome utilise des fonctions réseau).
  • La structure interne de chaque brique n'est pas détaillée (Par exemple, le noyau de Linux est lui-même relativement complexe.)


Il existe des milliers de briques logiciels disponibles sous Linux. Elles sont sous forme de programme exécutable ou de librairie.
Par exemple, si vous voulez créer un programme qui fait des requêtes HTTP, ne vous fatiguez pas à le programmer vous-même: utilisez simplement la librairie libcurl ou l'exécutable curl.
Si vous voulez avoir une petite idée des briques logicielles disponibles, lancez Synaptic et regardez les paquets commençant par "lib...": Ça ne vous donnera qu'une petite idée de tout ce qui est disponible.

Gestionnaires de fenêtres


Dans le schéma, les gestionnaires de fenêtres KWin et Metacity sont présentés, mais il en existe des dizaines d'autres.
On peut très bien - par exemple - utiliser IceWM à la place de Metacity dans Gnome. On peut même utiliser IceWM sans Gnome.

A voir également :

Ce document intitulé «  L'architecture de Linux  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.