当前位置:站长之家学习教程服务器类Windows9.x使用教程 → 文章内容

Windows 95的系统结构

减小字体 增大字体 作者:佚名  来源:不详  发布时间:2005-12-7 9:43:32
Windows 95在许多方面类似于Windows3.1,尤其是虚拟机 VM(Virtual Machine)。基于Windows的应用都运作在系统的VM状态。旧的16位应用程序共用单一的地址空间,而新的32位应用程序则不共用地址空间,每个应用程序都有自己的私有地址空间。Windows 95通过操纵页表来达到这一目的。因此,一个应用程序看不见另一个应用程序,除非它们明确共享内存储器。Windows 95也支持虚拟8086模式或保护模式下MS-DOS程序的运作。

  虚拟机管理器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系统的基本结构如图 1所示。



  二、系统保护环

  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应用程序,也沿着保护模式的路径,通过新的档案管理系统进人磁盘。

  五、虚拟机调度方式

  

[1] [2] [3]  下一页