我正在开发一个汇编操作系统。我有一个可以加载 COM 文件的工作可执行加载器,但我不确定是否应该加载它们。我的操作系统在 0x200000 处加载到 RAM 中。目前我没有内存管理或类似的东西。我只是害怕将程序加载到我不应该加载的某个地方(例如加载到视频内存中,或覆盖现有代码)。除了 IDT 和视频 RAM 之外,BIOS 是否使用 0x200000 之前的任何内容。
问问题
184 次
1 回答
2
几乎任何高于 0x100000 的东西都应该是安全的。我将内核加载到该地址,您可以将程序存储在大部分高端内存中。
您应该在 0x100000 以上有足够的空间用于操作系统和程序。之前的一些部分是可用的,但除非你真的需要它,否则避免该部分可能更容易。
Memory Map (x86) - OSDev Wiki是您可以期待的一些东西的一个很好的参考。
Detecting Memory (x86) - OSDev Wiki解释了如何查找可用内存。
于 2012-09-02T00:36:38.117 回答