内核 - 引导地址。为什么?

4

因为BIOS需要这样做... - Basile Starynkevitch
1
请注意,本文涉及的内容已经过时,文章中提到的任何东西都不再适用。即使是其中的图片也因为大小超出了十年前的限制而无法加载。 - Antti Haapala -- Слава Україні
@AnttiHaapala:啊?那现在的规则是什么? - Larry
1个回答

6

有一个480.5 KiB的区域,从0x00007E00到0x0007FFFF,保证是可用于操作系统的自由RAM。

需要知道的是,并非所有物理地址都是可用的RAM。有些被保留用于BIOS数据、用作视频内存或其他原因。

看到便宜的BIOS和硬件忽略标准或试图进行智能黑客攻击而破坏事情并不罕见。这个内存区域不受任何花招的影响,是加载数据的好地方,确实运行良好。

如您所知,引导扇区通常位于0x00007C00到0x00007DFF,正如您的文章提到的那样,Linux将该扇区重定位到0x00090000,然后从0x00010000开始加载其余的内核。这是一个很好的位置,因为它是低内存中最大的(近半MiB)可保证可用于使用的自由RAM块。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接