2007年6月5日星期二

为什么Win32下运行DOS程序资源占用率这么高?

author:nforcex

Q:为什么PC上运行Turbo C 2.0系统占用率如此之高?系统变得缓慢?
A:在采用 x86-32(Intel & AMD)处理器的PC上,CPU是通过虚拟机的技术来模拟8086的架构的--MS-DOS是运行于8086之上的,当DOS下进程运行时,模拟的DOS 通过陷阱使I/O等操作陷入Windows核心态中,配合CPU的部分硬件虚拟,来虚拟8086内核,因为虚拟过程中使用了不计其数的中断等操作(陷阱和虚拟的缘故),使得系统效率奇低无比。

所以当你在AMD Athlon64 X2 4800+上或者是P4 XEE上运行小小的DOS程序(记住,不是控制台程序)仍然奇慢无比或者系统资源占用很高的时候不要摸不着头脑或者抱怨什么了,只不过是虚拟的8086效率太低导致的罢了。

没有评论: