首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >开发内核并在虚拟机中测试它们

开发内核并在虚拟机中测试它们
EN

Stack Overflow用户
提问于 2009-03-16 11:36:44
回答 4查看 2.7K关注 0票数 8

我喜欢编程挑战,而编写内核似乎是一个编程挑战。

不幸的是,内核特别难测试,因为它们基本上是操作系统的核心,所以它们不能很容易地在操作系统上运行。

但是,我知道一些称为虚拟机的应用程序可以模拟计算机硬件。

使用虚拟机开发和测试内核(C+Assembly)的最简单/最好的方法是什么?

EN

回答 4

Stack Overflow用户

发布于 2009-03-16 17:43:17

您可能会对HelenOS感兴趣。它是一个从头开始的微内核,已经被移植到许多使用模拟器(如Simics和QEMU )开发的体系结构(在裸机上启动都很好)。

我们使用在构建过程中复制到最终ISO的静态grub。有些事情只能这样,直到操作系统变成自托管。我强烈建议不要实现自己的用户空间C库,除非你真的想从头做起。你很快就会成为自托管:)

虽然Simics不是免费的,但我强烈建议您在制作内核时使用它(以及它内置的调试/分析工具)。一旦有了某种内核控制台和记录器,QEMU就会做得非常好。

票数 1
EN

Stack Overflow用户

发布于 2009-03-16 11:50:22

可能只是设置一台机器(我猜是x86),然后研究它在引导过程中的具体行为。在主机的文件系统中应该有一个或多个文件充当虚拟机的文件系统,然后您需要在其中放置一些引导扇区信息,以引导正在开发的内核。

当然,这意味着主机上的构建系统可以将内核写入虚拟机的文件系统,这可能会有不同的难度。

随机挑选一个,bochs似乎support编辑从外部使用标准工具,如dd等引导媒体。

票数 0
EN

Stack Overflow用户

发布于 2009-03-16 11:50:37

这很简单。设置虚拟机,编写内核,将其复制到虚拟机,启动虚拟机。

如果你想要更具体的建议,你需要更具体。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/650050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档