欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    windows操作系统之设备管理解析课件.ppt

    • 资源ID:1481618       资源大小:935.50KB        全文页数:48页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    windows操作系统之设备管理解析课件.ppt

    Windows-设备管理,Windows I/O系统,Windows I/O系统由若干执行体组件与设备驱动程序构成,联合起来管理硬件设备,并向应用程序和系统提供接口以操纵硬件设备。 Windows I/O系统的设计目标是为应用程序提供一个有关设备的抽象,包括硬件(物理)设备和软件(虚拟或逻辑)设备。,I/O管理器I/O管理器是I/O系统的核心;它将应用程序和系统组件与虚拟的、逻辑的和物理的设备连接起来,并定义了基础设施来支持设备驱动程序。 设备驱动程序设备驱动程序通常为某一种特定类型的设备提供I/O接口;设备驱动程序接收来自I/O管理器传送来的命令,完成这些命令,然后通知I/O管理器;设备驱动程序通常使用I/O管理器来向其他的共享统一设备接口的设备驱动程序转送I/O命令。,PnP管理器PnP管理器与I/O管理器及总线驱动程序(bus driver)一起工作,以指导硬件资源的分配,检测并响应硬件设备的加入和移除。PnP管理器和总线驱动程序负责在检测到一个设备时,加载该设备的驱动程序。当一个设备被加入到缺乏正确设备驱动程序的系统中时,执行体PnP管理器将请求用户模式PnP管理器的设备安装服务。,电源管理器电源管理器与I/O管理器一起工作,以指导系统和各个单独的设备驱动程序能够经历电源状态的转变。系统电源状态描述整体系统的能源消耗,包括系统工作状态、系统休眠状态及系统关机状态等。 硬件抽象层HALHAL提供一组API,将不同平台之间的差异隐藏起来,从而使驱动程序与处理器和中断控制器的特殊性相互隔离开。,一组Windows管理规范(WMI)支持例程即Windows驱动程序模型(WDM)WMI提供者,主要用于系统管理和监视。设备驱动程序可以使用WDM WMI提供者作为中间媒介与用户模式的WMI服务进行通信。 同时需要注意的是:Windows操作系统是分态的操作系统,用户应用程序运行在用户态,操作系统代码(如系统服务和设备驱动程序)在核心态下运行。,用户态程序只能调用Windows子系统提供的API来同设备交互,当请求传递到I/O管理器时,它进行必要的参数匹配和操作安全性检查,然后由这个请求构造出合适的I/O请求包(IRP),并把此IRP传递到适当的驱动程序去,并给应用程序一个消息,通知这次I/O操作还没完成。 驱动程序一般是通过硬件抽象层来和硬件交互,从而完 成I/O请求工作。 驱动程序完成I/O操作后,它将调用一个特殊的内核服务 例程来完成IRP。这时,I/O管理器把数据和结果返回给 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/OCPU,出错,CPU内存,未完,就绪,CPU做其它事,中断,DMA控制方式,设置MAR和DC初值,启动DMA传送命令,挪用存储器周期传送数据字,存储器地址增1 字计数寄存器减1,DC=0?,请求中断,在继续执行用户程序的同时,准备又一次传送,否,是,I/O通道控制方式,简介:I/O通道方式是DMA方式的发展,可进一步减少 CPU的干预,把对一个数据块的读(或写)为单位的干 预减少为对一组数据块的读(或写)及有关的控制和管 理为单位的干预。通道时负责外围设备与主存之间进行 数据交换、能单独完成输入输出操作的处理机。它控制 设备与内存直接进行数据交换,它有自己的通道指令, 这些通道指令的运行由CPU启动,并在操作结束时向CPU 发出中断信号。 通道程序由一系列通道指令所构成,通道指令的每条指 令中包含如下信息:操作码;内存地址;计数; 通道程序结束位P;记录结束标志R。,工作流程:CPU向I/O通道发送一条I/O指令,以给出其所要执行的通道程序的首址和要访问的I/O设备,通道程序接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。 I/O通道控制方式的优点:实现CPU、通道和I/O设备三者的并行操作,执行一个通道程序可以完成几批I/O操作,更有效地提高整个系统的资源利用率。,缓冲管理,缓冲技术: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),缓冲池的组成:对于既可用于输入又可用于输出的公用缓冲池, 其中至少应含有以下三种类型的缓冲区: 空(闲)缓冲区; 装满输入数据的缓冲区; 装满输出数据的缓冲区。 为了管理上的方便,可将相同类型的缓冲区链成一个 队列,于是可形成以下三个队列: (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(type, number) beginWait(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软件的层次结构,中断处理程序,中断程序的功能:进程上下文的切换、中断源的测试、读取设备状态和修改进程状态。中断程序的过程:唤醒被阻塞的驱动程序保护中断进程的CPU环境转入响应的设备处理程序中断处理恢复被中断的进程现场,中断现场保护示意图,中断处理流程图,设备驱动程序,设备驱动程序的功能 : (1) 接收由I/O进程发来的命令和参数, 并将命令中的抽象要求转换为具体要求 (2) 检查用户I/O请求的合法性,了解I/O设备的状态,传 递有关参 数,设置设备的工作方式。 (3) 发出I/O命令,如果设备空闲,便立即启动I/O设备去 完成指定的I/O操作;如果设备处于忙碌状态,则将请 求者的请求块挂在设备队列上等待。 (4) 及时响应由控制器或通道发来的中断请求并进行处理。 (5) 对于设置有通道的计算机系统,驱动程序还应能够根 据用户的I/O请求,自动地构成通道程序。,设备驱动程序的特点,(1) 驱动程序主要是指在请求I/O的进程与设备控制器之间的一个通信和转换程序。 (2) 驱动程序与设备控制器和I/O设备的硬件特性紧密相关, 因而对不同类型的设备应配置不同的驱动程序。 (3) 驱动程序与I/O设备所采用的I/O控制方式紧密相关。 (4) 由于驱动程序与硬件紧密相关, 因而其中的一部分必须用汇编语言书写。,设备驱动程序的处理过程,1. 将抽象要求转换为具体要求 2. 检查I/O请求的合法性 3. 读出和检查设备的状态 4. 传送必要的参数 5. 工作方式的设置 6. 启动I/O设备,Windows驱动程序模型重新定义了驱动程序分层:,FDO,FIDO,PDO,FIDO,上层过滤层驱动程序,IRP,功能驱动程序,下层过滤层驱动程序,总线驱动程序,。,。,。,。,WDM驱动程序层次结构,该层次结构左边是一个设备对象堆栈。设备对象是系统 为帮助软件管理硬件而创建的数据结构。一个物理硬件 可以有多个这样的数据结构。 处于堆栈最底层的设备对象称为物理设备对象 PDO(Physical Device Object),代表了设备与总线之 间的连接。 在设备对象堆栈中间的对象称为功能设备对象 FDO(Functional Device Object),代表了设备的功能。 在FDO的上面或下面还会有一些过滤器设备对象 FIDO(Filter Device Object)。,总线驱动程序负责枚举它的总线,这意味着:发现总线上的全部设备和检测设备何时被添加或修改,并为每一个设备创建一个PDO。功能驱动程序知道如何控制设备的主要功能,它分层在总线驱动程序的上面。功能驱动程序创建一个功能设备对象,放在设备栈中。对总线上的所有设备,总线过滤驱动程序被加在总线驱动程序之上;设备过滤驱动程序仅对特定的设备添加。上层的过滤驱动程序在功能驱动程序之上,下层过滤驱动程序在功能驱动程序之下。这种层次结构可以使I/O请求过程更加明了。,I/O管理器发送的IRP,先被送到设备堆栈的上层过滤器驱动程序(FIDO),它可以根据要求决定IRP的处理方式,是沿着设备栈继续向下传,或者做另外的处理。每一层程序都可以决定如何处理IRP。高层的驱动程序可以把请求划分成更简单的请求并传递给下层驱动程序。中间层次的驱动程序进一步处理请求,将一个IRP中的请求划分为若干个小的请求,并传给下层驱动程序。最后,最底层的驱动程序与硬件打交道。我们应该知道,一些IRP在到达总线程序之前,在设备传递过程中可能就被过滤掉了。,设备独立性软件,执行所有设备的公有操作: 对独立设备的分配与回收; 将逻辑设备名映射为物理设备名,进一步可以找到相应物理设备的驱动程序; 对设备进行保护,禁止用户直接访问设备; 缓冲管理,即对字符设备和块设备的缓冲区进行有效的管理, 以提高I/O的效率; 差错控制。由于在I/O操作中的绝大多数错误都与设备无关,故主要由设备驱动程序处理,而设备独立性软件处理那些设备驱动程序无法处理的错误。,向用户层(或文件层)软件提供统一接口,无论何种设备, 它们向用户所提供的接口应该是相同的。 例如, 对各种设备的读操作,在应用程序中都使用read; 而对各种设备的写操作,也都使用write。,逻辑设备表2) LUT的设置问题,设 备 分 配,设备分配中的数据结构,设备控制表DCT,控制器控制表、 通道控制表和系统设备表,控制器表、通道表、系统设备表,设备分配时应考虑的因素,独享设备:只能分配给一个用户或者进程使用。 (2) 共享设备:可分配给多个用户或者多个进程使用。 (3) 虚拟设备:可分配给多个用户或者多个进程使用,但需要在实际的物理设备上排序。,设备的固有属性,独占设备的分配程序,分配设备 2) 分配控制器 3) 分配通道 存在的问题:1)进程以物理设备请求资源2)单通道型,造成瓶颈,基本的设备分配程序:以有I/O通道的系统为例,设备分配程序的改进,增加设备的独立性:进程采用逻辑名请求I/O。 这样,可以从SDT(系统设备表)中轮询合适的同 类设备。 2) 考虑多通路情况 :对通道和控制器采用轮询的方式 查找合适的设备。,磁盘调度,磁盘是一种共享设备,当有多个进程共同请求磁盘时,需要采用合理 的磁盘调度方法,保证各个进程对磁盘的平均访问时间(寻 道时间)最少。即磁盘调度的目标是使磁盘的平均寻道时间最少。 下面介绍几种目前常用的磁盘调度算法: 先来先服务(FCFS,First Come First Serverd) 它根据进程请求访问磁盘的先后次序进行调度。此算法优点是公平、 简单,且每个进程的请求都能依次地得到处理,不会出现某一进程 的请求长期得不到满足的情况。但此算法由于未对寻道进行优化, 致使平均寻道时间可能较长。故FCFS算法仅适用于请求磁盘I/O的进 程数目较少的场合。 最短寻道时间优先(SSTF,Shortest Seek Time First) 其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻 道时间最短。但这种算法不能保证平均寻道时间最短。,扫描(SCAN)算法 SCAN算法既能获得较好的寻道性能,又能防止“饥饿”现 象,故被广泛用于大、中、小型机器和网络中的磁盘调 度。该算法不仅考虑到欲访问的磁道与当前磁道间的距 离,更优先考虑的是磁头当前的移动方向。磁头逐步从 外(里)向里(外)移动,直至再无更里面(外面)的 磁道要访问,从而避免了出现“饥饿”现象。 循环扫描(CSCAN)算法 SCAN存在这样的问题:当磁头刚从里向外移动而越过 了某一磁道时,恰好又有一进程请求访问此磁道,这 时,该进程必须等待,待磁头继续从里向外,然后再从 外向里扫描完所有要访问的磁道后,才处理该进程的请 求,致使该进程的请求被大大地推迟。为了减少这种延 迟,CSCAN算法规定磁头单向移动。,磁头从最外面被访问的磁道直接移到最里面欲访问的磁道(或相反)的寻道时间。,NStepSCAN算法:N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。当正在处理某子队列时,如果又出现新的磁盘I/O请求,便将新请求进程放入其他队列,这样就可避免出现粘着现象。 FSCAN算法: 一个是由当前所有请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程,放入另一个等待处理的请求队列。这样,所有的新请求都将被推迟到下一次扫描时处理。,FCFS,SSTF,SCAN,CSCAN,磁盘高速缓存,磁盘高速缓存,并非通常意义下的内存和CPU之间所增 设的一个小容量高速存储器,而是指利用内存中的存储 空间来暂存从磁盘中读出的一系列盘块中的信息。因 此,高速缓存是一组在逻辑上属于磁盘,而物理上是驻 留在内存中的盘块。 磁盘高速缓存的形式: 在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响; 把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。,系统将数据交付给请求进程的方式: 数据交付:直接将高速缓存中的数据,传送到请求者进程的内存工作区中。 指针交付:只将指向高速缓存中某区域的指针交付给请求者进程。该方式由于所传送的数据量少,节省了数据从磁盘高速缓存到进程的内存工作区的时间。 磁盘高速缓存置换算法:最近最久未使用算法LRU最近未使用算法NRU最少使用算法LFU,置换算法的考虑因素:访问频率高速缓存的访问频率远远低于存储器的访问频率。可预见性在高速缓存中的各盘块数据,有哪些数据可能在较长时间内不会再被访问,又有哪些数据可能很快就再被访问,会有相当一部分是可预知的。数据的一致性高速缓存一种易失性的存储器,一旦系统发生故障,存放在高速缓存中的数据将会丢失;而其中有些盘块(如索引结点盘块)中的数据已被修改,但尚未拷回磁盘,因此,当系统发生故障后,可能会造成数据的不一致性。,提高磁盘I/O速度的其它方法: 提前读(Read-ahead) 延迟写 优化物理块的分布 虚拟盘,

    注意事项

    本文(windows操作系统之设备管理解析课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开