操作系统课件DeviceManagementca.ppt_第1页
操作系统课件DeviceManagementca.ppt_第2页
操作系统课件DeviceManagementca.ppt_第3页
操作系统课件DeviceManagementca.ppt_第4页
操作系统课件DeviceManagementca.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

操作系统原理 I/O设备管理案例分析,主讲教师:史广顺 ,2,Minix中的I/O设备管理,设备驱动方式(与Unix的本质区别,与Linux类似方式) 每一类设备均有单独的设备驱动程序,其中硬件无关的内容形成公共程序、硬件相关的内容作为特定驱动。以模块化组织提高系统灵活性 采用进程间通信的方式完成I/O设备的使用(Minix的进程式组织结构) Unix采用过程调用的方式,用户进程调用驱动程序,引发操作系统陷入,完成I/O操作后由中断处理程序唤醒用户进程 设备管理方法 设备驱动程序作为独立进程存在,OS启动时各个设备驱动进程完成基本初始化,而后等待消息(阻塞),直到用户进程发送消息(使用I/O设备)将其唤醒 与硬件相关的设备驱动部分作为过程被设备驱动程序调用,从而实现无关性封装 I/O软件与死锁处理 Minix将所有与设备无关的I/O软件封装在文件系统模块中,所有的块设备均作为一种特殊的文件 用户空间的I/O软件主要是供用户程序调用的函数库 Minix中对死锁的处理采用“鸵鸟算法”,I/O管理实例,3,进程式OS与整体式OS,I/O管理实例,4,Windows中的I/O设备管理,I/O管理系统结构 I/O管理系统是一个独立的系统组件,存在于NTOSKRNL.exe文件中 I/O管理系统由多个执行体组件和设备驱动程序组成,负责接受I/O请求,并针对性的将设备请求传送到各类对应的设备 Windows中将所有的I/O操作均看作对虚拟文件的操作,所有的I/O数据传输都被看作“流数据”,由I/O管理系统负责将虚拟文件映射到对应的物理设备上 I/O管理系统组成 I/O管理器:负责定义支撑设备驱动程序的基本架构,直接响应I/O请求 设备驱动程序:负责定义并实现某一特定类型设备的I/O接口管理 PnP管理器:与I/O管理器和总线驱动程序协同,检测硬件资源的分配、设备的变更 电源管理器:与I/O管理器协同工作来检测整个系统和单个设备,完成电源状态转换 WDM WMI:WDM的WMI支持例程,负责实现设备与WMI服务之间的通信 注册表:作为一个数据库,存储基本硬件描述信息以及驱动程序的初始化和配置信息 硬件抽象层:将设备驱动程序实现为二进制可移植的形式,实现对硬件平台的独立 Windows中的I/O系统数据结构 文件对象、驱动程序对象、设备对象、I/O请求包,I/O管理实例,5,Windows中I/O系统组件,I/O管理实例,6,Windows中的I/O数据结构,文件对象 所有I/O设备被看作文件对象,用户程序进行I/O操作时就像是对一个文件进行操作 文件对象是可共享的、有设备无关命名的、受保护的、支持同步的结构 调用与实现过程:C库函数Win32 DLLNTDLL.DLLNTOSKRNL.DLL 驱动程序对象与设备对象 驱动程序对象代表一个独立的驱动程序,I/O管理器从驱动程序对象中获得并且为I/O记录每个驱动程序的入口点 设备对象在OS中代表一个物理/逻辑/虚拟的设备,并描述设备的基本特征 当驱动程序被加载时,I/O管理器将创建一个驱动程序对象,然后调用驱动程序的初始化例程,初始化例程将创建一个设备对象。设备对象接受I/O操作请求,驱动程序对象实现I/O操作请求 I/O请求包 由固定部分(标题)和堆栈单元(数量不定)组成,包含了I/O请求的各类信息 IRP由I/O管理器构造,保存了I/O请求的相关信息,同时保存了调用者的相关信息 所有的IRP均保存在IRP队列中,当用户程序终止后,I/O系统将清除未完成的IRP,I/O管理实例,7,I/O请求涉及到的数据结构,I/O管理实例,8,Windows中设备驱动程序层次,I/O管理实例,9,设备驱动程序的内容组成,I/O管理实例,10,Windows中的I/O处理简述,设备驱动程序的同步操作 驱动程序在访问相关数据时,必须实现“同步”操作,即以互斥的形式保护各类共享数据。在单CPU的机器上,通过同步例程实现;在多CPU的机器上,通过“自旋锁”实现 I/O处理的类型 同步I/O和异步I/O:绝大部分I/O操作是以同步方式实现的。但是也可以通过设定CreatFile的参数来使用异步I/O,异步I/O要求用户程序在设计和实现时必须保证不访问来自I/O操作的数据。在异步方式下,用户程序通过等待同步对象来实现与异步I/O操作的“同步” 快速I/O:允许I/O系统不产生IRP而直接使用驱动程序执行I/O请求 映射文件I/O和文件高速缓存 映射文件I/O是将磁盘中的Mapping File作为进程的虚拟内存一部分,直接把文件作为大的数组进行访问 Windows利用Mapping File可实现文件高速缓存和映象活动 分散/集中式I/O:运行用户程序从虚拟内存的多个缓冲区(映射文件)中读写数据到磁盘文件(非高速缓存打开)的一个连续区域中。,I/O管理实例,11,盘设备的管理描述,盘的硬件组成及相关原理 磁盘:软盘和硬盘,基于电磁原理存储数据,盘面附着可磁化金属氧化物,磁头旋转保持角速度一致即可 只读光盘:CD-ROM,基于光学原理,利用凹痕与槽脊的过渡来记录0、1;光头旋转时需要保持线速度一致 可刻录光盘:CD-R,盘面附着染料,通过调整激光的功率溶化染料,形成光学上的暗斑,记录0、1 可擦写光盘:CD-RW,盘面附着银/铟/锑/碲合金 DVD光盘:更小的凹痕、更密的螺旋、更短的激光波长 盘的I/O管理问题 物理空间的分布:磁道/柱面/扇区,螺旋/扇区 物理空间的逻辑化映射:控制器实现统一的虚拟几何规格 数据存储和读写的性能保证:RAID、低级/高级格式化、柱面斜进、交叉编码 磁盘驱动的核心算法:磁盘臂调度算法 容错机制:坏扇区记录、ECC校验、稳定存储器,I/O管理实例,12,电源的管理描述,计算机硬件设备的电能消耗 电源管理的目的:合理、有效的使用电能驱动计算机硬件设备工作 如何减少能量消耗:当设备不工作时,由OS将其关闭;或者通过降低应用程序的速度来降低能源消耗 电池类型:一次性使用、可充电、智能电池 电源管理的方法 硬件设备设计为多种状态,例如工作、睡眠、休眠、关闭等,可通过机械按钮或者设备本身转换状态以节省能源 操作系统根据能量消耗的规律负责调整设备的状态 硬件设备和电池均提供“智能化”设计,通过向OS提供当前状态信息供OS进行决策,合理规划电能消耗 “退化”操作:当能源不足时,OS通过降低电压、降低分辨率等操作以延长计算机可用时间,I/O管理实例,13,电源的管理描述,计算机硬件设备的电能消耗 电源管理的目的:合理、有效的使用电能驱动计算机硬件设备工作 如何减少能量消耗:当设备不工作时,由OS将其关闭;或者通过降低应用程序的速度来降低能源消耗 电池类型:一次性使用、可充电、智能电池 ACPI(高级配置与电源接口)标准:为系统定义了6种不同的能耗状态(S0S5),为设备定义了4种不同的能耗状态(D0D3) 电源管理的方法 硬件设备设计为多种状态,例如工作、睡眠、休眠、关闭等,可通过机械按钮或者设备本身转换状态以节省能源 操作系统根据能量消耗的规律负责调整设备的状态 硬件设备和电池均提供“智能化”设计,通过向OS提供当前状态信息供OS进行决策,合理规划电

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论