我应该在哪里将程序加载到RAM中?

时间:2012-09-01 23:39:25

标签: assembly x86

我正在开发程序集中的操作系统。我有一个工作的可执行加载程序加载COM文件,但我不确定我应该加载它们。我的操作系统加载到RAM为0x200000。目前我没有内存管理或类似的东西。我只是害怕我会加载一个程序,我不应该(喜欢进入视频ram,或覆盖现有的代码)。除了IDT和视频RAM之外,BIOS是否在0x200000之前使用了任何东西。

1 个答案:

答案 0 :(得分:2)

几乎任何超过0x100000的东西都应该是安全的。我将内核加载到该地址,您可以将程序存储在大部分高端内存中。

操作系统和程序应该有足够的空间大于0x100000。之前的某些部分是可用的,但除非您确实需要,否则可能更容易避免该部分。

Memory Map (x86) - OSDev Wiki是您可以期待的一些很好的参考。

Detecting Memory (x86) - OSDev Wiki解释了如何查找可用内存。