- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 Windows环境下输入输出程序设计 ;Windows是一个多任务操作系统,在保护模式下工作。
Windows操作系统不支持用户程序对计算机底层硬件进行直接控制。用户程序需要输入/输出时,可以通过通过API(Application Program Interface,应用程序接口)来调用设备驱动程序,对设备实现间接控制,进行输入/输出。
Windows 9x使用VxDs(Virtual Device Driver’s,虚拟设备驱动)设备驱动程序。
Windows 2000/XP使用WDM(Windows Driver Model,Windows驱动程序模型)设备驱动程序。 ;11.1 Windows设备驱动程序 ;使用虚拟设备好处:
实现多任务对系统资源的共享,方便用户的使用;
实现任务与任务、任务与系统之间的隔离和保护;
规范外部设备输入、输出方法,使不同工作方式的设备用相同的方式进行输入输出。
对Windows应用程序来讲,虚拟设备就是真实设备,应用程序分不清那个设备是由真实硬件支持的真实设??,那个设备是由虚拟设备驱动程序模拟的虚拟设备。;11.1.2 Windows9X设备驱动程序;顶层:
Windows 9x操作系统的顶层组件工作在特权级3,称为ring3层。它给应用程序的运行提供Win32 API服务。
Windows 9x应用程序和Win32 API服务一起构成操作系统的顶层,称为系统虚拟机(VM,Virtual Machine)。
对于一个任务来说,这些服务程序以及他们所掌控的硬件资源就是一台“实实在在”的计算机。但是,对于整个系统来说,他们只是由操作系统向用户提供的一个运行用户程序的平台,包括为这个应用程序服务的操作系统组件和部分的硬件资源。
每一个DOS应用程序都在一个独立的虚拟机中运行,操作系统允许多个虚拟机同时处于运行状态。;底层:
Windows 9x操作系统的底层组件工作在0特权级,称为ring0层,它就是虚拟机管理器(VMM,Virtual Machine Manager)。
Windows 9x虚拟机管理器由一个内核服务集和许多虚拟设备驱动程序(VxDs,Virtual Device Driver’s)组成。
许多VxDs是由Microsoft公司随操作系统提供的,如键盘和显示器等的VxDs,有的VxD则由设备制造商提供,或者由用户自行编写。 VxD用来支持特定的硬件或软件,完成需要的功能。
VxDs中的程序运行在ring0层,可以执行所有的指令,完成所需的任何软硬件的操作。; ???于应用程序而言,虚拟机管理器是透明的,应用程序感觉不到管理器的存在。
微软已经宣布,从2006年6月起不再提供对Windows 9x的技术支持。因此,Windows 9x和VxDs的使用将逐渐减少。随着Windows 2000/XP的广泛使用,WDM驱动程序的开发和使用已成为主流。;11.1.3 Windows2000/XP设备驱动程序;Windows 2000操作系统的层次结构;2. Windows 2000的设备驱动程序
Windows 2000的驱动程序也有两种不同的类型。
用户模式驱动程序工作在用户模式,通过调用内核模式驱动程序实现指定的功能。用户模式驱动程序不能直接对硬件设备进行访问,仅仅用于构建一个硬件或软件的运行环境。
Windows内核驱动程序工作在内核模式,可以直接访问硬件设备。每个设备驱动程序都有一组完成各种功能的函数,通过调用这些函数可以对某一设备完成特定的操作。;内核模式驱动程序的类型
文件系统驱动程序可以在本地硬盘、网络、移动存储设备或各种有存储能力的硬件设备实现标准的文件系统,如FAT32、NTFS系统等。
PnP驱动程序是一种遵循Windows2000即插即用协议的内核模式驱动程序。
WDM驱动程序是一种PnP驱动程序。它同时还遵守电源管理协议。
显示驱动程序是一种特殊的内核驱动程序。此类的驱动程序还有打印驱动程序、多媒体驱动程序、网络驱动程序等。
遗留设备驱动程序主要用在Windows NT系统中,它也可以运行在Windows 2000系统中。;Windows 2000内核模式驱动程序的类型;11.2 WDM驱动程序 ; WDM是一个分层的驱动程序。 它至少有功能驱动程序(Function driver)和总线驱动程序(Bus driver)两个层面。
功能驱动程序提供一个设备的使用功能,或者可以认为它就是一个设备的驱动程序。用户程序需要使用该设备时,需要调用功能驱动程序中的功能函数。
总线驱动程序负责系统启动时设备的安装、检测,并确定设备的资源使用情况。设备的启动、
文档评论(0)