Qu’est-ce qu’un noyau Linux ?

Image d’un codeur entouré de lignes de code

Auteurs

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Qu’est-ce que le noyau Linux ?

Le noyau Linux est un noyau open source qui est critique pour de nombreux systèmes informatiques. Dans le système d’exploitation (OS) Linux, le noyau Linux constitue une interface critique entre les couches matérielles et logicielles, ce qui permet au système d’exploitation de gérer de nombreux composants différents à la fois. 

Les noyaux sont des programmes informatiques qui constituent le cœur d’un système d’exploitation (OS) et permettent à l’utilisateur de contrôler totalement les composants matériels et logiciels qui composent le système. Les noyaux permettent d’éviter les conflits entre les processus importants qui sont essentiels au bon fonctionnement du système. Le code du noyau est conservé dans la mémoire de l’ordinateur et permet toutes les interactions entre les logiciels et le matériel. par exemple, les entrées/sorties (E/S), l’utilisation du processeur et du cache, les pilotes de périphériques, les systèmes de fichiers et les sockets réseau.

Le noyau Linux a été développé en 1991 par Linus Torvalds comme alternative gratuite à Unix, l’un des premiers systèmes d’exploitation permettant aux utilisateurs d’interagir directement avec les ordinateurs. Depuis, le noyau Linux, ses versions ultérieures et les éditions de noyau sont devenues des éléments critiques pour les distributions Linux. Aujourd’hui, ils sont utilisés par certaines des plus grandes entreprises technologiques, de logiciels et d’informatique du monde.  

Distributions du noyau Linux

Toutes les 9 à 10 semaines, une nouvelle version du noyau Linux est publiée. Ces versions, appelées « noyaux stables », sont utilisées par les développeurs de noyaux Linux et les responsables de la maintenance des référentiels Linux. Elles sont disponibles sur kernel.org et GitHub.

Certains fournisseurs, cependant, comme Debian et Red Hat, préfèrent conserver un arbre source personnalisé, c’est-à-dire une collection de tout le code source du noyau Linux pour leurs propres projets. Cette approche a des répercussions critiques sur l’utilisation du noyau Linux dans de nombreuses applications d’entreprise modernes telles que l’intelligence artificielle (IA), l’edge computing et l’Internet des objets (IdO). 

Par exemple, Red Hat Enterprise Linux est une plateforme Linux stable et haute performance qui présente des fonctionnalités de sécurité et de gestion personnalisées, et elle est construite en utilisant l’arborescence source Linux personnalisée de Red Hat. Debian utilise son arbre source pour maintenir Ubuntu, un code open source qui est fondamental pour de nombreuses architectures IdO. 

Noyau Linux et système d’exploitation Linux

Un noyau est un programme informatique qui fonctionne comme le cœur libre du système d’exploitation, le système qui permet aux utilisateurs d’interagir avec le matériel et les logiciels de l’ordinateur. Dans le cas du système d’exploitation Linux, le noyau Linux est le code qui forme le composant principal du système d’exploitation, lui permettant de remplir ses fonctions.

Le système d’exploitation Linux est constitué de divers composants en plus du noyau Linux, tels que les bibliothèques système, les fonctionnalités de l’espace utilisateur et les applications. Cependant, tous ces composants s’appuient sur le noyau Linux pour communiquer avec le système d’exploitation afin de pouvoir recevoir des commandes telles que les entrées/sorties (E/S), et répondre aux requêtes utilisateurs. Le noyau Linux est connu pour sa flexibilité et peut être modifié selon les besoins de l’utilisateur ou les exigences d’un programme particulier.

Cycle de vie du noyau Linux

Chaque version du noyau Linux comporte un cycle de vie pendant lequel elle est testée, rendue publique, puis progressivement éliminée. Le cycle de vie du noyau Linux est décomposé en cinq phases : Prepatch, Mainline, Stable Review, Long Term Support (LTS) et fin de vie (EOL). 

  • Prepatch : les développeurs Linux testent de nouvelles fonctionnalités dans l’arborescence des sources du noyau.
  • Mainline : les changements sont stabilisés par des tests et des ajustements rigoureux.
  • Stable Review : le noyau subit des correctifs supplémentaires afin de résoudre les problèmes critiques identifiés lors de la phase principale avant sa sortie. 
  • Support à long terme (LTS) : seuls certains noyaux sont identifiés comme des noyaux LTS et sont maintenus plus longtemps que les autres (généralement deux ans). 
  • Fin de vie : les noyaux non sélectionnés pour l’édition LTS voient leur prise en charge interrompue lorsque de nouveaux noyaux sont publiés.  

 

Les dernières actualités technologiques, étayées par des avis d’experts

Restez au fait des tendances les plus étonnantes du secteur dans le domaine de l’IA, de l’automatisation, des données et bien d’autres avec la newsletter Think. Consultez la Déclaration de confidentialité d’IBM.

Merci ! Vous êtes abonné(e).

Vous recevrez votre abonnement en anglais. Vous trouverez un lien de désabonnement dans chaque newsletter. Vous pouvez gérer vos abonnements ou vous désabonner ici. Consultez la Déclaration de confidentialité d’IBM pour plus d’informations.

Avantages du noyau Linux

Aujourd’hui, Linux est l’un des systèmes d’exploitation open source les plus utilisés au monde. Cela est dû en grande partie à la flexibilité et à l’efficacité du noyau Linux. Il offre de nombreuses capacités de gestion et de contrôle qui font du système d’exploitation Linux une plateforme puissante, y compris celles qui alimentent le processeur (le cerveau actif d’un système informatique) et sa capacité de mise en réseau (sa capacité à se connecter à d’autres appareils et à partager des ressources et des informations). Voici quelques-uns des principaux avantages du noyau Linux pour les entreprises : 

  • Abstraction : en termes informatiques, le terme « abstraction » signifie simplement l’omission d’informations non critiques pour permettre une interaction plus transparente entre les appareils et les programmes. Le noyau Linux peut faire abstraction du matériel sous-jacent, en masquant les détails sans importance du système d’exploitation et en permettant aux systèmes et aux logiciels de fonctionner plus efficacement. 
  • Personnalisation : le noyau Linux peut être personnalisé pour répondre aux besoins spécifiques de différents utilisateurs ou de différents types de systèmes d’exploitation. Le processus de personnalisation nécessite généralement de modifier le code source du noyau et de compiler une image de noyau personnalisée, qui est simplement un noyau qui a été ajusté pour servir un usage spécifique. Ensuite, des fonctionnalités et des modules de noyau spécifiques (éléments de code chargés ou déchargés dans le noyau pour ajouter ou soustraire certaines fonctions) peuvent être sélectionnés pour répondre à des besoins informatiques spécifiques. Il existe des modules de noyau populaires pour des tâches et des appareils tels que les calculs hautes performances (HPC), les applications d’entreprise et les processeurs graphiques (GPU).  
  • Conteneurisation : la conteneurisation, le regroupement du code logiciel avec uniquement les bibliothèques du système d’exploitation et les dépendances nécessaires à son exécution dans n’importe quel environnement informatique, est critique pour de nombreuses applications cloud natives modernes. Le noyau Linux est essentiel pour la conteneurisation et les technologies adjacentes telles que Docker et Kubernetes qui rendent les conteneurs possibles. Docker et Kubernetes sont les deux outils de conteneurisation les plus populaires sur le marché, avec 94 % des entreprises sondées utilisant l’un ou les deux1. Docker est utilisé pour créer et exécuter des conteneurs, et Kubernetes est une plateforme d’orchestration de conteneurs open source qui permet la gestion et la mise à l’échelle des applications conteneurisées. 
  • Virtualisation : le noyau Linux peut exécuter des machines virtuelles (VM) sur une seule machine physique en utilisant sa fonctionnalité « Machine virtuelle basée sur le noyau (KVM) ». Les machines virtuelles sont importantes, car elles permettent aux ressources d’une seule machine physique, telles que la mémoire, le processeur, l’interface réseau et le stockage, d’être utilisées par différents systèmes d’exploitation sur un seul appareil. Ce processus transforme essentiellement le système Linux en un hyperviseur, un outil utilisé pour gérer et surveiller les machines virtuelles, ce qui lui permet de bénéficier de capacités importantes en matière de gestion des machines virtuelles. 
AI Academy

Se préparer à l’IA avec le cloud hybride

Dirigé par des leaders d’opinion IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires qui leur permettront d’orienter leurs investissements IA vers les opportunités les plus prometteuses.

Comment fonctionne le noyau Linux ?

Le noyau Linux est composé de six couches distinctes, ou sous-systèmes, qui lui permettent d’assurer ses fonctions principales : 

  • Mise en œuvre de l’appel système (SCI)
  • Gestion des processus
  • Gestion de la mémoire
  • Mémoire virtuelle
  • Pile réseau
  • Pilotes de périphériques

Voici un aperçu plus détaillé de chacun d’entre eux et de leur fonctionnement.

SCI

La couche SCI porte les fonctionnalités qui permettent au noyau d’exécuter des appels système depuis l’espace utilisateur vers le noyau. Il s’agit d’une capacité critique du noyau Linux car l’espace utilisateur est l’endroit où les applications et les pilotes exécutent leur charge de travail, tandis que l’espace du noyau est réservé à l’exécution des fonctions critiques du système d’exploitation. La couche SCI forme un pont entre les deux espaces. Lorsqu’un appel système est lancé à partir de l’espace utilisateur, par exemple, une demande pour actualiser une boîte de réception d’e-mails ou ouvrir une application mobile, l’appel système déclenche un commutateur vers la couche noyau, permettant à la demande d’être transmise au système d’exploitation.

Gestion des processus

La couche de gestion des processus permet au noyau Linux d’exécuter les processus qui permettent aux utilisateurs d’interagir avec l’ordinateur. Par exemple, lors du démarrage de Linux, Init (abréviation de « initialisation ») met le système dans un état utilisable en exécutant des scripts de démarrage et en gérant les niveaux d’exécution. Chaque processus représente une virtualisation du processeur, par exemple, le code thread, les données, la pile et les registres CPU.  

Gestion de la mémoire

Les ordinateurs gèrent la mémoire virtuelle à l’aide de ce que l’on appelle des « pages ». La page est la plus petite unité de données au sein d’un système d’exploitation qui repose sur la mémoire virtuelle. La couche de gestion de la mémoire du noyau Linux permet au système d’exploitation, et par extension à l’utilisateur, de gérer la mémoire disponible d’un ordinateur. La mémoire virtuelle est critique au fonctionnement de chaque programme et application.

Système de fichiers virtuel (VFS)

Le système de fichiers virtuel (VFS) du noyau Linux fournit une interface commune pour les systèmes de fichiers. Le VFS fonctionne comme une couche de commutation entre la SCI et les systèmes de fichiers pris en charge par le noyau, activant de nombreuses fonctions critiques (par exemple, ouvrir, fermer, lire et écrire). 

Les abstractions des systèmes de fichiers, en d’autres termes, la façon dont les fichiers, les répertoires et les systèmes de fichiers apparaissent aux utilisateurs, sont un autre composant clé de la couche VFS, ce qui permet de présenter la complexité d’un système informatique d’une manière représentative et facile pour un utilisateur.

La pile réseau

Chaque ordinateur d’un réseau, également appelé « nœud », doit suivre les protocoles de mise en réseau, c’est-à-dire un ensemble strict de règles pour partager et recevoir les données. Ces protocoles sont essentiels pour permettre aux appareils incompatibles d’utiliser le même réseau, par exemple, un téléphone Android et un ordinateur Mac. 

Pour faciliter ce type de communication, les protocoles réseau s’appuient sur des passerelles, qui sont des périphériques matériels (tels que des routeurs) qui facilitent la communication entre deux réseaux différents. La pile réseau du noyau Linux utilise de nombreuses passerelles courantes, telles que des adaptateurs de débit, des traducteurs de protocole et autres, pour rendre possible la communication Internet entre des périphériques incompatibles.

Pilotes de périphériques

Les pilotes de périphérique fournissent à un système d’exploitation une interface logicielle qui permet à un périphérique spécifique de fonctionner, comme un clavier ou un lecteur externe, une souris ou une imprimante. Le code source du noyau Linux est principalement composé du code contenu dans les pilotes de périphériques spécifiques à un certain appareil. 

L’arborescence des sources Linux, un répertoire contenant tout le code source du noyau Linux et des pilotes de périphériques, est divisée entre les différents périphériques pris en charge et leurs connexions, telles que Bluetooth ou port série. Le pilote de périphérique reconnaît les commandes données à un appareil individuel, ou à une classe d’appareil, et crée des requêtes d’E/S contenant ces commandes afin que l’appareil fonctionne comme prévu par l’utilisateur. 

Cas d’utilisation du noyau Linux

Des entreprises de secteurs très différents s’appuient sur le noyau Linux et les diverses fonctionnalités qu’il offre pour que leur personnel continue d’innover et pour fournir les programmes, les applications et les services dont leurs clients dépendent. Voici quelques-uns des cas d’utilisation les plus courants en entreprise pour le noyau Linux.

Mise en réseau informatique

Le noyau Linux permet de connecter en toute sécurité les ordinateurs et les appareils informatiques via Wi-Fi, Ethernet ou tout autre type de connexion, quelle que soit la compatibilité des appareils. Cette fonctionnalité permet le partage des connaissances et des ressources critiques, comme l’utilisation d’intranets et une livraison rapide et efficace des produits SaaS (logiciel à la demande).

Le noyau Linux est doté de capacités de sécurité robustes qui permettent de protéger les utilisateurs et les systèmes d’exploitation contre les cybermenaces susceptibles d’endommager les ordinateurs, les programmes, les applications et les réseaux sur lesquels ils s’exécutent. Ces menaces comprennent de nombreux types de logiciels malveillants, tels que les ransomwares, les rootkits, les vers, etc. Les menaces qui ciblent les vulnérabilités du noyau Linux sont traitées par des correctifs fréquents, tels que des corrections de bogues, qui sécurisent les systèmes et les programmes qui s’y exécutent. 

Optimisation des ressources

Sachant que 89 % des entreprises mettent en place des projets de transformation numérique2, l’optimisation des ressources de calcul dédiées à la transformation numérique est désormais un élément essentiel de la plupart des stratégies métier. 

Le noyau Linux aide les entreprises à équilibrer les besoins de leurs ressources les plus prisées, telles que les serveurs, les bases de données et les logiciels des application de pointe, afin qu’elles puissent avoir l’assurance que leurs systèmes et réseaux fonctionnent de manière optimale grâce à un processus appelé réglage du noyau. 

Le réglage du noyau consiste à ajuster subtilement les paramètres du noyau Linux afin d’améliorer la performance de sous-systèmes spécifiques, tels que le réseau, la mémoire, la planification des processus et les systèmes de fichiers. Dans le cas des systèmes de fichiers, par exemple, de nombreuses applications à forte intensité de données, notamment les jeux vidéo, les applications de trading financier et les sites de réseaux sociaux, nécessitent le réglage des paramètres du système de fichiers pour fonctionner à des niveaux optimaux. Le système de fichiers proc, un VFS dans Linux OS, assure l’interface entre les structures de données internes du noyau pour obtenir des données sur le système afin d’optimiser les paramètres du noyau et les performances de l’application.

Gestion des appareils

Pour évoluer, les entreprises les plus performantes doivent désormais équiper leurs employés de technologies de pointe, telles que des ordinateurs portables et des appareils mobiles. Le noyau Linux permet aux programmes et aux réseaux qui prennent en charge des milliers d’employés à différents endroits et utilisant différents types d’appareils de collaborer de façon fluide. Le noyau permet aux périphériques matériels d’interagir à l’aide de modules de périphériques spécifiques qui peuvent être chargés sur le noyau afin d’être gérés par le système d’exploitation.

Un processus de gestion des appareils Linux populaire est connu sous le nom d’interruptionL’interruption permet d’économiser des ressources de calcul en permettant au noyau Linux d’interrompre la communication entre un périphérique et une application lorsque cela n’est pas nécessaire pour une opération spécifique. Un autre outil est udev, un outil de gestion des périphériques Linux qui gère l’ajout et la soustraction de périphériques d’un système d’exploitation et contrôle la façon dont chaque périphérique apparaît dans un répertoire.

Cloud computing

Le cloud computing, qui consiste à fournir à la demande des ressources informatiques via Internet, est devenu un outil essentiel pour de nombreuses entreprises modernes. Il stimule l’innovation et favorise une mise à disposition des solutions rapide et évolutive. 

Le noyau Linux soutient le cloud computing de manière critique et il est devenu un composant essentiel de tous les plus grands fournisseurs de cloud dans le monde, notamment Amazon (AWS), Microsoft Azure, Oracle et Google Cloud.

L’évolutivité du noyau lui permet de prendre en charge des systèmes informatiques massifs, tels que les supercalculateurs et les centres de données, sans augmenter considérablement les ressources de calcul, une capacité essentielle aux architectures cloud. Le noyau Linux est également idéal pour les workloads cloud car il est très stable, avec des temps d’arrêt relativement faibles. Enfin, le noyau Linux est très polyvalent et peut fonctionner sur de nombreux types de matériel, une capacité clé dans les environnements virtualisés qui sont au cœur du cloud moderne.

Notes de bas de page

1.     Top five containerization technologies in 2024, (lien externe à ibm.com), 6Sense, 2024

2.     The Value of Digital Transformation, (lien externe à ibm.com), Harvard Business Review, 31 juillet 2023

Solutions connexes
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center est une plateforme logicielle compatible avec OpenStack pour gérer l’infrastructure de clouds privés sur IBM zSystems et IBM LinuxONE.

Découvrir Cloud Infrastructure Center
Solutions d’infrastructure informatique

Découvrez des serveurs, des solutions de stockage et des logiciels conçus pour votre stratégie d’entreprise en matière de cloud hybride et d’IA.

Découvrir les solutions d’infrastructure informatique
Solutions d’infrastructure cloud

Trouvez la solution d’infrastructure cloud adaptée aux besoins de votre entreprise et ajustez les ressources en fonction de la demande.

Solutions cloud
Passez à l’étape suivante

Transformez l’infrastructure de votre entreprise grâce aux solutions de cloud hybride IBM prêtes pour l’IA. Découvrez des serveurs, des solutions de stockage et des logiciels conçus pour sécuriser, faire évoluer et moderniser votre entreprise, ou accédez à des informations d’experts pour améliorer votre stratégie d’IA générative.

Découvrir les solutions d’infrastructure informatique Télécharger l’eBook