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

62

J'entends souvent les gens se référer au noyau Linux en tant qu'image du noyau Linux et je n'arrive pas à trouver de réponses sur les moteurs de recherche pour expliquer pourquoi on appelle cela une image.

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

Tony
la source
10
Il peut être aussi une copie de la région RAM (ce qui est à
mon humble avis

Réponses:

60

Le processus de démarrage Unix n’a (eu) que des capacités limitées de chargement intelligent d’un programme (déplacement de celui-ci, 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 lancer le noyau.

Bien plus tard, des éléments tels que la (dé) compression ont été ajoutés et, bien que des chargeurs de démarrage plus puissants soient maintenant en place, le nom de l'image est resté bloqué.

Anthon
la source
1
La compression et la décompression n'ont rien à voir avec ce qu'on appelle une "image". Il est toujours chargé dans un point spécifique de la mémoire et appelé directement, comme au bon vieux temps. Le chargeur de démarrage intermédiaire a toujours existé. Le noyau lui-même est toujours une image, chargée dans un point spécifique de la mémoire et appelée directement.
phyrfox
C’est précisément pour cette raison que le PO a été confondu avec l’OMI. Une version compressée de son image ne ressemblerait plus à une image (si on la regarde non compressée) et ne s'appelle pas une image. Mais le noyau s'appelle toujours une image.
Anthon
TBH n'est pas sûr que vous ayez raison à propos de l'origine, mais votre explication est tellement logique que je dois revenir au vote. IMHO image compressée est encore une image. Le moyen de récupérer une image est sans importance. C'est une image. Cela clarifie ce dont vous parlez et peut-être que c'est la chose la plus importante.
akostadinov
Intéressant. Donc, si j’ai un fichier javascript qui contient le texte d’un objet contenant un tas de fonctions de type noyau, et le charge via XMLHttpRequest et l’évalue, côté NodeJS et utilise le serveur NodeJS pour interagir avec lui via des requêtes, je peux appeler cela javascript file a Kernel Image: O
Dmitry
31

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

Simon Richter
la source
3
C’est un terme sympa, sans ambiguïté, qui évite de fouiller avec des termes tels que "binaire", "exécutable", "programme", ... pour faire référence à l’image réelle sur le disque.
Thomas
3
Une image est un instantané de la mémoire.
ikegami
2
Pas tout à fait - j'ai besoin de suffisamment d'informations pour (re) créer l'état complet du système. Si un vidage de la mémoire suffit, j’ai une connaissance implicite (adresse de démarrage, état initial du système); si cela ne suffisait pas, je ne parlerais pas de vidage de la mémoire sous forme d' image .
Simon Richter
20

Cela ne signifie pas qu'une "image" est juste une copie 1: 1 d'un disque. Tout comme une photographie représente la réalité exactement comme il a été 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 non empaquetée) dans la mémoire des systèmes exactement comme il est et donné le contrôle à elle. Ce programme peut alors démarrer à partir de cet état de manière cohérente. Ainsi, l’image du noyau Linux est une image (une image de l’état) du noyau Linux qui peut s’exécuter toute seule 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 elle et lui donne le contrôle. Le processus de démarrage d'un ordinateur le fait plusieurs fois jusqu'à ce que le système d'exploitation s'exécute enfin. Ceci s'appelle le chargement en chaîne . Ou si un programme plus petit (chaîne) charge un programme plus complexe, il s'appelle bootstrapping .

Le BIOS charge le chargeur de démarrage qui est également une image, appelée par exemple boot.imgen cas de grub. Ce boot.imgn'est pas un fichier (si grub est installé); c'est le nom de la partie qui se trouve dans le Master Boot Record (MBR). Si vous sauvegardez cela dans un fichier, il s'agira d'une image sous la forme d'un fichier non écrit brutalement sur disque, mais brutalement écrit dans un fichier. C'est aussi une représentation (image) de l'état le plus ancien où grubest capable de charger le reste de lui-même. gruba ensuite son propre mécanisme pour se charger complètement en chargeant d’autres images. Ceci est représenté par les différentes étapes de 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.

le chaos
la source
7

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.

SkipBerne
la source
1
Je voterais plus si tu ajoutais un lien de référence
RobAu
reportez - vous à Digital Equipment Corporation de "RSX-11M + Systems Reference Manual" DEC 1981. Depuis lors , elle propage à travers l'industrie
SkipBerne
5

En mathématiques, le noyau est l’image inverse d’un sous-ensemble de l’image d’une carte, où le sous-ensemble est égal à l’élément d’identité du domaine du codomaine. Je suis certain que ces noms découlent de concepts mathématiques, car ils sont liés de manière significative dans divers domaines des mathématiques. Étant donné qu'Unix a été dérivé dans un environnement académique, il est possible que son utilisation du noyau et de l'image de ce mot soit identique.

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 les homomorphismes de groupe sur cet ensemble ou les associer à d'autres ensembles ayant des tailles différentes, puis l'ensemble d'origine, tant que ils "respectent" la structure de l'ensemble original qui en fait un groupe. Vous pouvez voir qu'il peut être avantageux de mapper l'ensemble vers 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 dans les fonctions générales et les cartes, n'est 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 seraient pas inclus dans l'image.

Noyau - En gros, seuls les éléments du jeu d'origine qui correspondent à l'image, mais uniquement à l'élément d'identité de l'image. Fondamentalement, les éléments qui correspondent à 0 sont identiques à ceux de l’image.

Si la taille de l'image est plus petite que celle du jeu d'origine, nous pouvons voir que plusieurs éléments doivent correspondre à un seul élément. Ainsi, par exemple, plusieurs éléments du noyau peuvent être mappés à l'image et nous savons déjà qu'ils doivent tous être mappés à 0.

Nous pouvons voir que si nous choisissons l'ensemble original comme étant des séquences finies binaires ou des 1 et des 0 et que le codomaine (ensemble mappé sur) soit également des séquences binaires, 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).

Nous voyons donc avec une certitude totale que "noyau" et "image" d'un système d'exploitation sont complètement définis et ont une signification mathématique. Indépendant de peut-être d'autres utilisations des termes.

marshal artisanat
la source
Fondamentalement, le noyau peut être une version "amincie" du système d'exploitation, ou une partie du système d'exploitation qui est importante et peut être "abstraite", puis à condition que la carte soit homophonique par injection et connue, elle permet de traiter l'ensemble de l'image sans avoir à contourner l'image entière. On dirait qu’une méthode de compression de données est l’origine du terme "noyau" et "image". Mais en réalité, ils découlent de concepts mathématiques bien connus.
Marshal craft
3
Salut Maréchal. Il vaut mieux améliorer votre message en le modifiant plutôt qu'en ajoutant des commentaires.
Anthony G - justice pour Monica le
4
Je crois que l’utilisation informatique du noyau provient de la "partie centrale (généralement comestible) d’un écrou, en particulier une fois que la coquille dure a été retirée " (voir la section " Wiktionary" ) - c’est la petite partie interne du système d’exploitation; Après avoir enlevé toutes les "couches extérieures" (GUI, commandes, interpréteurs de commandes, pilotes chargeables), il s’agit de la partie (approximativement) minimale nécessaire pour que le matériel fonctionne correctement.
TripeHound
Wow juste wow. Spéculation sans base. TripeHound a eu raison. le métier de marshal vient de le deviner.
Josué
Révisez votre Ty "assez certain" :)
hobbs