以下是引用Wengier在2004-10-2 4:32:56的发言:
DOS下訪問1MB以上的內存當然還是以XMS內存為主了,這是實模式方式的。關於DOS flat mode我衹是點到為止,並不想多說什麼。
然而不應忘記,DOS下訪問保護模式是有好幾種實現規範的,其中用的最多的是DPMI(即“DOS保護模式接口”規範),如CWSDPMI等等驅動程序都是提供這個的,所以DOS可以隨時從默認的實模式調用保護模式驅動來進入保護模式來運行保護模式的DOS程序,也就是說,保護模式和實模式一樣,兩者都是DOS環境的一部分(雖然實模式是DOS的默認模式)。現在保護模式的DOS程序多的是,如DJGPP等編譯出來的DOS程序都是保護模式的,而不是實模式的,如著名的Seal、Qube等DOS下的GUI程序(注意:實模式和保護模式並不是你所說的DOS和非DOS的分界線,難道說這些保護模式的DOS程序都不是DOS程序??這是非常可笑的“白馬非馬”論)。而Win3.x/9x GUI也正是保護模式的DOS GUI程序(Win3.x的“386增強模式”就是一種386保護模式的DOS方式,不能在實模式下運行;而Win3.x本身是DOS下的程序這一點是連微軟自己都說明了的,這已不必爭論;而Win9x/4.x是Win3.x的昇級版本)。
Wengier坚持认为windows是dos的升级版或者是dos的GUI,不知是否包括win98和winxp。如果是这样的话,我不想再和你争论了,你还是自己去看书吧。
你自己提到DPMI是“DOS保護模式接口”规范,其实dos扩展规范远不止这个。这些东西有人称为“保护模式接口”,有的称为“保护模式驱动”甚至称为“保护模式服务器”,无论什么称呼都好,它们都不是dos本身的组成部分,开发这些程序的公司都不是dos操作系统的提供商。正是因为dos不具备这些功能,而市场又非常需要,在有利可图的情况下开发的,甚至想用这些工具来挽救dos。因为dos的这些缺陷开发dos下复杂应用程序非常痛苦,有的应用软件除了用dos的文件系统外,其他的dos功能都没用,而从头写代码,不是程序员不想调用而是不能调用,我自己都碰到过这种情况。
x86!dos!
爱你就象老鼠爱大米
http://www.baby-pc.com/
爱你就象老鼠爱大米
http://www.baby-pc.com/




