windows操作系统之设备管理课件



《windows操作系统之设备管理课件》由会员分享,可在线阅读,更多相关《windows操作系统之设备管理课件(48页珍藏版)》请在装配图网上搜索。
1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Windows-,设备管理,Windows I/O,系统,Windows I/O,系统由若干,执行体组件,与,设备驱动程序,构成,联合起来管理硬件设备,并向应用程序和系统提供接口以操纵硬件设备。,Windows I/O,系统的设计目标是,为,应用程序,提供一个有关设备的,抽象,,包括硬件(物理)设备和软件(虚拟或逻辑)设备。,I/O,管理器,I/O,管理器是,I/O,系统的核心;,它将应用程序和系统组件与虚拟的、逻辑的和物理的设备连接起来,并定义了基础设施来支持设备驱动程序。,设备驱动程序,设备驱动程序通常
2、为某一种特定类型的设备提供,I/O,接口;,设备驱动程序接收来自,I/O,管理器传送来的命令,完成这些命令,然后通知,I/O,管理器;,设备驱动程序通常使用,I/O,管理器来向其他的共享统一设备接口的设备驱动程序转送,I/O,命令。,PnP,管理器,PnP,管理器与,I/O,管理器及总线驱动程序(,bus driver,)一起工作,以指导硬件资源的分配,检测并响应硬件设备的加入和移除。,PnP,管理器和总线驱动程序负责在检测到一个设备时,加载该设备的驱动程序。,当一个设备被加入到缺乏正确设备驱动程序的系统中时,执行体,PnP,管理器将请求用户模式,PnP,管理器的设备安装服务。,电源管理器,电
3、源管理器与,I/O,管理器一起工作,以指导系统和各个单独的设备驱动程序能够经历电源状态的转变。,系统电源状态描述整体系统的能源消耗,包括系统工作状态、系统休眠状态及系统关机状态等。,硬件抽象层,HAL,HAL,提供一组,API,,将不同平台之间的差异隐藏起来,从而使驱动程序与处理器和中断控制器的特殊性相互隔离开。,一组,Windows,管理规范(,WMI,)支持例程,即,Windows,驱动程序模型(,WDM,),WMI,提供者,主要用于系统管理和监视。,设备驱动程序可以使用,WDM WMI,提供者作为中间媒介与用户模式的,WMI,服务进行通信。,同时需要注意的是:,Windows,操作系统是
4、,分态,的操作系统,用户应用程序运行在,用户态,,操作系统代码(如系统服务和设备驱动程序)在,核心态,下运行。,用户态程序只能调用,Windows,子系统提供的,API,来同设备交互,当请求传递到,I/O,管理器,时,它进行必要的参数匹配和操作安全性检查,然后由这个请求构造出合适的,I/O,请求包,(IRP),并把此,IRP,传递到适当的驱动程序去,并给应用程序一个消息,通知这次,I/O,操作还没完成。,驱动程序一般是通过硬件抽象层来和硬件交互,从而完 成,I/O,请求工作。,驱动程序完成,I/O,操作后,它将调用一个特殊的内核服务 例程来完成,IRP,。这时,,I/O,管理器把数据和结果返回
5、给,Windows,和用户应用程序。,I/O,控制方式,程序,I/O,方式,中断驱动,I/O,控制方式,DMA I/O,控制方式,I/O,通道控制方式,程序,I/O,方式,向,I/O,控制器发读命令,读,I/O,控制器的状态,检查状态?,从,I/O,控制器中读入字,向存储器中写字,传送完成?,下一条指令,完成,CPUI/O,I/OCPU,I/OCPU,出错,CPU,内存,未完,未就绪,就绪,中断驱动,I/O,控制方式,向,I/O,控制器发读命令,读,I/O,控制器的状态,检查状态?,从,I/O,控制器中读入字,向存储器中写字,传送完成?,下一条指令,完成,CPUI/O,I/OCPU,I/OCP
6、U,出错,CPU,内存,未完,就绪,CPU,做其它事,中断,DMA,控制方式,设置,MAR,和,DC,初值,启动,DMA,传送命令,挪用存储器周期传送数据字,存储器地址增,1,字计数寄存器减,1,DC=0,?,请求中断,在继续执行用户程序的同时,准备又一次传送,否,是,I/O,通道控制方式,简介:,I/O,通道方式,是,DMA,方式,的发展,可进一步减少,CPU,的干预,把对一个,数据块,的读(或写)为单位的干 预减少为对,一组数据块,的读(或写)及有关的控制和管 理为单位的干预。通道时负责外围设备与主存之间进行 数据交换、能单独完成输入输出操作的处理机。它控制 设备与内存直接进行数据交换,它
7、有自己的通道指令,这些通道指令的运行由,CPU,启动,并在操作结束时向,CPU,发出中断信号。,通道程序由一系列通道指令所构成,通道指令的每条指 令中包含如下信息:,操作码,;,内存地址,;,计数,;,通道程序结束位,P,;,记录结束标志,R,。,工作流程:,CPU,向,I/O,通道发送一条,I/O,指令,以给出其所要执行的通道程序的首址和要访问的,I/O,设备,通道程序接到该指令后,通过执行通道程序便可完成,CPU,指定的,I/O,任务。,I/O,通道控制方式的优点:实现,CPU,、,通道,和,I/O,设备,三者的并行操作,执行一个通道程序可以完成几批,I/O,操作,更有效地提高整个系统的,
8、资源利用率,。,缓冲管理,缓冲技术:,1.,发送请求,发出一段时间,后才执行输出传送;,2.,输入请求,发出之前,就执行输入传送。,缓冲的引入的作用:,1.,缓和,CPU,与,I/O,设备,间速度不匹配的矛盾。,2.,减少对,CPU,的中断频率,放宽对,CPU,中断响应时间的限制,3.,提高,CPU,和,I/O,设备,之间的并行性。,0.1ms,0.8ms,0.8ms,单缓冲,(Single Buffer),Max(C,T)+M,双缓冲,(Double Buffer),Max(C,T),双机通信时缓冲区的设置,循环缓冲,公用缓冲池,(Buffer Pool),缓冲池的组成:对于既可用于输入又可
9、用于输出的公用缓冲池,其中至少应含有以下三种类型的缓冲区:,空,(,闲,),缓冲区;,装满输入数据的缓冲区;,装满输出数据的缓冲区。,为了管理上的方便,可将相同类型的缓冲区链成一个 队列,于是可形成以下三个队列:,(1),空缓冲队列,emq,。,(2),输入队列,inq,。,(3),输出队列,outq,。,Getbuf,过程和,Putbuf,过程,Procedure Getbuf(type),begin,Wait(RS(type);,Wait(MS(type);,B(number)=Takebuf(type);,Signal(MS(type);,end,Procedure Putbuf(typ
10、e,number),begin,Wait(MS(type);,Addbuf(type,number);,Signal(MS(type);,Signal(RS(type);,end,缓冲区的工作方式,I/O,软件的设计目标,I/O,软件的总目标:,高效率:确保,I/O,设备与,CPU,的并发性。,通用性:提供简单抽象清晰和统一的接口。,I/O,软件的具体目标:,与具体设备无关,统一命名:不同的,OS,命名规则不一样。,错误处理:越底层处理越好,缓冲技术,设备的分配和释放,I/O,控制方式,I/O,软件的层次结构,中断处理程序,中断程序的功能:,进程上下文的切换、中断源的测试、读取设备状态和修改进
11、程状态。,中断程序的过程:,唤醒被阻塞的驱动程序,保护中断进程的,CPU,环境,转入响应的设备处理程序,中断处理,恢复被中断的进程现场,中断现场保护示意图,中断处理流程图,设备驱动程序,设备驱动程序的功能:,(1),接收由,I/O,进程发来的命令和参数,并将命令中的抽象要求转换为具体要求,(2),检查用户,I/O,请求的合法性,了解,I/O,设备的状态,传 递有关参 数,设置设备的工作方式。,(3),发出,I/O,命令,如果设备空闲,便立即启动,I/O,设备去 完成指定的,I/O,操作;如果设备处于忙碌状态,则将请 求者的请求块挂在设备队列上等待。,(4),及时响应由控制器或通道发来的中断请求
12、并进行处理。,(5),对于设置有通道的计算机系统,驱动程序还应能够根 据用户的,I/O,请求,自动地构成通道程序。,设备驱动程序的特点,(1),驱动程序主要是指在请求,I/O,的进程与设备控制器之间的一个通信和转换程序。,(2),驱动程序与设备控制器和,I/O,设备的硬件特性紧密相关,因而对不同类型的设备应配置不同的驱动程序。,(3),驱动程序与,I/O,设备所采用的,I/O,控制方式紧密相关。,(4),由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言书写。,设备驱动程序的处理过程,1.,将抽象要求转换为具体要求,2.,检查,I/O,请求的合法性,3.,读出和检查设备的状态,4.,传
13、送必要的参数,5.,工作方式的设置,6.,启动,I/O,设备,Windows,驱动程序模型重新定义了驱动程序分层:,FDO,FIDO,PDO,FIDO,上层过滤层驱动程序,IRP,功能驱动程序,下层过滤层驱动程序,总线驱动程序,。,。,。,。,WDM,驱动程序层次结构,该层次结构左边是一个,设备对象堆栈,。,设备对象,是系统 为帮助软件管理硬件而创建的数据结构。一个物理硬件 可以有多个这样的数据结构。,处于堆栈最底层的设备对象称为,物理设备对象,PDO(Physical Device Object),,代表了设备与总线之 间的连接。,在设备对象堆栈中间的对象称为,功能设备对象,FDO(Func
14、tional Device Object),,代表了设备的功能。,在,FDO,的上面或下面还会有一些,过滤器设备对象,FIDO(Filter Device Object),。,总线驱动程序,负责枚举它的总线,这意味着:发现总线上的全部设备和检测设备何时被添加或修改,并为每一个设备创建一个,PDO,。,功能驱动程序,知道如何控制设备的主要功能,它分层在总线驱动程序的上面。功能驱动程序创建一个功能设备对象,放在设备栈中。,对总线上的所有设备,,总线过滤驱动程序,被加在总线驱动程序之上;,设备过滤驱动程序,仅对特定的设备添加。,上层的过滤驱动程序,在功能驱动程序之上,,下层过滤驱动程序,在功能驱动程
15、序之下。这种层次结构可以使,I/O,请求过程更加明了。,I/O,管理器发送的,IRP,,先被送到设备堆栈的,上层过滤器驱动程序,(FIDO),它可以根据要求决定,IRP,的处理方式,是沿着设备栈继续向下传,或者做另外的处理。,每一层程序都可以决定如何处理,IRP,。,高层的驱动程序,可以把请求划分成更简单的请求并传递给下层驱动程序。,中间层次的驱动程序,进一步处理请求,将一个,IRP,中的请求划分为若干个小的请求,并传给下层驱动程序。最后,最底层的驱动程序与硬件打交道。,我们应该知道,一些,IRP,在到达总线程序之前,在设备传递过程中可能就被过滤掉了。,设备独立性软件,执行所有设备的公有操作:
16、,对独立设备的分配与回收;,将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序;,对设备进行保护,禁止用户直接访问设备;,缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理,以提高,I/O,的效率;,差错控制。由于在,I/O,操作中的绝大多数错误都与设备无关,故主要由设备驱动程序处理,而设备独立性软件处理那些设备驱动程序无法处理的错误。,向用户层,(,或文件层,),软件提供统一接口,无论何种设备,它们向用户所提供的接口应该是相同的。例如,对各种设备的读操作,在应用程序中都使用,read;,而对各种设备的写操作,也都使用,write,。,逻辑设备表,2)LUT,的设置问题,设 备 分 配,设备分配中的数据结构,设备控制表,DCT,控制器控制表、通道控制表和系统设备表,控制器表、通道表、系统设备表,设备分配时应考虑的因素,独享设备:只能分配给一个用户或者进程使用。,(2),共享设备:可分配给多个用户或者多个进程使用。,(3),虚拟设备:可分配给多个用户或者多个进程使用,,但需要在实际的物理设备上排序。,设备的固有属性,独占设备的分配程序,分配设备,2),分配控制器,3),
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。