- 论坛徽章:
- 7
|
本帖最后由 smalloc 于 2011-09-28 18:31 编辑
回复 1# eggqq007
这个虚拟机的文档我仍然看得不是很明白,
>>模拟的最小粒度为BIOS的中断命令。所需要模拟的硬件为VGA(显卡),PCKeyBoard(键盘),MagneticDisk(磁盘),RealTimeClock(实时时钟)。
磁盘基本知道就是替换了BIOS 的系统调用, 读写都是同步完成.
键盘是怎么做到的呢?
通常X86肯定触发一个键盘中断完成了对键盘的控制.
而这个虚拟机程序是运行在windows的消息机制下 . 即键盘输入转化为windows的键盘消息,
然而要运行DOS, 必然要由这个消息触发CPU的键盘中断程序, 这个如何设计的呢?
执行键盘中断后模拟了对键盘IO端口的读?
MS整个环境只需要模拟键盘中断? 没有其他中断, 磁盘中断已经在BIOS的时候完成了
好象没有完成定时器的模拟?应该对一个含定时器的程序无法运行?比如一个游戏程序?
怎么说呢, 看了之后觉得分析这个虚拟机的实现可行性倒挺有技术含量的.---这是怎么想到的?依赖虚拟BIOS和键盘中断 竟然恰到好处的能保证跑DOS. |
|