web-dev-qa-db-fra.com

Pourquoi le noyau Linux est-il appelé une "image"?

J'entends souvent les gens se référer au noyau Linux comme l'image du noyau Linux et je n'arrive pas à trouver de réponse sur les moteurs de recherche pour expliquer pourquoi il s'appelle une image.

Quand je pense à un image je ne peux penser qu'à deux choses, soit une copie d'un disque ou une photo. C'est sûr que l'enfer n'est pas une image photo, alors pourquoi est-elle appelée image?

63
Tony

Le processus de démarrage Unix n'a (avait) que des capacités limitées de chargement intelligent d'un programme (relocalisation, chargement de bibliothèques, etc.). Par conséquent, le programme initial était une image exacte, stockée sur disque, de ce qui devait être chargé en mémoire et "appelé" pour faire fonctionner le noyau.

Seulement beaucoup plus tard, des choses comme la (dé) compression ont été ajoutées et bien que des chargeurs de démarrage plus puissants soient maintenant en place, le nom de l'image est resté.

60
Anthon

Le mot image a également une définition "Un fichier qui contient toutes les informations nécessaires pour produire une copie de travail en direct."

32
Simon Richter

Cela ne signifie pas qu'une "image" n'est qu'une copie 1: 1 d'un disque. Tout comme une photographie représente la réalité exactement comme lors de la prise de vue, une image d'un programme exécutable (ou noyau) représente le programme dans un état où il peut être chargé (ou décompressé) dans la mémoire du système exactement tel quel, puis lui être contrôlé. Ce programme peut alors commencer à s'exécuter à partir de cet état de manière cohérente. L'image du noyau Linux est donc une image (une image de l'état) du noyau Linux qui est capable de s'exécuter d'elle-même après lui avoir donné le contrôle.

De nos jours, le chargeur de démarrage charge une telle image à partir du système de fichiers du disque dur (un pilote est nécessaire), se remplace par lui et lui donne ainsi le contrôle. Le processus de démarrage d'un ordinateur le fait plusieurs fois jusqu'à ce que le système d'exploitation fonctionne enfin. Cela s'appelle chargement de chaîne . Ou si un programme plus petit (chain-) en charge un plus complexe, il s'appelle bootstrapping .

Le BIOS charge le chargeur de démarrage qui est également une image, par exemple appelée boot.img en cas de grub. Cette boot.img n'est pas un fichier (si grub est installé); c'est le nom de la pièce qui se trouve dans le Master Boot Record (MBR). Si vous transférez cela dans un fichier, ce serait alors une image sous la forme d'un fichier non écrit brutalement sur le disque, mais écrit brutalement dans un fichier. C'est également une représentation (image) du premier état où grub est capable de charger le reste de lui-même. grub a alors son propre mécanisme pour se charger complètement en chargeant d'autres images. Ceci est représenté par les différents étapes dans grub. Après cela, le chargeur de démarrage charge l'image du noyau en se remplaçant par le contenu extrait de ce fichier.

20
chaos

Histoire ancienne. le terme image provient d'un ancien terme de Digital Equipment Corporation pour la sortie du compilateur-> éditeur de liens. le fichier est une image créée en interprétant le code et ainsi de suite via l'éditeur de liens pour créer une "Image" exécutable de votre conception.

7
SkipBerne

En mathématiques, le noyau est l'image inverse d'un sous-ensemble de l'image d'une certaine carte, si le sous-ensemble est égal à l'élément d'identité dans le codomaine. Je suis certain que ces noms dérivent de concepts mathématiques car ils sont liés de manière significative dans divers domaines des mathématiques. Étant donné que Unix a été dérivé dans un environnement universitaire, il est possible que son utilisation du noyau et de l'image de Word soit la même.

Si vous avez un ensemble qui représente un certain niveau d'informations sur le système d'exploitation "complet", si ces informations forment également un groupe, vous pouvez définir l'homomorphisme du groupe sur cet ensemble ou mapper essentiellement à d'autres ensembles ayant des tailles différentes, puis l'ensemble d'origine tant que ils "respectent" la structure de l'ensemble d'origine qui en fait un groupe. Vous pouvez voir qu'il peut être en sa faveur de mapper l'ensemble à un ensemble plus petit ou à un sous-ensemble d'un ensemble où le sous-ensemble est plus petit.

Image - L'image d'un homomorphisme de groupe et, en général, les fonctions et les cartes, ne sont qu'un sous-ensemble d'un ensemble auquel les éléments sont réellement mappés. La fonction peut ne pas correspondre à chaque élément et ces éléments ne seront pas inclus dans l'image.

Noyau - Fondamentalement, seuls les éléments de l'ensemble d'origine sont mappés à l'image, mais uniquement mappés à l'élément d'identité dans l'image. Fondamentalement, les éléments qui correspondent à 0 ressemblent à quelque chose dans l'image.

Si l'image est plus petite que l'ensemble d'origine, nous pouvons voir que plusieurs éléments doivent correspondre à un seul élément. Ainsi, par exemple, il peut y avoir plusieurs éléments du noyau qui correspondent à l'image et nous savons déjà qu'ils doivent tous correspondre à 0.

Nous pouvons voir que si nous choisissons l'ensemble d'origine pour être des séquences finies de binaires ou 1 et 0 et le codomaine (ensemble mappé sur) pour être également des séquences de binaires, alors nous pouvons construire de telles choses si et seulement si, une structure de groupe appropriée peut être défini (ce petit peu en profondeur et sans rapport avec la question posée).

On voit donc en toute certitude que le "noyau" et l '"image" d'un O.S. sont complètement définis et ont une signification mathématique. Indépendant peut-être d'autres utilisations des termes.

5
marshal craft