我正在开发一个装配操作系统。我有一个工作的可执行程序加载器加载COM文件,但我不知道我应该加载它们。我的操作系统被加载到0x200000的RAM中。目前我没有内存管理或类似的东西。我只是害怕我会加载一个程序到一些我不应该(像进入视频RAM,或覆盖现有的代码)。除了IDT和视频RAM之外,BIOS在0x200000之前是否使用任何内容。我应该在哪里加载程序到RAM中?
0
A
回答
2
您应该安全地使用0x100000以上的任何东西。我将内核加载到该地址,并且可以将程序存储在大部分高端内存中。
对于操作系统和程序,您应该在0x100000之上有足够的空间。以前的某些部分是可用的,但除非真的需要,否则可能更容易避免该部分。
Memory Map (x86) - OSDev Wiki是您可以期待的一些事情的很好的参考。
Detecting Memory (x86) - OSDev Wiki解释如何找到可用内存。
+0
-1。可以有1MB以上的内存映射设备。你应该真正检查BIOS功能,返回你的RAM的布局。 –
相关问题
- 1. 我应该在哪里调用wp_register_script()在wordpress中加载js?
- 2. 我应该在哪里将图像保存到我的iPhone应用程序中?
- 3. 我应该在哪里部署我的应用程序?
- 4. 我应该在哪里添加CakeLog :: config
- 5. 我应该在哪里增加ReceiveTimeout?
- 6. 我应该在哪里添加deployment.xml
- 7. 在哪里应该将数据加载到ViewModel中
- 8. 我应该在哪里加载一些用于加载应用程序数据的代码?
- 9. 我应该在哪里保存应用程序数据?
- 10. 我应该在哪里存储C#应用程序的数据?
- 11. iPhone MVC应用程序:我应该在哪里放置模型?
- 12. 我应该在哪里加载UISwitch的状态?
- 13. 我应该在哪里存储我的javascript程序的设置?
- 14. 我应该在哪里上传我的node.js程序?
- 15. 我的第一个CodeIgniter程序:我应该在哪里写它?
- 16. 在哪里可以找到应用程序加载程序在Xcode 7.2
- 17. 我应该在哪里将这个库放在我的android应用程序中?
- 18. 我应该在哪里找到我的baseActivity课程?
- 19. shiro.ini应该放到Web应用程序中去哪里?
- 20. config.to_prepare应该在Rails 3.1应用程序中出现在哪里?
- 21. 在.NET服务应用程序中,我应该在哪里添加它应该执行的功能?
- 22. 我应该去哪里?
- 23. 我应该在哪里编写mapreduce程序
- 24. 我应该在哪里放置处理程序?
- 25. 我应该在哪里把我的UpdatePanel
- 26. 如何以及应该在哪里设置和加载实用程序应用程序中的NSUserDefaults?
- 27. Zend导航:我应该在哪里加载私人应用程序中的ACL'角色'
- 28. yii-auth:我应该在哪里添加bizrule到新任务?
- 29. 我的应用程序在哪里
- 30. 我的Android应用程序在哪里?
这是一个令人难以置信的模糊问题。我有点怀疑你会得到像这样有用的答案。 – Cubic
是的我同意,我会添加更多细节 – user1454902
更详细。我认为这是x86?你想要使用什么操作系统或其他环境加载/进入?至于外围设备(视频卡),bios列举了pci(e)总线并将这些东西放置在内存中,dos和linux等工具会告诉你放置的位置,每次启动都不一定相同,但bios每次都使用相同的范围(除非另有说明)通常是在第三或第四个演出中的32位机器的1gig窗口,64位可能有2个演出窗口 –