第7章-输入输出管理_第1页
第7章-输入输出管理_第2页
第7章-输入输出管理_第3页
第7章-输入输出管理_第4页
第7章-输入输出管理_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

操作系统原理第7章输入/输出管理内容摘要I/O管理概述I/O软件层次输入/输出控制方式缓冲技术设备分配Linux的I/O管理2I/O设备分类按设备的使用特性分类:存储设备、I/O设备按设备的共享属性分类:独占设备:在一段时间内只允许一个用户进程使用的设备;共享设备:在一段时间内允许多个进程使用的设备;虚拟设备:通过虚拟技术将一台独占设备改造成若干台逻辑设备;按信息交换单位分类:块设备、字符设备;按传输速度分类:低速设备、中速设备、高速设备;3I/O设备管理功能设备分配:按照设备类型和相应的分配算法决定将I/O分配给哪一个要求使用该设备的进程;设备处理:实现CPU和设备控制器之间的通信;缓冲管理:缓和CPU与I/O设备速度不匹配的矛盾;设备独立性:应用程序独立于实际使用的物理设备;4设备控制器设备控制器:设备的电子部分,应具有:接收和识别来自CPU的各种命令;实现CPU与设备控制器、设备控制器与设备之间的数据交换;记录设备的状态供CPU查询;可识别控制的每个设备的地址;5I/O通道I/O通道,具备功能:接收CPU发来的I/O指令,选择外围设备连接;执行CPU为通道组织的通道程序;给出外围设备的有关地址;给出主存缓冲区的首地址;控制外围设备与主存缓冲区之间数据交换的个数,计数,判断是否结束;指定传送工作结束时要进行的操作;检查外围设备的工作状态是否正常或故障;在数据传输过程中完成必要的格式变换;6I/O通道(续)根据信息交换方式的不同:字符多路通道:以字节为单位传输信息,可以分时地执行多个通道程序;主要用于连接以字节为单位的低速I/O设备;数组选择通道:可以连接多台高速设备,只含有一个分配型子通道,在一段时间内只能执行一道通道程序;数组多路通道:先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行通道指令;7I/O软件层次I/O软件设计基本思想:将设备管理软件组织成一种层次结构。底层软件与硬件相关,用来屏蔽硬件的具体细节;高层软件为用户提供一个友好、清晰而统一的接口。分为4层:中断处理程序、设备驱动程序、与设备无关的软件、用户空间的软件;8中断处理程序中断是指计算机系统内发生了某一急需处理的事件,使得CPU暂时中止当前正在执行的程序,而转去执行相应的事件处理程序,待处理完毕后又返回到原来被中断处继续执行;当设备完成I/O操作时,便向CPU发送一个中断信号,CPU响应中断后便转入中断处理程序;9中断处理程序(续)中断处理过程步骤:唤醒被阻塞的驱动程序进程;保存被中断进程的CPU环境;分析中断原因,转入相应的设备中断处理程序;进行中断处理,判断设备状态,做相应处理;恢复被中断进程的现场;10设备驱动程序所有与设备相关的代码放在设备驱动程序中,应为每一类设备配置一个驱动程序,或为一类密切相关的设备配置一个驱动程序;任务:接收来自与设备无关的上层软件的抽象请求,将这些请求转换成设备控制器可以接受的具体命令,再将这些命令发送给设备控制器,并监督这些命令是否正确执行;空闲则立即执行,否则插入等待队列;磁盘驱动程序:第一步将抽象请求转换成具体形式,计算请求块实际在磁盘上的位置,检查驱动器的电机是否正在运转,确定磁头是否定位在正确的柱面上;决定需要设备控制器做哪些操作,以及按照什么样的次序执行操作;11设备驱动程序(续)设备驱动程序发出命令后,系统处理方式:设备驱动程序必须等待控制器完成操作,所以设备驱动程序阻塞自己,直到中断信号将其唤醒;操作很快完成,基本没有延迟,设备驱动程序不需要阻塞;操作完成后,检查是否有错;若正常,设备驱动程序负责将数据传送到与设备无关的软件层;向调用者返回一些用于错误报告的状态信息;若还有其他未完成请求在排队,则选择一个启动执行;若队列中没有未完成的请求,则等待下一个请求;12与设备无关的I/O软件基本任务:实现一般设备都需要的I/O功能,并向用户空间软件提供一个统一的接口;设备命名:负责把设备的符号名映射到相应的设备驱动程序上;设备保护:对设备进行必要的保护,防止无授权的应用或用户非法使用;提供与设备无关的逻辑块:向高层软件隐蔽物理细节,并给上层提供统一的逻辑块接口;13与设备无关的I/O软件(续)4.缓冲:块设备,硬件一般一次读写一个完整的块,而用户进程是按任意单位读写数据的;字符设备,当用户进程输出数据的速度快于设备输出数据的速度时,必须使用缓冲;5.存储设备的块分配:在创建一个文件并向其中写入数据时,通常要为该文件分配新的存储块;空闲磁盘块表或位示图、分配算法与设备无关;6.独占设备的分配和释放:对设备的使用请求进行检查,并根据设备的可用状况决定是否接收该请求;7.出错处理:大多数出错处理由设备驱动程序完成;向调用者报告错误;打印错误信息;14用户空间的I/O软件I/O系统调用,库函数:格式化输入/输出;Spooling系统,多道程序设计系统中处理独占I/O设备一种方法:守护进程、特殊目录;打印机、网络传输、Internet邮件;15程序直接控制方式早期计算机系统,没有中断机构;数据输入为例,由处理机向设备控制器发出一条I/O指令,启动设备进行输入,在设备输入数据期间,处理机通过循环执行测试指令,不间断检测设备状态寄存器的值,当状态寄存器的值显示设备输入完成时,处理机将数据寄存器中的数据取出,送入内存指定单元;工作过程简单,由于CPU的高速性和I/O设备的低速性之间的矛盾,CPU的绝大部分时间都处于循环测试中,致使CPU的利用率相当低;16中断控制方式现代计算机系统广泛采用,减少CPU等待时间,提高CPU与设备的并行工作程度;数据输入为例,由CPU向设备控制器发出指令启动外设输入数据;在设备输入数据的同时,CPU可以去做其他工作;当设备输入完成时,设备控制器会向CPU发送一个中断信号,CPU接收到中断信号之后,执行设备中断处理程序;中断处理程序将输入数据寄存器中的数据传送到某一特定内存单元中,供要求输入的进程使用;与直接控制方式相比,大大提高CPU利用率,支持CPU与设备的并行工作;输入/输出数据时,中断发生次数较多,耗费大量的CPU时间;17直接内存存取控制方式DMA,用于高速外部设备与内存之间批量数据的传输;DMA控制器包括:地址总线、数据总线和控制寄存器;基本思想:在外围设备和内存之间开辟直接的数据交换通路;使用专门的DMA控制器,利用总线程控制权的方法,由DMA控制器送出内存地址和发出内存读、设备写或设备读、内存写的控制信号,完成内存和设备之间的直接数据传送,不用CPU干预;当本次DMA传送的数据全部完成时才产生中断,请求CPU进行结束处理;DMA控制方式与中断控制方式的主要区别:中断控制方式在每个数据传送完成后中断CPU,DMA控制方式在所要求传送的数据全部传送结束时中断CPU;中断控制方式的数据传送是在中断处理时由CPU控制完成,DMA控制方式的数据传送则是在DMA控制器的控制下完成。18通道控制方式与DMA方式类似,以内存为中心,实现设备与内存直接交换数据的控制方式;数据输入为例,CPU发出启动指令明确要执行的I/O操作、所使用的设备和通道;当对应通道接收到CPU发来的启动指令后,把存放在内存中的通道程序读出,并执行通道程序,控制设备将数据传送到内存中指定的区域;在设备进行输入的同时,CPU可以去做其他工作;当数据传送结束时,设备控制器向CPU发送中断请求;CPU收到中断信号后转去执行中断处理程序,中断结束后返回中断程序;相当于一个功能简单的处理机;19缓冲技术的引入引入原因:改善CPU与I/O设备间速度不匹配的矛盾;可以减少对CPU的中断频率,放宽对中断响应时间的限制;提高CPU和I/O设备之间的并行性,提高系统的吞吐量和设备的利用率;实现方法:采用硬件缓冲器实现;缓冲区:在内存中划出一块存储区,专门用来临时存放输入/输出数据;20缓冲的分类单缓冲:最简单的缓冲形式,在设备和处理机之间设置一个缓冲器;设备和处理机交换数据时,先把被交换数据写入缓冲器,然后,需要数据的设备或处理机从缓冲器取走数据;缓冲器属于临界资源;双缓冲:提高处理机与设备的并行操作程度;轮换使用两个缓冲区;循环缓冲:包含多个大小相等的缓冲区,

温馨提示

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

评论

0/150

提交评论