荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (佐治·希尔), 信区: Microsoft
标  题: Windows是怎样死掉的——(一)闲侃Windows虚拟机
发信站: BBS 荔园晨风站 (Sat Jan 15 13:04:25 2000), 转信

发信人: CHh5945 (痴), 信区: Windows9x_3x
标  题: Windows是怎样死掉的——(一)闲侃Windows虚拟机
发信站: BBS 水木清华站 (Wed Jan 12 20:53:54 2000)

(一)闲侃Windows虚拟机
小A:你知道什么叫虚拟机吗?
小B:不知道!
小A:那你用过MS-DOS系统吗?
小B:当然用过!
小A:那你一定了解MS-DOS是一个单任务的操作系统吧?
小B:不了解!什么是单任务?
小A:你回忆一下,在DOS系统中,同一时间是不是只能运行一个程序,比如你在用COPY命
令的同时,一定不能用CD命令。
小B:有这么回事。难道这就是单任务的解释!?
小A:OK。
小B:为什么会出现同一时刻只能运行一个程序的情况呢?
小A:因为在DOS系统中,程序能对系统中的一切资源进行直接访问,因此当前运行的程序
对所有的系统资源拥有排它的访问。
小B:这和虚拟机有什么关系!?
小A:当然有啦。随着以 Windows为首的多任务操作系统的出现,程序需要共享资源!但
是当一个程序共享另一个程序相同的系统资源时,这两个程序就会发生冲突。为了缓和
这种供求矛盾,虚拟机(Virtual Machine)就应运而生了。
小B:这么说,虚拟机的作用就是调解程序间的冲突的。那它是怎么实现的呢?
小A:在Windows系统中,所有的程序都必须在虚拟机中运行。Windows系统利用虚拟机来
让运行的程序相信自己对所有的系统硬件拥有排它的访问。为了便于理解,我们可以把
Windows系统看作一个资源管理员,它始终监视各运行程序正在使用的硬件和资源,同时
它还创建运行程序驻留的虚拟机。当程序把消息发给某一特定设备时,Windows系统将截
获这一消息,然后在另一程序没有使用该设备时,把消息按规定路径发给那个设备和内
存存储单元。Windows系统就是以这种方式管理整个系统资源,而不是单个程序。
小B:哦,原来虚拟机与Windows系统合伙在欺骗运行的程序!但是,在Windows中能运行
的程序有16位程序,32位程序,还有DOS程序等,而我听说Windows系统中只存在2种类型
的虚拟机:SYSTEM VM(系统虚拟机)和MS-DOS VM(DOS虚拟机)。这是怎么回事?
小A:要了解Windows中的程序与VM(虚拟机)之间的关系,你只需看上面这幅图就行了。

  从图中我们可以看出:系统虚拟机分为:系统组件、供所有16位Windows程序共享的空
间和各个32位Windows程序的单个地址空间。其中:
  16位Windows程序
  所有基于Windows的16位程序在SYSTEM VM上共享一个空间。由于共享,这些16位程
序可能交叉占用各自的资源,当这种情况发生时,用户将收到一个或多个GPF(一般性保
护错)信息。
  32位Windows程序
  32位Windows程序在SYSTEM VM上有各自的地址空间,因为这些32位程序不共享资源
,因此它们就不能交叉占用各自的资源,因此,纯32位程序之间几乎不会出现死机,这
也是为什么Windows NT的稳定性远远高于Windows 95/98系统的根本原因(NT是纯32位操
作系统)!
  MS-DOS虚拟机
  由于各个MS-DOS程序对所有的系统资源拥有排它的访问,故MS-DOS的应用程序同一
时间只能运行一个,因此所有的基于MS-DOS的程序只能在各自的虚拟机上运行。

--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.114.208.160]
--

     书山有路勤为径;
     学海无涯苦作舟!

         欢迎各位光临Linux版!
 我是来自大富翁的小美!^_^

※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店