- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WDM内核驱动程序模型分析
WDM内核驱动程序模型分析
WDM驱动程序是Windows 2000操作系统重要的组成部分,它的正常工作需要有Windows 2000其它内核组件的支持,同时大部分的内核组件也必须同WDM驱动程序交互来完成它们的功能,为能够完整而清晰的说明WDM驱动程序的工作情况,本文首先说明Windows 2000操作系统的内核工作机理,同时将给出WDM驱动程序和内核其它组件的协同工作机制,最后分析WDM驱动程序的结构和工作流程。
1 Windows 2000内核组件工作模式
1.1 Windows 2000的设计思想
在现代操作系统中,应用程序和操作系统本身是分开的——操作系统代码运行在核心态并有权访问系统数据和硬件;应用程序运行在用户态,能够使用的接口和访问系统数据的权限都受到限制。当用户程序调用系统服务时,处理器捕获该调用,然后把调用的线程切换到核心态。当系统服务完成后,操作系统将线程描述表切换回用户态,允许调用者继续运行。
系统核心态部分的设计是丰富多样的。较典型的有以下几种:
A) 传统的单片式操作系统。系统被设计为一个单一的、庞大的软件系统,在内部组件之间有许多关联。这种软件系统依赖于许多系统组件。这种相互关联意味着要扩展系统,就需要对全部代码库进行大量修改。同时在单片式操作系统中大量的操作系统代码运行于同一内存空间,这就意味着任何操作系统组件都可能损坏正在被其它组件使用数据。
B) 分片式的操作系统。将操作系统发分为不同层次中的模块。每个模块提供一组功能函数其它模块调用。在某一层次上的代码只能调用较低层次上的代码。在一些了系统中,DEC公司的OpenVMS包括老的Multics操作系统,硬件甚至强制分层(使用多重、分级处理模式)。分层操作系统结构的优点是,由于每层代码只能访问较低层的接口(和数据结构),因此限制了使用无限权利的代码数量,这种结构也允许在最底层开始调试操作系统,然后一层一层的往上调试,直到整个操作系统工作正常。层次化结构也使增强操作系统更容易,因为修改或替代单独的一层,不影响系统的其它部分。
C) 客户服务器微内核模型。其思想是把操作系统分成若干个服务器进程,每个服务器进程完成一种服务,如内存管理服务、进程创建服务和处理器调度服务。每个“服务器”运行在用户态,等待客户提出服务请求。“客户”,可以是另一个操作系统的组件,也可以是应用程序,它通过发送一个消息给服务器来请求服务。运行在核心态的操作系统的微内核把该消息传递给服务器,该服务器执行操作,内核用另一种消息把结果返回用户。
Windows2000融合了分层操作系统和客户服务器微内核操作系统的特点。对性能影响很大的操作系统组件在核心态下运行。在核心态下,组件可以和硬件交互,也可以在组件之间交互,并且不会引起描述表切换和模式转变,例如,内存管理器、高速缓存管理器、对象及安全性管理器网络协议、文件系统(包括网络服务器和重定向程序)、所有线程和进程管理都运行的核心态。
当然,所有这些组件都应该受到保护,以避免给其它的应用程序侵扰,应用程序不能直接访问操作系统特性部分的代码和数据(尽管他们可以快速调用其它的内核服务)。这种保护使得Windows2000成为既坚固又稳定的应用程序服务器的原因之一。而且从核心操作系统服务的角度,如虚拟内存管理、文件操作、复合文件及打印共享来看,Windows2000作为工作站平台仍是迅速和敏捷的。
由于WDM驱动程序的标准应用平台是Windows 2000,是内核的重要组件之一并和其它内核组件有相当多的关联,为本文讨论的完整性,首先讨论Windows 2000的系统结构。
1.2 Windows 2000的系统结构
图1 Windows 2000 系统结构图
图1显示了Windows 2000内核系统结构图。Windows 2000是由内核模式和用户模式两类代码构成的。
用户态代码模式主要包括各个环境子系统:POSIX,OS/2,Win32。在这三个子系统中Win32比较特殊,它是Windows 2000的必须组件。实际上,其它两个子系统只是在需要时才被配置启动,而Win32必须始终处于运行状态。
A) 硬件抽象层(HAL) HAL是一薄层软件,它是硬件与操作系统其它部分的接口,是物理硬件资源的一种抽象。我们可以称之为“抽象硬件模型”。HAL通过动态链接库(DLL,Dynamic Link Library)实现,管理的项目包括:
w 片外高速缓存
w 定时器
w I/O总线
w 设备寄存器
w 中断控制器
w DMA控制器
各种系统组件使用HAL函数与CPU外的硬件打交道,这样就把平台特定的细节对系统的其余部分隐藏起来,可移植性极佳。特别地,HAL例程的使用使得内核和设备驱动程序在有相同CPU体系结构的平台上二进制代码兼容
您可能关注的文档
- TP-XOS1数字全息与信息安全综合实验-实验讲义20140807.doc
- UG85安装方法图文教程.doc
- UGNX70和UGNX75安装教程安装方法.doc
- ug实训报告018.doc
- UG80图文安装教程及地址.doc
- UG90安装教程及NX9034升级方法.doc
- UGNX50安装方法(图文教程).doc
- UHFReader06读写器演示软件使用指南v20.doc
- UL1685(电缆和光缆的垂直托盘延燃试验和排烟量测试).doc
- UI设计5个严重影响用户体验的设计问题.doc
- 5.3.1函数的单调性(教学课件)--高中数学人教A版(2019)选择性必修第二册.pptx
- 部编版道德与法治2024三年级上册 《科技提升国力》PPT课件.pptx
- 2.7.2 抛物线的几何性质(教学课件)-高中数学人教B版(2019)选择性必修第一册.pptx
- 人教部编统编版小学六年级上册道德与法治9 知法守法 依法维权(第一课时)课件.pptx
- 三年级上册品德道德与法治《学习伴我成长》.pptx
- 部编版小学道德与法治六年级上册6 人大代表为人民 课件.pptx
- 部编版小学道德与法治六年级上册1感受生活中的法律第一课时课件.pptx
- 2.5.2圆与圆的位置关系(教学课件)-高中数学人教A版(2019)选择性必修第一册.pptx
- 2.5.1直线与圆的位置关系-(教学课件)--高中数学人教A版(2019)选择性必修第一册.pptx
- 14.1.1 同底数幂的乘法(教学课件)-初中数学人教版八年级上册.pptx
最近下载
- 广告法试题及答案.docx VIP
- 第四代黄金微针—赵小忠.pptx VIP
- 2024年山西省高考考前适应性测试英语A卷.docx
- 2022-2023学年天津市河北区九年级上学期期中数学试卷(含答案解析).docx
- 施乐5代机AP DC V5070 4070 DP 5105d复印机打印机中文维修手册.pdf
- 丙烯酸树脂生产工艺物料标识20161229(2).docx VIP
- 网络的利与弊 课件综合实践八年级.ppt
- 苯胺生产工艺物料标识20161228(1).docx VIP
- 江苏南通市住房公积金管理中心招考聘用政府购买服务岗位人员4人笔试历年高频考点(难、易错点)附带答案详解.docx VIP
- 2024《论如何提高铁路客运服务质量—以南京客运段为例》11000字.docx
文档评论(0)