欢迎来到天天文库
浏览记录
ID:49198115
大小:1.09 MB
页数:53页
时间:2020-02-01
《微机原理第12章Windows环境下输入输出程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第11章Windows环境下输入输出程序设计11.1Windows设备驱动程序11.2WDM驱动程序11.3PCI总线与PCI-Express总线11.4Windows2000/XP环境下输入输出的实现1Windows是一个多任务操作系统,在保护模式下工作。Windows操作系统不支持用户程序对计算机底层硬件进行直接控制。用户程序需要输入/输出时,可以通过通过API(ApplicationProgramInterface,应用程序接口)来调用设备驱动程序,对设备实现间接控制,进行输入/输出。W
2、indows9x使用VxDs(VirtualDeviceDriver’s,虚拟设备驱动)设备驱动程序。Windows2000/XP使用WDM(WindowsDriverModel,Windows驱动程序模型)设备驱动程序。211.1Windows设备驱动程序11.1.1虚拟设备在多任务运行环境下,计算机内的硬件、软件资源为多个任务共享。任何一个用户程序都不能独占系统的硬件、软件资源。虚拟设备实质上是真实物理设备的部分资源和相关软件的组合,用来完成用户程序需要的功能。虚拟设备不但可以代表实际存在的硬
3、件设备,还可以模拟实际上不存在的“设备”,供用户使用。计算机上的“虚拟光驱”就是一个典型的虚拟设备。与这个设备同名的物理设备是不存在的,用户使用的是硬盘的部分存储空间以及相应的服务程序。3使用虚拟设备好处:实现多任务对系统资源的共享,方便用户的使用;实现任务与任务、任务与系统之间的隔离和保护;规范外部设备输入、输出方法,使不同工作方式的设备用相同的方式进行输入输出。对Windows应用程序来讲,虚拟设备就是真实设备,应用程序分不清那个设备是由真实硬件支持的真实设备,那个设备是由虚拟设备驱动程序模拟
4、的虚拟设备。411.1.2Windows9X设备驱动程序Windows9x是一个分层结构的操作系统,由工作在两个不同层面的组件构成:顶层组件,工作在Ring3层;底层组件,工作在Ring0层。5顶层:Windows9x操作系统的顶层组件工作在特权级3,称为ring3层。它给应用程序的运行提供Win32API服务。Windows9x应用程序和Win32API服务一起构成操作系统的顶层,称为系统虚拟机(VM,VirtualMachine)。对于一个任务来说,这些服务程序以及他们所掌控的硬件资源就是一台
5、“实实在在”的计算机。但是,对于整个系统来说,他们只是由操作系统向用户提供的一个运行用户程序的平台,包括为这个应用程序服务的操作系统组件和部分的硬件资源。每一个DOS应用程序都在一个独立的虚拟机中运行,操作系统允许多个虚拟机同时处于运行状态。6底层:Windows9x操作系统的底层组件工作在0特权级,称为ring0层,它就是虚拟机管理器(VMM,VirtualMachineManager)。Windows9x虚拟机管理器由一个内核服务集和许多虚拟设备驱动程序(VxDs,VirtualDeviceD
6、river’s)组成。许多VxDs是由Microsoft公司随操作系统提供的,如键盘和显示器等的VxDs,有的VxD则由设备制造商提供,或者由用户自行编写。VxD用来支持特定的硬件或软件,完成需要的功能。VxDs中的程序运行在ring0层,可以执行所有的指令,完成所需的任何软硬件的操作。7对于应用程序而言,虚拟机管理器是透明的,应用程序感觉不到管理器的存在。微软已经宣布,从2006年6月起不再提供对Windows9x的技术支持。因此,Windows9x和VxDs的使用将逐渐减少。随着Windows
7、2000/XP的广泛使用,WDM驱动程序的开发和使用已成为主流。811.1.3Windows2000/XP设备驱动程序Windows2000操作系统组件的层次结构Windows2000操作系统的功能模块划分为用户模式和内核模式两大类。用户模式的操作系统功能模块工作在ring3层,他们不能使用CPU中的特权指令,连同IN、OUT这样的非特权指令也被禁止。所有的用户程序都在这一层上运行。内核模式的操作系统模块工作在ring0层,可以使用CPU的任何指令。9Windows2000操作系统的层次结构102
8、.Windows2000的设备驱动程序Windows2000的驱动程序也有两种不同的类型。用户模式驱动程序工作在用户模式,通过调用内核模式驱动程序实现指定的功能。用户模式驱动程序不能直接对硬件设备进行访问,仅仅用于构建一个硬件或软件的运行环境。Windows内核驱动程序工作在内核模式,可以直接访问硬件设备。每个设备驱动程序都有一组完成各种功能的函数,通过调用这些函数可以对某一设备完成特定的操作。11内核模式驱动程序的类型文件系统驱动程序可以在本地硬盘、网络、移动存储设备或各种有存储
此文档下载收益归作者所有