- ·上一篇文章:Windows系统文件名详解(下)
- ·下一篇文章:揭开Windows的秘密 潜伏在默认设置中的陷井(中)
Windows 95的系统结构
虚拟机管理器VMM(Virtual Machine Manager)是Windows 95系统的核心,它除了为虚拟设备驱动程序提供服务外,还提供低级内存储器管理和调度服务。
Windows 95的文件系统是新提供的主要部件,是完全重新设计的子系统,能同时支持多种文件系统。而在Windows3.1中,MS DOS的文件系统支持本地磁盘,虽然也支持CD-ROM和网络文件系统,但性能不佳。
Windows 95中,除了一些特殊设备需要旧的设备驱动程序外,其整个档案系统都是保护模式下的32位代码。此文件系统不仅支持本地磁盘和CD-ROM,而且还通过可安装档案系统接口(IFS),并可支持一个或多个网络接口,因此,利用Windows 95,用户可以在保护模式下建成一个很好的系统。此系统可以连接硬盘、软盘、CD-ROM、Bernoulli盒、基于 WindowsNT的服务器、Netware网络等。
Windows 95的人机界面服务机制与Windows3.1类似,但做了一些改进,以方便用户。系统服务中的KERNEL,USER,GDI仍用以前 Windows NT版本的名字,主要改变是,它们都已变为32位的,性能更好。如果用户开发应用程序,则要运作Win32 API,调用的其他服务也都是32位的,对内存储器管理的需求也不同以前,其用户的程序是全32位的。

二、系统保护环
Windows 95充分利用386处理器的能力,支援两个特权级。它用0和3两个特权级管理微处理器,也可称为两个环。环0中的部件是操作系统的底层,如包括对低级内存储器管理的支持,环0里的软件在整个系统中功能最强,包括了几乎所有微处理器的指令,并能存取关键的数据结构,如页表等。因此环0里的软件最可靠。
Windows 95允许用户安装新的虚拟设备驱动程序(VXD),这些VXD可以支持后加的硬件或提供系统范围内的软件眼务。VXD都在环0里运作,因此,如果VXD有一点差错,就会使整个系统崩溃。而如果要开发一种软件,使其能和失败的VXD分离,那将是非常困难的。
Mictosoft公司的开发人员开发了一种可调试内核(ebug xernel),使程序员在安装VXD之前能够先检查VXD对VMM服务的所有需求,这样就会避免在安装以后出现问题,这个可调试内核包含在Windows 95的DDK中。
有些操作系统试图利用Intel 386处理器提供的附加特权级,而 Wndows 95没有这样做,它只利用了两级。对于绝大多数应用,这种“双环模式”(two-ring model)工作得相当出色。
在Intel处理器中,环的过度(特权级的改变)会增加程序的运作时间,以 lute 486为例,如果没有环的过度,一个子程序调用另一个段中的代码需要20个时钟周期,有环的过度则需要69个时钟周期。这是因为当处理器的特权级变化时,处理器控制会发生变化,寄存器要重装。因此,较少的环过度意味着性能的提高,这也是Wndows 95 把其圆形系统的多数代码放在环3的主要原因。
Intel 386及其以上处理器提供了 4GB虚拟存储空间,Window 95都可以利用。在虚拟地址空间里,不同的系统部件和应用程序,占用的区域都有固定的界限,其结构如2所示。

Windews 95的VMM的任务之一就是把4GB的虚拟地址空间映射到内存储器上。下面作一说明:
虚拟地址空间中,最低的IMB用作当前执行的 MS-DOS VM,每个 VM在 IGB,ZGB内也有一段空间,允许系统本身寻址不活动的 VM段存储空间,一旦 MS DOS VM运作起来,就会定位在最低的IMB空间里。
32位 Windows应用程序优先装入的空间为 4MB~1·5GB,标准开发工具也缺省地用这个空间,这主要和 WindOWS NT相匹配。当然,用户也可以选择较低的地址空间,这时,用户需要做起额外的工作。
系统为每个32位应用标记的低16KB空间不可获得,这主要是为了捕获程式的错误。许多程式常犯的错误是使用空指针,在Wndows 95中,空地址将产生内存储器错误,这对开发者及时发现指针错误是有益的。
三、虚拟机管理器
如前所述,虚拟机管理器VMM是Windows 95系统的核心,VMM的效率对整个系统的性能有看重要影啊。系统中许多复杂的部件都在这里。虚拟机管理器的代码包含以下几项特性:
在每个过程的私有地址空间里,32位的Windows应用程序都是抢先调度的;
每个32位的应用程序有一个私有的消息队列;
VXD能够动态装载和定位,减少系统的操作集;
许多系统资源都是按32位内存储器模式开发的,大大提高了系统能力。
Windows95有两种基本的VM:一是系统VM,KERNEL,USER,GDI部件和Windows的应用程序都在这里;M是 MS-DOS VM,运作一个MS-DOS应用程序,这个程序既能运作在虚拟8086模式,也能运作在保护模式。
四、支持MS-DOS应用程序
Windows支持MS-DOS应用程序,这就意味着当用户工作基于DOS的应用时,不必离开Windows95。Windows95软件也提供最新的MS-DOS 6.X版的代码和数据。
Windows 95支持单一的 MS-DOS应用模式。这种模式对MS-DOS应用提供绝对的兼容性。虽然开发人员做了很大的努力,使更多的MS-DOS程序能在MS-DOSVM下运作,但这种单一的MS-DOS应用模式为那些不能在Windows下运作的MS-DOS程序提供真正的兼容性,这就是说,此模式对以前的DOS版本向下兼容。
Windows 95因 MS DOS之关系,与W4indows3.1的最大区别是:基于Windows的应用完全不需要MS DOS代码支持。Windows已有许多的版本(如Win-dows3.1,Windows for Workgroup 3.1,Windows3·11等),每种都支持越来越多的MS DOS INT软件服务。而且,基于WindowS的应用程序在进出虚拟86模式时,对MS DOS代码的需要也在减少。
但这些版本的档案系统都没有什么变化,直到 Windows for Workgroup3,11版。只有Windows 95,最后打破了实模式MS DOS的所有束缚,几乎无不例外,甚至现存的16位Windows应用程序,也沿着保护模式的路径,通过新的档案管理系统进人磁盘。
五、虚拟机调度方式





