关于建造系统虚拟机的BIOS的问题
我想建造一个简单的80x86的系统虚拟机,而怎样来建造BIOS就是一个难题了。
现在有一种方法就是完全模拟BIOS和主板,整个BIOS程序采取第三方提供的程序。。(就是通过加载一个Bios.bin文件来实现)
但是我不太想用这种方法,我不想完整模拟Bios,所以想能不能跳过这一步,只模拟BIOS提供的中断服务。就是从Boot Sector 这块进行模拟。就是说我虚拟的cpu执行的第一条指令是引导扇区的指令,而不是Bios里面的那条经典的跳转指令。。。
就是不知道我的想法可不可行?是不是Bios在Boot Sector后只提供中断服务就可以了,?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
不好意思,第一次发帖,忘记给分了。。。。
引导扇区是先被bios搬过来再执行的
其实在嵌入式里,很多时候无所谓什么引导扇区不引导扇区,但是也会涉及到一个把内容搬到RAM、解压等东西。你BIOS里不把硬件相关的一些东西设一设,你怎么执行呢?当然,8086也可以永远都执行ROM里面的东西,但是硬盘你是如何访问的?你打算模拟一个什么样的硬件?你想好架构了吗?当然,其实更无所谓什么主板不主板,我好象有一块8086的嵌入式板子,好象是我以前一同事设计的吧,上面是没有主板概念的。不过在模拟之前,你还是先想好你模拟了一个什么样的硬件。一个单独的CPU不叫一个可以工作的硬件。
你先想好你模拟了什么。
不考虑单片机(其实它是一个集成),最简单的嵌入式结构也要有这几样东西:cpu,rom,ram,IO port
一般没必要模拟引导过程,你只需模拟几个INT服务例程就可以了。
只要做到每个中断例程的入口、出口、功能一致就可以了,至于内部如何跳转,那完全随你高兴。
[ 本帖最后由 beepbug 于 2009-1-10 08:47 编辑 ]
想好了,就是BIOS的问题还不太清楚。
不知道Boot Sector 以后是不是只需要提供中断服务就可以了。??
就是这个问题。是否提供中断就可以了?
是的,这是BIOS最终的使命。它可以管着一帮I/O,才使得你的电脑强大。
嗯。。明白了,谢谢。。呵呵
BIOS做好多事,如:硬件自检、系统引导、参数设置等。但是,你做系统虚拟机,则只需模拟中断服务例程的功能和接口就可以了。