Jump to section

Le noyau (ou kernel) Linux, qu'est-ce que c'est ?

Copier l'URL

Le noyau (ou kernel) Linux® est le principal composant d'un système d'exploitation Linux et constitue l'interface entre le matériel d'un ordinateur et ses processus. Il assure la communication entre les deux parties et gère les ressources aussi efficacement que possible.

Le noyau porte ce nom, car à l'instar d'une graine dans sa coque, il existe au sein du système d'exploitation et contrôle toutes les fonctions principales du matériel, qu'il s'agisse d'un téléphone, d'un ordinateur portable, d'un serveur ou de tout autre type d'ordinateur.

Le noyau Linux remplit quatre fonctions :

  1. Gestionnaire de la mémoire : suivi des contenus stockés, de leur emplacement et de l'espace mémoire utilisé
  2. Gestionnaire des processus : identification des processus susceptibles de solliciter le processeur, à quel moment et pour quelle durée
  3. Pilote des périphériques : médiateur/interprète entre le matériel et les processus
  4. Gestionnaire des appels système et de la sécurité : réception des demandes de service envoyées par les processus

S'il est mis en œuvre correctement, le noyau demeure invisible pour l'utilisateur et fonctionne de manière autonome dans ce qu'on appelle l'espace noyau. Il y alloue la mémoire et garde une trace de l'emplacement de stockage de chaque élément. Ce que l'utilisateur voit, notamment les navigateurs web et les fichiers, correspond à l'espace utilisateur. Ces applications interagissent avec le noyau par l'intermédiaire de l'interface des appels système.

Le principe est le suivant : le noyau est comparable à l'assistant personnel dévoué d'un grand dirigeant (le matériel). L'assistant est chargé de transmettre les messages et les demandes (les processus) émanant des salariés et du public (les utilisateurs) au dirigeant, de garder une trace des éléments enregistrés et de leur emplacement (la mémoire) ainsi que d'identifier les personnes autorisées à rencontrer le dirigeant, à quel moment et pour quelle durée.

Pour mieux comprendre le contexte dans lequel le noyau opère, imaginez une machine Linux comme un système à trois couches :

  1. Matériel : la machine physique qui sert de structure ou de base au système est constituée d'une mémoire RAM et d'un processeur, ainsi que de périphériques d'entrée/de sortie tels que les systèmes pour le stockage, la mise en réseau et les éléments graphiques. Le processeur effectue des calculs, il lit les données en mémoire et y inscrit d'autres données.
  2. Noyau Linux : le cœur du système d'exploitation. Il s'agit du logiciel présent dans la mémoire qui fournit les instructions au processeur.
  3. Processus utilisateur : il s'agit des programmes exécutés qui sont gérés par le noyau. L'ensemble des processus utilisateur forme l'espace utilisateur. Les processus utilisateur sont aussi simplement appelés processus. Le noyau permet également à ces processus et aux serveurs de communiquer entre eux (communication inter-processus).

Lorsque le code est exécuté par le système, le processeur peut se trouver soit en mode noyau, soit en mode utilisateur. En mode noyau, le code exécuté accède sans aucune restriction au matériel. En mode utilisateur, en revanche, seule l'interface des appels système peut accéder au processeur et à la mémoire. La même distinction existe au niveau de la mémoire (espace noyau et espace utilisateur). Plusieurs tâches complexes, telles que la séparation des autorisations pour la sécurité, la création des conteneurs et les machines virtuelles, sont basées sur ces deux concepts assez similaires.

Ainsi, si un processus échoue en mode utilisateur, les conséquences sont limitées et la récupération est toujours possible par le noyau. En revanche, puisqu'un processus en mode noyau accède à la mémoire et au processeur, en cas d'échec, il peut provoquer une panne généralisée du système. Les protections mises en place et les autorisations requises pour accéder aux différents composants du système permettent, dans la plupart des cas, de limiter les conséquences des problèmes suite à l'échec d'un processus en mode utilisateur.
Par ailleurs, le noyau Linux continue à fonctionner lors de l'application de correctifs en direct, ce qui élimine les temps d'arrêt provoqués par les correctifs de sécurité. 

Linux constitue la base de tous les produits Red Hat. Nous sommes le second plus grand contributeur professionnel du noyau Linux. Nous nous appuyons pour cela sur 25 années d'expérience et d'expertise ainsi que sur une vaste communauté de partenaires, clients et spécialistes du secteur. Il s'agit d'une relation à long terme, qui s'appuie sur un historique et un niveau d'expérience peu communs.

Le noyau Linux est Open Source et nos valeurs reposent sur ce concept. Découvrez pourquoi nous sommes convaincus que Red Hat® Enterprise Linux est la meilleure solution.

Keep reading

Article

Linux, qu'est-ce que c'est ?

Linux est un système d'exploitation Open Source dont le principal composant est le noyau, auquel sont intégrés des outils, applications et services.

Article

SELinux, qu'est-ce que c'est ?

SELinux (Security-Enhanced Linux) est une architecture de sécurité pour systèmes Linux® qui permet aux administrateurs de mieux contrôler les accès au système.

Article

Le noyau Linux, qu'est-ce que c'est ?

Le noyau Linux est le principal composant d'un système d'exploitation Linux et constitue l'interface entre le matériel d'un ordinateur et ses processus.

En savoir plus sur Linux

Produits

Base stable, éprouvée et suffisamment polyvalente pour prendre en charge le déploiement de nouvelles applications, la virtualisation des environnements et la création d'un cloud hybride plus sécurisé.

Ressources