【发布时间】:2015-02-10 13:54:39
【问题描述】:
操作系统加载后是否会从主内存中删除引导加载程序?一旦操作系统被加载,它是主内存的最终权限吗?(比如它决定了哪些程序将占用内存中的哪个空间?)
【问题讨论】:
标签: operating-system bootstrapping
操作系统加载后是否会从主内存中删除引导加载程序?一旦操作系统被加载,它是主内存的最终权限吗?(比如它决定了哪些程序将占用内存中的哪个空间?)
【问题讨论】:
标签: operating-system bootstrapping
某些操作系统可能会以与大多数操作系统保留 BIOS 代码相同的方式保留自举代码。至于 Linux 和 Windows,它们确实将引导代码先前占用的内存标记为未分配,并将以任何他们认为合适的方式使用它。代码实际上不会被删除,但会在操作系统分配此内存区域后被覆盖。
【讨论】:
/proc/iomem看到Linux中的保留内存。引导代码加载到 0x7c00,GRUB 将 stage2 加载到 0x8000。这两个地址都位于标记为系统 RAM 的区域(我的计算机上为 00001000-0009e7ff : System RAM),这意味着它用于程序和数据。