您的位置:首页 > 其它

Win2K OS的内核模式环境组成

2009-05-12 09:36 183 查看
内核模式环境实际上已经实现了一个通用的操作系统的底层软件平台。内核模式环境由3个主要的代码模块组成。
1.硬件抽象层(HAL,HardwareAbstractLayer)
硬件抽象层(HAL)是一薄层软件,它是硬件与操作系统其它部分的接口,是物理硬件资源的一种抽象。HAL通过动态链接库(DLL,DynamciLinkLibrary)实现,使用HAL例程的设备驱动程序可以在有相同CPU体
系结构的平台上实现二进制代码兼容。
2.内核(Kemel)
如果说HAL代表了硬件平台的抽象化,那么,内核便是整个操作系统的神经中枢。它提供管理以下功能的机制:中断和异常处理、线程调度和同步、多处理机同步、定时控制、内核对象。通过这些内核服务,操作系统的上层部分可以忽略底层CPU的体系结构。内核提供了一个基于对象的界面。内核对象可以分为调度者对象和控制对象两大类。由于调度者对象主要负责同步性能并改变或影响线程调度,故设备驱动程序很少使用到这类对象。但是却经常用到以某种方式控制操作系统的行为控制对象。比如,设备驱动程序将使用的系统线程属于调度者对象;延迟过程调用、中断对象属于控制对象。
3.执行体(Executive)
Executive实际上是由几个不同的软件模块组成,它们是完全独立的,只通过定义好的接口来通讯。Executive为用户模式进程及它们之间的通信提供服务。
(1)系统服务接口(SSI,System Service Interface)
由于Win2K OS有硬件特权等级的保护措施,使得用户模式的应用程序无法直接对底层进行操作,比如直接操作内存单元或直接访问外设。但作为一个操作系统又必须提供给用户模式程序一些执行底层操作的权限。系统服务接口正是为解决此问题而提供用户模式到内核模式受控路径的解决方案。
在Win2K OS中,系统服务调度者使用一种基于CPU硬件异常机制的技术给用户模式代码提供对Exeuctive服务的访问权。较好的解决了两种模式之间的通信问题。
(2)对象管理器(OM,ObjeetMnaager)
执行体通过一个基于对象的接口给用户模式进程提供服务。这些执行体对象表示文件、进程、线程、内存段等事物。对象管理器执行管理执行体对象的所有工作,包括创建和删除对象,以及记录对指定对象有多少等待的引用。
(3)配置管理器(CM,ConfigurationMnager)
从驱动程序开发者的角度看,配置管理器的主要工作就是使用登记(Registry)数据库,维持安装在机器上的所有硬件和软件资源的模型。
(4)进程管理器(pM,poreessMnaager)
进程是Win2K OS中资源记录和安全性检查的单位。每个进程都有自己的虚拟地址空间和安全性标识。PM处理进程和线程的创建、管理和销毁。
(5)安全引用监视器(SQM,Security Quote Monitor)
该组件强制系统的安全性策略。驱动程序一般不与它打交道,FO管理器在调用驱动程序中的任何例程之前处理这类工作。
(6)虚拟内存管理器(VMM,VirtualMemory Manager)
VMM的任务主要是使用按需分页的虚拟内存管理技术来维护地址空间映像。从驱动程序开发者的观点来看,它负责维护系统的堆空间。在Win2K OS中,VMM的任务是管理和维护每个进程4GB的虚拟地址空间。
(7)局部过程调用(LPC,Local Process Controller)
LPC是一个消息传递机制,用于在同一台机器上的进程之间通信。LPC主要由受保护的子系统及其客户程序使用,设备驱动程序对LPC机制没有访问权。所以我们在开发设备驱动程序时,对LPC不需要关心。
(8)I/O管理器(I/O Manager)
对于设备驱动程序的开发人员来说,必须对Executive组件中的I/O管理器有所了解,因为它与驱动程序的联系可谓密不可分。执行器组件把I/O请求从用户模式和内核模式线程转换成对各种驱动程序例程的合适顺序的调用。I/O管理器对外提供了一组定义很好的接口,这就使得驱动程序、用户模式程序、其它内核模式程序之间的通信成为较为简单的事。同时,I/O管理器能够以相同的方式与所有驱动程序通信。我们在驱动开发中只需要了解I/O管理器的调用接口,而不需要了解I/O管理器怎样和其它的Executive组件打交道。
(9)即插即用管理器(PnPM,Plug and Play Manager)
PnP管理器由两部分组成:核心态PnP管理器和用户态PnP管理器。核心态PnP管理器同操作系统组件和内核驱动程序进行交互来动态的维护、配置、管理设备。用户态PnP管理器和用户安装组件进行交互,来配
置和安装设备。用户态PnP管理器同时也和应用程序交互。
(10)电源管理器(PM,Power Manager)
电源管理器负责管理系统的电源使用,维护一个系统范围内的电源策略,并负责Powerl即在系统中传递路径。Power管理器通过系统当前活动状况、系统电池状态、应用程序的电源请求、用户动作、控制面板的设置等几点来考虑系统应处于什么状态—浅度睡眠、深度睡眠、关闭还是正常运作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: