48 votes

Quelle est la relation entre un système d'exploitation Linux et un noyau ?

J'utilise Linux depuis plusieurs années, mais je ne suis jamais allé au-delà de l'installation à partir d'un CD/DVD. Si le gestionnaire d'applications n'avait pas ce que je recherchais dans un logiciel, j'étais une cause perdue.

Mais pour l'instant, j'essaie de comprendre ce qu'est "Linux".

Le premier mot qui me vient à l'esprit est "noyau". Après avoir lu sur Wikipedia, je comprends qu'un noyau est un logiciel qui s'exécute pour permettre à d'autres logiciels (OS + applications) d'accéder au matériel (CPU, RAM+++). Il gère également la mémoire, mais n'est-ce pas ce que le système d'exploitation est censé faire (ce dont je me souviens du cours sur les systèmes d'exploitation) ?

La distribution Linux est-elle juste une liste de logiciels emballés ?

Prenez ma distro préférée : Fedora. Elle en est maintenant à la version 14 et est livrée avec le noyau 2.6.35.

Est-ce que le noyau vient de quelque part de central et est-ce que le noyau de chaque distro Linux ? Si c'est vrai, alors la distro Linux n'est-elle qu'un moyen de rendre l'ordinateur avec le noyau plus convivial à utiliser ? De cette façon, la distro+noyau est le système d'exploitation car l'un sans l'autre n'est pas utilisable (peut-être le noyau pur, mais qui s'assied là-dessus ?).

36voto

Kurt Points 2779

C'est à peu près ça. Pour moi, "linux" est juste le noyau. Mais il est assez courant de se référer à des distributions entières comme linux. C'est ce qui énerve tant RMS. Il soutient qu'on devrait l'appeler GNU/Linux, car il voit les distributions comme le noyau linux plus les logiciels supplémentaires du projet GNU. Cela a du sens aussi, mais je n'utilise jamais le terme GNU/Linux. Je parle soit du noyau linux, soit des "distributions linux", soit d'une distribution spécifique.

Donc oui. Une distribution est juste le noyau (qui peut inclure des correctifs spécifiques à la distribution) plus tous les programmes supplémentaires qui le rendent utilisable.

Le noyau est un projet central, et est nominalement le même dans chaque distro, mais la plupart des distros le personnalisent un peu.

Et le logiciel supplémentaire ne rend pas seulement le noyau plus convivial, il le rend utilisable tout court. Un noyau n'est constitué que de gestionnaires d'interruptions, de pilotes de périphériques et d'appels système. En fait, il virtualise le matériel et fournit un environnement standard sur lequel les programmes peuvent travailler.

L'expression "système d'exploitation" peut prêter à confusion. Certains diront que le noyau EST le système d'exploitation, et que tout le reste est soit un utilitaire, soit une application, soit autre chose. D'autres diront que le noyau et quelques autres paquets constituent le système d'exploitation, mais que la plupart des logiciels ne font pas partie du système d'exploitation. D'autres encore peuvent dire que tous les logiciels de la distro font partie du système d'exploitation.

26voto

paxdiablo Points 341644

Linux est le noyau. C'est ce que Linus a écrit et c'est ce sur quoi les développeurs du noyau continuent de travailler aujourd'hui. Il contrôle le matériel.

Un site système d'exploitation est quelque chose qui comprend un noyau et un certain nombre d'"applications" de niveau inférieur qui vous permettent, en tant qu'utilisateur, de faire des choses utiles avec votre ordinateur (pensez au gestionnaire de fichiers, au panneau de configuration, etc.)

A distro (distribution) est un système d'exploitation emballé avec une quantité absolument massive d'applications de niveau supérieur (a) comme les outils de création de DVD, les navigateurs web, les suites bureautiques, etc. (b) .

Il existe des zones d'ombre entre noyau/OS et même OS/distro, mais je pense que c'est un bon point de départ pour comprendre comment tout cela s'articule.


(a) Même Windows le fait dans une certaine mesure, avec l'inclusion de Wordpad, Calculator et Paint, mais pas au niveau follement prolifique auquel les distros Linux s'étendent - avons-nous vraiment besoin de 472 gestionnaires de fichiers différents ? Le choix est bon, oui, mais seulement jusqu'à un certain point :-)


(b) Oui, je suis conscient que "ad-near-infinitum" n'a aucun sens puisque toute quantité finie soustraite de l'infini est toujours infinie. Mais, si vous voulez de la précision mathématique, vous devriez probablement vous rendre à https://math.stackexchange.com :-)

6voto

Akhil Sharma Points 83

OS est juste un noyau et un Shell qui travaillent main dans la main.

Distro est une combinaison de shell(s) personnalisés fonctionnant sur un noyau, ce qui signifie, par exemple, que Kali, Ubuntu, Fedora, Mint, etc. sont des distros différentes qui fonctionnent sur le noyau Linux.

Shell Le shell peut être une interface de ligne de commande ou une interface utilisateur graphique. Bash, sh, Windows GUI sont quelques shells.

Noyau Il alloue du temps et de la mémoire aux programmes et gère le stockage des fichiers, etc.

Pour expliquer davantage le shell et le noyau, supposons que vous tapez cd . Le shell recherche dans le filestore le fichier contenant le programme cd, puis demande au noyau, par le biais d'appels système, d'exécuter le programme cd sur monfichier.

Pour prendre un exemple simple GUI de Windows est un Shell, Système d'exploitation Windows une distribution par Microsoft.

Similaire, Système d'exploitation Ubuntu ou fedora OS etc une distro travaillant sur différents shells utilisant le noyau Linux.

Un shell ou une distro ne rend pas le noyau plus facile à utiliser mais il le rend utilisable pour l'utilisateur.

Donc maintenant, on peut dire simplement que Linux est un noyau. Linux + l'interpréteur de commandes (Bash, Gnome, etc.) est une distribution de Linux, par exemple Ubuntu, Mint, Kali, etc.

-3voto

Calin Points 1

"Noyau" et "Shell" sont les termes originaux, comme dans disons "noyau" et "shell". "Shell" est l'interpréteur de commandes. "Distro" est un terme qui désigne un ou plusieurs shell(s) personnalisé(s) + des programmes spécifiques inclus dans cette distribution. Une distribution peut cependant comporter plusieurs shells. Du point de vue de l'utilisateur, ce concept est proche de celui du langage humain. C'est le langage que vous devez utiliser pour parler au terminal qui parlera au shell. L'interpréteur de commandes le lira et cherchera un fichier dans le répertoire de fichiers (toujours à l'intérieur de l'interpréteur de commandes/de la distribution). Une fois le fichier (exécutable) trouvé, le shell l'envoie au noyau qui effectue le travail (processus). Pensez à une voiture qui aura le même moteur non modifié pendant de nombreuses années mais qui changera de châssis/carrosserie. Je pense que je dois m'arrêter là...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X