Board logo

标题: 强烈要求“置顶”且“系统”回答 [打印本页]

作者: nbh002     时间: 2003-9-4 00:00    标题: 强烈要求“置顶”且“系统”回答
强烈要求“置顶”且“系统”回答“WINDOWS9X 实际上就是DOS”

既然大家都认为这个问题是个“常温”问题,为何不系系统统的就这个问题做一个置顶贴呢???我认为这也是一个DOS论坛最起码的一个"组件"吧!!!

我个人在这个问题上还有一些扩展的困惑,请一并释疑:
1.DOS,9X,NT(NT4.0,2000,XP)有什么区别?
“WINDOWS9X 实际上就是DOS”一贴中都说9X就是DOS,不过还不够系统;有问NT与DOS的关系的,不过还没有人回答
2.我们论坛所推崇之DOS 是发展中的DOS,不过我们嘴边常提的DOS好象是那个“老家伙”,那个和什么“实模式”分不开的东东,说实话,“实模式”到底是怎么回事???能详细说说吗???
3.DOS驱动能在windows下用吗?(特别指在98DOS窗口下)
4.XP的F8菜单中有一项"98se-DOS",不象98中那样直接能用,还得放系统盘才能用,为什么?有没有什么办法“免CD”吗???

作者: Wengier     时间: 2003-9-4 00:00
关于DOS和WinNT/2K/XP的关系,看看这儿吧:
http://newdos.yginfo.net/upload/newdos.txt

为什么说Win9x是DOS下的GUI程序呢?我来说一些原因吧:

1:要启动Win9x GUI,首先要启动DOS。DOS启动后,Win98 GUI可以有两种方式进入:自动和手动进入。前者是在MSDOS.SYS中设置BootGUI=1,后者则是用WIN命令。这点跟Linux/FreeBSD/Unix等和X-Window这个GUI/服务器的关系同出一辙。在Linux/FreeBSD/Unix下,要启动X-Window GUI也是有手工和自动两种方式,一种是自动,另一种是用startx命令手工进入。因为DOS、Linux/FreeBSD/Unix等的内核全是字符型的,所以都是用命令来进入GUI的。

2:Windows 9x GUI,即Windows 4.x,是从Windows 1.x、2.x、3.x一路发展而来的。其中Win1.x的功能连DOSSHELL都不如,Win2.x的功能则和DOSSHELL相不多,Win3.x的功能比DOSSHELL强,到了4.x就更不用说了。但做过MiniWin就知道,Windows 1.x-4.x各版本间是何等的相似,只是每个版本较之前一版本有了较大的功能扩充,而却是一脉相承的。

3:Windows 9x GUI自己也说,它只能在MS-DOS下运行。如果在其它的DOS或者低版本的DOS下运行,它会提示以下一些信息:
This version of Windows does not run on MS-DOS 6.x or earlier. (Win95 WIN.COM)
This version of Windows does not run on MS-DOS 7.00 or earlier. (Win98 WIN.COM)
This version of Windows runs only on MS-DOS 8.00. (WinME WIN.COM)

Cannot run Windows with the installed version of MS-DOS.
Upgrade MS-DOS to version 7.0 or higher. (Win95 VMM32)

Cannot run Windows with the installed version of MS-DOS.
Upgrade MS-DOS to version 7.1 or higher. (Win98 VMM32)

Cannot run Windows with the installed version of MS-DOS.
Upgrade MS-DOS to version 8.0 or higher. (WinME VMM32)

事实上,以Win98为例,它既可以在MS-DOS 7.0下运行,也可以在MS-DOS 7.10下运行,也可以在MS-DOS 8.0下运行。只是不能在其它DOS下运行。Win95也一样。

4:DOS的IO.SYS内核的特点就是体积小(相对于Linux/Unix等),但扩充性非常强,比如可以通过加载HIMEM、EMM386、CWSDPMI、DOSLFN等来驱动XMS内存、EMS/VCPI内存、DPMI内存、长文件名/VFAT等。其中VCPI或DPMI就使得DOS内核进入32位保护模式的DOS方式下。而Win9x GUI是正是通过DPMI、VFAT等DOS驱动程序并提供一些WIN API来进入其操作界面的。其实DOS下完成这些功能的程序很多,只是Win9x GUI是其中功能最强的一种(由于MS的实力)。Win9x通过这些驱动来扩展了DOS,使得DOS世界更加丰富强大。

5:有人说Win9x是建立了一个新核心而不是用的DOS核心,这显然是不对的。举几个例子来说明:
1)如果真是建立了新核心的话,那原来的DOS核心就已经被新核心取代了。这时所谓的Win9x GUI核心若一旦启动就不可能退出了,因为按这种假设,DOS核心已被取代了,而只剩下了Win9x GUI核心。但事实上,Win9x GUI是可以通过“关闭计算机“后输入MODE CO80来直接退回纯DOS命令行的,而不需重新加载新的DOS内核来取代所谓的Win9x GUI内核;

2)如果是建立了新核心来取代旧核心的话,那原来旧核心中已加载的所有程序或驱动将无效,因为内核已被改写了,相当于重启了一次电脑并加载新的操作系统,比如说BasicLinux就是这样的。但事实上,Win9x GUI显然不是这样的,而只是作为一种DOS下的GUI程序来加载的。

3)如果是用新核心来取代旧核心的话,那旧核心中提供的各种服务将对新核心来说没有用,因为一旦改写核心后,旧核心中的任何功能将被从系统中清除并被新核心所提供的功能所取代。之所以说X-Window是GUI而不是OS,就是因为它并没有这样做,而仍是调用的操作系统(如Linux/Unix/FreeBSD等)中的功能。而Win9x呢,以磁盘分配为例,Win3.x/9x一样都是依靠着DOS。比如说,如果我在MS-DOS 7.0(不支持FAT32驱动器)和MS-DOS 7.10(支持FAT32驱动器)下分别启动Win98 GUI,效果也是不同的:由于MS-DOS 7.0不支持FAT32驱动器,所以用它启动Win98后也看不到FAT32驱动器;而由于MS-DOS 7.10支持FAT32驱动器,所以用它启动Win98后也看得到FAT32驱动器。

4)Win9x的DOS窗口中为什么有那么好的DOS兼容性?就是因为它是用的DOS内核。像WinNT/2K/XP,由于没有DOS内核,所以要运行DOS程序只能靠虚拟(即WinNT/2K/XP的“DOS窗口”)。但尽管MS费了好大的努力来提高WinNT/2K/XP中的这个DOS虚拟机(即NTVDM)的兼容性,但到目前为止其兼容性仍远远不如Win9x的DOS窗口,为什么呢?原因很简单,那就是在于Win9x用的是标准的DOS内核,而WinNT/2K/XP则不是。

以上这些,大家觉得说得清楚吗?