ntvdm.exe

ntvdm.exe

目录导航

基本内容

信息

NTVDM 的图标NTVDM 的图标进程文件: ntvdm 或者 ntvdm.exe

进程名称: Windows 16-bit Virtual Machine

出品者: Microsoft Corp.

属于: Windows

系统进程: 是

后台程序: 是

使用网络: 否

硬件相关: 否

内存使用: 996K - 8444K

安全等级 (0-5): 0

间谍软件: 否

Adware: 否

广告软件: 否

木马: 否

这是什么意思呢?

众所皆知,微软新的桌面操作系统是向下兼容为旧系统开发的应用程序的(比如你可以在xp下玩仙剑奇侠传98柔情版),其中包括运行于DOS内核操作系统以及16位windowsPE 格式可执行文件,以及为DOS开发的只包含16位指令、运行于处理器实模式的可执行程序/命令(排除那些试图直接操作硬件的,因为这逾越了NT内核操作系统给应用程序的权限,或者说它们试图运行于处理器的0环,与操作系统内核运行于同一级别,为了内核的安全性,这显然是不能被允许的)。

微软采用了WOW(Windows On Windows)技术使得在xp等NT内核操作系统上可以运行那些为旧版操作系统开发的应用程序,这样我们便可以正常的运行 Windows 98 的甚至是Windows 3.2的计算器程序等。让我们在Windows XP下打开Windows 3.2的应用程序,如记事本,你就会发现 NTVDM 这个程序幽灵般的出现了,还带上了一个子进程 WOWEXEC.exe,这就是 WOW 的一个体现了。

而针对那些为 DOS 也就是 CPU 运行于实模式的情况下开发的16位程序,微软则使用了DOS虚拟机(VM)的方法。NTVDM 虚拟了一台运行DOS的计算机,使得16位程序能够在其中正常运行。让我们在XP下打开HD-copy,看看吧:ntvdm.exe又冒出来了。

如果你是程序员

不要怀疑,为了保证不危及NT内核的保护机制,NTVDM被设计成一个完整的模拟器。如你对NTVDM的实现原理有疑惑,不妨亲自动手去试试。

在X86模式下,屏蔽中断的指令不会被执行,因为这会危及到整个系统的安全。而模拟器中,由于整个硬件环境都是虚拟出来的,屏蔽中断能够顺利执行。

用debug执行cli指令,看看if标志位是否被置0就可得真相。

相关百科
返回顶部
产品求购 求购