Les différentes couches d'un système d'exploitation

Étant utilisateur plus ou moins fidèle de GNU/Linux depuis quelques années (plus ou moins, parce que j'ai toujours un Windows en dual boot, principalement pour les jeux (possiblement plus pour longtemps, avec l'arrivée de Steam pour Linux... ) ), je commence a connaître plus ou moins bien mon système. Or il y a plusieurs choses a savoir sur les systèmes d'exploitation, et celle dont je vais parler aujourd'hui, c'est le système de couches.

Un système d'exploitation (de type UNIX, \<troll>enfin un vrai système quoi. \</troll>) incorpore plusieurs systèmes de couches.

Ainsi, Linux (le noyau) a commencé en étant un kernel monolithique, c'est a dire que tous les composants sont intégrés au kernel. Ce qui signifie que rien ne peut être ajouté au noyau sans recompiler celui ci. Or, quand on sait que le noyau comprend entre autres les drivers du matériel et des systèmes de fichier, cela peut poser des problèmes quand a la taille du kernel et a la licence libre de ce dernier.

Depuis un certain temps, le kernel linux est devenu un kernel modulaire, ce qui signifie que des modules peuvent être chargé a tout moment en cours d’exécution, ce qui permet l'utilisation de nouveaux systèmes de fichiers a chaud, ou l'insertion de matériel et l'installation de drivers sans interrompre l’exécution du système (Windows utilise un système de fausse installation de drivers pour le matériel externe, et un système de pré-installation des drivers pour les périphériques dits "plug and play")

Après le noyau intervient le système. Or, au tous premiers instants du boot, les systèmes GNU/Linux utilisent un système permettant de limiter l'utilisation de ressources systèmes si elles ne sont pas nécessaires, et incorpore ainsi un système dit de "runlevels"

Ainsi, au runlevel 0, le système s'éteint après avoir booté. Ainsi, ce runlevel permet de tester le bon démarrage du système sans avoir a effectuer de manipulation pour le ré-éteindre

Le runlevel 1 est appelé mode single user, et c'est un nom plutôt adapté étant donné que ce runlevel donne accès a un système en étant automatiquement loggé en tant que root, avec tous les autres utilisateurs désactivés, de même que tous les systèmes de réseaux

Le runlevel 2 est appelé mode multi user, et vous mets en face d'un système classique. en ligne de commande, mais avec tous les systèmes de réseau désactivés.

Le runlevel 3 est le même que le 2, mais avec les systèmes de réseaux activés.

Le runlevel 4 n'est pas officiellement défini, et est censé être activable en fonction des besoins de l'utilisateur. Sur la plupart des distributions grand public, ce runlevel est lié au...

Runlevel 5! Multi-user, networking, with working GUI! c'est le système tel que vous le connaissez, avec l'interface graphique et le système de login graphique.

Le runlevel 6, enfin, est le bien nommé "reboot", qui reboot la machine quand il devient le runlevel courant.

(Il est a noter que Debian, et donc toutes les distribs qui en sont dérivées, ne font pas de distinction entre les differents runlevels du 2 au 5. Ainsi, Ubuntu fonctionne par défaut au runlevel 2, avec un login et une interface graphique, et un mode réseau fonctionnel, bref avec des fonctionnalités qui ne sont normalement disponibles que sous le runlevel 5.)

Il est possible de changer de runlevel grâce a la commande runlevel (oui, c'est évident...)

Les systèmes Linux utilisent aussi un système dit de SandBox , qui en informatique est un système permettant d'isoler les processus les uns des autres. Ainsi, la pile réseau, qui est le système auquel les différents processus envoient les différents paquets qui doivent sortir de la machine , et qui redistribue ces paquets, est isolée du reste du système, en cela qu'aucun des autres processus ne peuvent modifier cette pile hors du runlevel 1 ou 2.

De la même façon, le navigateur chrom/ium fait fonctionner tous les onglets, ainsi que toutes les extensions, dans des processus différents. Certaines distributions linux implémentent un système de cette sorte pour toutes les applications, ou seulement pour certaines. ainsi Chakra Linux a un système d'installation d'applications dans des disques virtuels, ce qui permet une sécurité totale du processus.

Voila, j'espère vous en avoir appris un peu sur le fonctionnement des différentes couches de linux, et j'espère que cet article vous poussera a tester un peu votre système et a vous amuser avec les différents runlevels