第7章-输入输出管理概要.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章-输入输出管理概要

操作系统原理 第7章 输入/输出管理 内容摘要 I/O管理概述 I/O软件层次 输入/输出控制方式 缓冲技术 设备分配 Linux的I/O管理 * I/O设备分类 按设备的使用特性分类:存储设备、I/O设备 按设备的共享属性分类: 独占设备:在一段时间内只允许一个用户进程使用的设备; 共享设备:在一段时间内允许多个进程使用的设备; 虚拟设备:通过虚拟技术将一台独占设备改造成若干台逻辑设备; 按信息交换单位分类:块设备、字符设备; 按传输速度分类:低速设备、中速设备、高速设备; * I/O设备管理功能 设备分配:按照设备类型和相应的分配算法决定将I/O分配给哪一个要求使用该设备的进程; 设备处理:实现CPU和设备控制器之间的通信; 缓冲管理:缓和CPU与I/O设备速度不匹配的矛盾; 设备独立性:应用程序独立于实际使用的物理设备; * 设备控制器 设备控制器:设备的电子部分,应具有: 接收和识别来自CPU的各种命令; 实现CPU与设备控制器、设备控制器与设备之间的数据交换; 记录设备的状态供CPU查询; 可识别控制的每个设备的地址; * I/O通道 I/O通道,具备功能: 接收CPU发来的I/O指令,选择外围设备连接; 执行CPU为通道组织的通道程序; 给出外围设备的有关地址; 给出主存缓冲区的首地址; 控制外围设备与主存缓冲区之间数据交换的个数,计数,判断是否结束; 指定传送工作结束时要进行的操作; 检查外围设备的工作状态是否正常或故障; 在数据传输过程中完成必要的格式变换; * I/O通道(续) 根据信息交换方式的不同: 字符多路通道:以字节为单位传输信息,可以分时地执行多个通道程序;主要用于连接以字节为单位的低速I/O设备; 数组选择通道:可以连接多台高速设备,只含有一个分配型子通道,在一段时间内只能执行一道通道程序; 数组多路通道:先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行通道指令; * I/O软件层次 I/O软件设计基本思想:将设备管理软件组织成一种层次结构。底层软件与硬件相关,用来屏蔽硬件的具体细节;高层软件为用户提供一个友好、清晰而统一的接口。 分为4层:中断处理程序、设备驱动程序、与设备无关的软件、用户空间的软件; * 中断处理程序 中断是指计算机系统内发生了某一急需处理的事件,使得CPU暂时中止当前正在执行的程序,而转去执行相应的事件处理程序,待处理完毕后又返回到原来被中断处继续执行; 当设备完成I/O操作时,便向CPU发送一个中断信号,CPU响应中断后便转入中断处理程序; * 中断处理程序(续) 中断处理过程步骤: 唤醒被阻塞的驱动程序进程; 保存被中断进程的CPU环境; 分析中断原因,转入相应的设备中断处理程序; 进行中断处理,判断设备状态,做相应处理; 恢复被中断进程的现场; * 设备驱动程序 所有与设备相关的代码放在设备驱动程序中,应为每一类设备配置一个驱动程序,或为一类密切相关的设备配置一个驱动程序; 任务:接收来自与设备无关的上层软件的抽象请求,将这些请求转换成设备控制器可以接受的具体命令,再将这些命令发送给设备控制器,并监督这些命令是否正确执行;空闲则立即执行,否则插入等待队列; 磁盘驱动程序:第一步将抽象请求转换成具体形式,计算请求块实际在磁盘上的位置,检查驱动器的电机是否正在运转,确定磁头是否定位在正确的柱面上;决定需要设备控制器做哪些操作,以及按照什么样的次序执行操作; * 设备驱动程序(续) 设备驱动程序发出命令后,系统处理方式: 设备驱动程序必须等待控制器完成操作,所以设备驱动程序阻塞自己,直到中断信号将其唤醒; 操作很快完成,基本没有延迟,设备驱动程序不需要阻塞; 操作完成后,检查是否有错;若正常,设备驱动程序负责将数据传送到与设备无关的软件层;向调用者返回一些用于错误报告的状态信息;若还有其他未完成请求在排队,则选择一个启动执行;若队列中没有未完成的请求,则等待下一个请求; * 与设备无关的I/O软件 基本任务:实现一般设备都需要的I/O功能,并向用户空间软件提供一个统一的接口; 设备命名:负责把设备的符号名映射到相应的设备驱动程序上; 设备保护:对设备进行必要的保护,防止无授权的应用或用户非法使用; 提供与设备无关的逻辑块:向高层软件隐蔽物理细节,并给上层提供统一的逻辑块接口; * 与设备无关的I/O软件(续) 4.缓冲:块设备,硬件一般一次读写一个完整的块,而用户进程是按任意单位读写数据的;字符设备,当用户进程输出数据的速度快于设备输出数据的速度时,必须使用缓冲; 5.存储设备的块分配:在创建一个文件并向其中写入数据时,通常要为该文件分配新的存储块;空闲磁盘块表或位示图、分配算法与设备无关; 6.独占设备的分配和释放:对设备的使用请求进行检查,并根据设备的可用

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档