A menudo escucho que la gente se refiere al kernel de Linux como la imagen del kernel de Linux y parece que no puedo encontrar respuestas en ningún motor de búsqueda sobre por qué se llama imagen.
Cuando pienso en una imagen solo puedo pensar en dos cosas, ya sea una copia de un disco o una foto. Seguro que no es una imagen fotográfica, ¿por qué se le llama imagen?
kernel
linux-kernel
Tony
fuente
fuente
Respuestas:
El proceso de arranque de Unix tiene (tenía) solo capacidades limitadas de cargar de manera inteligente un programa (reubicarlo, cargar bibliotecas, etc.). Por lo tanto, el programa inicial era una imagen exacta, almacenada en el disco, de lo que había que cargar en la memoria y "llamar" para poner en marcha el núcleo.
Solo mucho más tarde se agregaron cosas como la (des) compresión y, aunque ahora se han implementado cargadores de arranque más potentes, el nombre de la imagen se ha pegado.
fuente
La palabra imagen también tiene una definición "Un archivo que contiene toda la información necesaria para producir una copia de trabajo en vivo".
fuente
No significa que una "imagen" sea solo una copia 1: 1 de un disco. Al igual que una fotografía representa la realidad exactamente como lo fue cuando se dispara, una imagen de un programa ejecutable (o núcleo) representa el programa en un estado, en el que se puede cargar (o descomprimido) en la memoria del sistema exactamente como es y luego dado el control a ello. Ese programa puede comenzar a ejecutarse desde ese estado de manera consistente. Entonces, la imagen del kernel de Linux es una imagen (una imagen del estado) del kernel de Linux que puede ejecutarse sola después de darle el control.
Hoy en día, el gestor de arranque carga dicha imagen desde el sistema de archivos del disco duro (se necesita un controlador), se reemplaza con él y le da el control. El proceso de arranque de una computadora lo hace varias veces hasta que el sistema operativo finalmente se ejecuta. Esto se llama carga en cadena . O si un programa más pequeño (chain-) carga uno más complejo, se llama bootstrapping .
El BIOS carga el gestor de arranque que también es una imagen, por ejemplo llamada
boot.img
en caso degrub
. Eseboot.img
no es un archivo (si grub está instalado); es el nombre de la parte que está en el Master Boot Record (MBR). Si volca eso en un archivo, entonces sería una imagen en forma de un archivo no escrito en bruto en el disco, sino escrito en un archivo. Esta también es una representación (imagen) del primer estado en elgrub
que puede cargar el resto de sí mismo.grub
luego tiene su propio mecanismo para cargarse completamente cargando otras imágenes. Esto está representado por las diferentes etapas engrub
. Después de eso, el gestor de arranque carga la imagen del núcleo al reemplazarse con el contenido extraído de ese archivo.fuente
Historia antigua. el término imagen proviene de un antiguo término de Digital Equipment Corporation para la salida del compilador-> enlazador. el archivo es una imagen creada al interpretar el código y así sucesivamente a través del enlazador para crear una "Imagen" ejecutable de su diseño.
fuente
En matemáticas, el núcleo es la imagen inversa de un subconjunto de la imagen de un mapa, si el subconjunto es igual al elemento de identidad en el codominio. Estoy seguro de que estos nombres se derivan de conceptos matemáticos, ya que están relacionados significativamente en varios campos de las matemáticas. Teniendo en cuenta que Unix se derivó en un entorno académico, es posible que su uso del núcleo y la imagen de estas palabras sean iguales.
Si tiene un conjunto que representa algún nivel de información sobre el sistema operativo "completo", si esa información también forma un grupo, entonces puede definir los homomorfismos de grupo en ese conjunto o básicamente se asigna a otros conjuntos que tienen diferentes tamaños, entonces el conjunto original siempre que ellos "respetan" la estructura del conjunto original que lo convirtió en un grupo. Puede ver que puede estar a su favor asignar el conjunto a un conjunto más pequeño o un subconjunto de algún conjunto donde el subconjunto es más pequeño.
Imagen: la imagen de un homomorfismo grupal y, en general, las funciones y los mapas, son solo un subconjunto de algún conjunto, cuyos elementos se asignan realmente. Es posible que la función no se asigne a cada elemento individual y esos elementos no se incluirían en la imagen.
Kernel: básicamente, solo los elementos del conjunto original se asignan a la imagen, pero solo se asignan al elemento de identidad en la imagen. Básicamente, los elementos que se asignan a 0 son similares en la imagen.
Si la imagen es más pequeña que el conjunto original, podemos ver que varios elementos deben mapearse en un solo elemento. Entonces, por ejemplo, puede haber múltiples elementos del núcleo que se asignan a la imagen y ya sabemos que todos tienen que asignarse a 0.
Podemos ver que si elegimos que el conjunto original sea secuencias finitas de binario o 1 y 0 y el codominio (conjunto asignado a) también sean secuencias de binario, entonces podemos construir tales cosas si y solo si, una estructura de grupo adecuada se puede definir (un poco en profundidad y sin relación con la pregunta formulada).
Entonces vemos con total certeza que "núcleo" e "imagen" de un sistema operativo están completamente definidos y tienen un significado matemático. Independiente de quizás otros usos de los términos.
fuente