为什么 Linux 内核被称为“映像”?

Ton*_*ony 65 kernel linux-kernel

我经常听到人们将 Linux 内核称为 Linux 内核映像,而且我似乎无法在任何搜索引擎上找到有关为什么将其称为映像的答案。

当我想到图像时,我只能想到两件事,要么是磁盘副本,要么是照片。它肯定不是照片图像,为什么它被称为图像?

Ant*_*hon 60

Unix 引导过程(具有)智能加载程序(重新定位,加载库等)的能力有限。因此,最初的程序是一个精确的映像,存储在磁盘上,需要加载到内存中并“调用”以使内核运行的内容。

直到后来才添加了(解)压缩之类的东西,尽管现在已经有了更强大的引导加载程序,但图像名称仍然存在。


Sim*_*ter 32

图像一词还有一个定义:“包含生成实时工作副本所需的所有信息的文件”。

  • 这是一个很好的明确术语,避免了使用“二进制”、“可执行文件”、“程序”等术语来指代磁盘上的实际图像的需要。 (3认同)
  • 图像是记忆的快照。 (3认同)
  • 不完全——我需要足够的信息来(重新)创建完整的系统状态。如果内存转储就足够了,那么我就有隐含的知识(起始地址、初始系统状态);如果这还不够,我不会将内存转储称为*图像*。 (2认同)

cha*_*aos 20

这并不意味着“图像”只是磁盘的 1:1 副本。正如照片完全代表拍摄时的现实一样,可执行程序(或内核)的图像代表处于某种状态的程序,在这种状态下,它可以完全按原样加载(或解压缩)到系统内存中,然后给予它控制权。然后该程序可以以一致的方式从该状态开始运行。所以Linux内核镜像是Linux内核的一个镜像(状态图),在把控制权交给它后可以自己运行。

如今,引导加载程序从硬盘的文件系统(需要驱动程序)加载这样的映像,用它替换自己,从而将控制权交给它。计算机的启动过程会多次执行此操作,直到操作系统最终运行。这称为链加载。或者,如果一个较小的程序(链)加载了一个更复杂的程序,则称为bootstrapping

BIOS 加载引导加载程序,它也是一个映像,例如boot.imggrub. 那boot.img不是一个文件(如果安装了 grub);它是主引导记录 (MBR) 中部分的名称。如果您将其转储到文件中,那么它将是文件形式的图像,而不是原始写入磁盘,而是原始写入文件。这也是grub能够加载自身其余部分的最早状态的表示(图像)。grub然后有自己的机制如何通过加载其他图像来完全加载自己。这是由表示不同阶段grub。之后,引导加载程序通过用该文件的提取内容替换自身来加载内核映像。


小智 7

古代历史。术语图像来自旧的 Digital Equipment Corporation 术语,表示编译器-> 链接器的输出。该文件是通过链接器解释代码等创建的图像,以生成设计的可执行“图像”。


mar*_*aft 5

在数学中,内核是某个地图的图像子集的逆图像,该子集等于 codomain 中的标识元素。我确信这些名称源自数学概念,因为它们在数学的各个领域都有显着的相关性。考虑到 Unix 是在学术环境中衍生出来的,它的使用这些词的内核和图像可能是相同的。

如果您有一个代表关于“完整”操作系统的某种级别信息的集合,如果该信息也形成一个组,那么您可以在该集合上定义组同态,或者基本上映射到具有不同大小的其他集合,只要原始集合他们“尊重”使其成为一个群体的原始集合的结构。您可以看到将集合映射到较小的集合或某个集合的子集(其中子集较小)可能对一个人有利。

图像 - 群同态的图像以及一般的函数和映射,只是某个集合的一个子集,它的元素实际上被映射到。该函数可能不会映射到每个元素,并且这些元素不会包含在图像中。

内核 - 基本上只是原始集合中映射到图像的元素,但仅映射到图像中的标识元素。基本上是映射到 0 像图像中的东西的元素。

如果图像尺寸小于原始集合,那么我们可以看到多个项目必须映射到一个元素。例如,内核中可能有多个元素映射到图像,我们已经知道它们都必须映射到 0。

我们可以看到,如果我们选择原始集合为二进制或 1 和 0 的有限序列,而余域(映射到的集合)也为二进制序列,那么我们可以构造这样的东西,当且仅当,一个合适的群结构可以定义(这有点深入,与所问的问题无关)。

所以我们完全肯定地看到操作系统的“内核”和“映像”是完全定义的并且具有数学意义。可能独立于这些术语的其他用途。

  • 我相信 _kernel_ 的计算用途来自“_坚果的中央(通常可食用)部分,尤其是在去除硬壳后。_”(参见 [wiktionary](http://en.wiktionary.org/wiki) /kernel)) - 它是操作系统的小内部部分;在剥离所有“外层”(GUI、命令外壳、可加载驱动程序)之后,它是使/让硬件以某种有用的方式运行所需的(大致)最少部分。 (5认同)
  • 嗨,元帅。最好通过编辑而不是添加评论来改进您的帖子。 (4认同)