您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统第6章输入输出系统.
第六章输入输出系统6.1I/O系统的功能、模型和接口6.2I/O设备和设备控制器6.3中断机构和中断处理程序6.4设备驱动程序6.5与设备无关的I/O软件6.6用户层的I/O软件6.7缓冲区管理6.8磁盘存储器的性能和调度6.1I/O系统的功能、模型和接口I/O系统的基本功能隐藏物理设备的细节与设备的无关性提高处理机和I/O设备的利用率对I/O设备进行控制确保对设备的正确共享错误处理6.1I/O系统的功能、模型和接口I/O系统的层次结构和模型I/O软件的层次结构6.1I/O系统的功能、模型和接口I/O系统中各种模块之间的层次视图6.1I/O系统的功能、模型和接口I/O系统接口块设备接口流设备(字符设备)接口网络通信接口6.2I/O设备和设备控制器I/O设备组成机械部件即设备本身(物理装置)执行I/O操作电子部件即设备控制器或叫适配器执行I/O控制在小型和微型机中,它常采用印刷电路卡插入计算机主板上的总线插槽通过若干接口寄存器或接口缓冲区与CPU通信6.2I/O设备和设备控制器I/O设备可从不同角度对设备进行分类按使用特性分类存储设备输入输出设备按传输速率分类低速设备:每秒几个字节到数百个字节,键盘中速设备:每秒数千个字节到数十千字节,打印机高速设备:每秒数百千个字节到数兆个字节,网卡、磁盘6.2I/O设备和设备控制器常用设备、网络以及总线的数据率6.2I/O设备和设备控制器按信息交换的单位分类块设备(BlockDevice):设备一次操作的数据传输单位是块常见设备:磁盘、磁带等特征:传输速率高;可寻址;DMA方式字符设备(CharacterDevice):设备一次操作的数据传输单位是字符常见设备:键盘、终端、打印机和鼠标等特征:传输速率低;不可寻址;中断驱动方式6.2I/O设备和设备控制器按设备的固有属性分类独占设备:在一段时间内只能由一个进程(用户)使用的设备,属于临界资源,如打印机、磁带机等共享设备:在一段时间内可由多个进程同时使用的设备,如磁盘虚拟设备:通过虚拟技术将一台独占设备改造为共享设备,供若干进程同时使用6.2I/O设备和设备控制器设备控制器设备控制器分为两类控制字符设备的控制器控制块设备的控制器6.2I/O设备和设备控制器设备控制器的功能接收和识别命令(控制寄存器)数据交换(数据寄存器)设备状态的了解和报告(状态寄存器)地址识别(地址译码器)数据缓冲差错控制操作系统一般只与设备控制器打交道6.2I/O设备和设备控制器设备控制器的组成设备控制器是CPU和I/O设备之间的接口,它接收从CPU发来的命令,并去控制设备工作设备控制器和处理机的接口数据线:与数据寄存器和控制/状态寄存器相连地址线控制线6.2I/O设备和设备控制器设备控制器和设备的接口数据信号控制信号状态信号I/O逻辑CPU启动一个设备时,将启动命令和地址送给控制器控制器的I/O逻辑对收到的命令进行译码再根据译出的命令对所选的设备进行控制(在一个设备控制器中可以有一个或多个设备接口,一个接口连一台设备,控制器中的I/O逻辑根据处理机发来的地址信号,去选择其中的一个设备接口)6.2I/O设备和设备控制器6.2I/O设备和设备控制器内存映像I/O接口电路中有多个寄存器,一个寄存器有唯一的一个地址,每个地址为I/O端口,该地址称为I/O端口地址I/O指令形式与I/O地址相互关联,主要有两种形式I/O独立编址(I/O专用指令)内存映像编址(内存映像I/O模式)6.2I/O设备和设备控制器I/O独立编址(I/O专用指令)分配给端口的地址空间是完全独立的,与内存的地址空间没有关系主机使用专门的I/O指令对端口进行操作优缺点外部设备不占用内存的地址空间程序设计时,易于区分是对内存操作还是对I/O端口操作对I/O端口操作的指令类型少,操作不灵活例子:8086/8088,分配给I/O端口的地址空间64K,只能用IN和OUT指令对其进行读写操作6.2I/O设备和设备控制器内存映像I/O分配给系统中所有端口的地址空间与内存的地址空间统一编址主机把I/O端口看作一个存储单元,对I/O的读写操作等同于对存储器的操作优缺点凡是可对存储器操作的指令都可对I/O端口操作不需要专门的I/O指令I/O端口可占有较大的地址空间占用内存空间6.2I/O设备和设备控制器I/O通道(I/OChannel)I/O通道设备的引入为了把CPU从繁杂的I/O任务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行工作能力通道的定义I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作6.2I/O设备和设备控制器通道特点指令类型单一通道没有自己的内存,通道程序在主机的内存中,即通道与CPU共享内存通道类型字节多路通道数组选择通道数组多路通道6.2I/O设备和设备控制器字节多路通道通道中通常含有许多非分配型子通道,数量从几十个到数百个,每一个子通道连接一台I/O设备这些子通道按时间片轮转方式共享主通道主要连接以字节为单位的低速设备,如打印机,终端以字节为单位传输信息,可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息6.2I/O设备和设备控制器字节多路通道的工作原理控制器A控制器B控制器C控制器D控制器N…A1A2A3…子通道AB1B2B3…子通道BC1C2C3…子通道CN1N2N3…子通道NA1B1C1…A2B2C2…设备…6.2I/O设备和设备控制器数组选择通道以成组方式工作,每次传送一批数据,传送速度高在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输。当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序。这种独占性又使得通道利用率很低主要连接磁盘,磁带等高速I/O设备选择通道6.2I/O设备和设备控制器数组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令。它含有多个非分配型的子通道,既有很高的数据传输率,又能获得令人满意的通道利用率实际上是对通道程序采用多道程序设计的硬件实现主要连接高速设备6.2I/O设备和设备控制器“瓶颈”问题通道执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。一旦CPU发出指令,启动通道,则通道独立于CPU工作但是,由于通道价格贵,通道数量少,往往使之成为I/O的“瓶颈”6.2I/O设备和设备控制器单通路I/O系统设备1设备2设备3设备4设备5设备6设备7控制器1控制器2控制器3控制器4通道1通道2存储器6.2I/O设备和设备控制器多通路I/O系统I/O设备控制器1控制器2通道1通道2存储器I/O设备I/O设备I/O设备解决“瓶颈”问题提高了控制器效率提高可靠性提高并行度6.3中断机构和中断处理程序中断简介中断CPU对系统内外发生的异步事件的响应过程异步事件是指无一定时序关系随机发生的事件引入中断解决主机与I/O设备并行工作的问题提高系统可靠性实现多机联系方便应用程序,实现实时控制6.3中断机构和中断处理程序分类中断(外中断)陷入(内中断)I/O中断时钟中断系统调用缺页异常断点指令其他程序性异常(如算术溢出等)广义中断中断(狭义)与陷入的区别——信号的来源不同——中断:与正执行指令无关,可以屏蔽陷入:与正执行指令有关,不可屏蔽6.3中断机构和中断处理程序中断向量表和中断优先级中断向量表每个中断有一个唯一的中断向量号(通常为中断类型号)中断向量号通常按照从小到大的顺序存放在中断向量表中中断向量表一般存放在主存储器的固定区域中每个表项是一个中断向量,存放了中断向量号和中断处理程序的入口地址中断优先级6.3中断机构和中断处理程序对多中断源的处理方式中断屏蔽处理一个中断时屏蔽其它所有中断,对任何新中断置之不理,直至本次中断处理完,再检测有无新中断中断嵌套处理一个中断时可以继续响应其它中断6.3中断机构和中断处理程序中断处理过程中断请求中断判优中断响应中断服务中断返回中断硬件中断处理程序中断源(中断事件):引起中断发生的事件中断处理程序:处理中断的程序代码,也称中断例程6.3中断机构和中断处理程序6.3中断机构和中断处理程序中断处理程序中断响应CPU在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号开始取下一条指令执行指令检查指令处理中断停止取周期执行周期中断周期不允许中断允许中断6.3中断机构和中断处理程序保护被中断进程的CPU现场转让相应的中断处理程序中断处理恢复CPU的现场并退出中断6.3中断机构和中断处理程序唤醒被阻塞的驱动程序进程对被中断进程的CPU环境进行保护分析中断原因,转入相应的中断处理程序终端中断处理程序打印机中断处理程序磁盘中断处理程序…恢复被中断进程的CPU现场…返回被中断的进程,继续执行中断请求信号6.4设备驱动程序又称设备处理程序是I/O进程与设备控制器之间的通信程序6.4设备驱动程序设备驱动程序概述设备驱动程序的功能接收由设备独立性软件发来的命令和参数,并将命令中的抽象要求转换为与设备相关的低层操作序列检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式发出I/O命令及时响应由控制器或通道发来的中断请求,根据中断类型,调用相应的中断处理程序进行处理对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序6.4设备驱动程序设备驱动程序的特点驱动程序是实现在与设备无关的软件和设备控制器之间通信和转换的程序驱动程序与设备控制器和I/O设备的硬件特性密切相关驱动程序与I/O设备所采用的I/O控制方式密切相关驱动程序的一部分必须用汇编语言书写,目前有很多驱动程序的基本部分已固化在ROM中驱动程序应允许可重入6.4设备驱动程序设备处理方式为每一类设备设置一个进程,专门用于执行这类设备的I/O操作在整个系统中设置一个I/O进程,专门用于执行系统中所有各类设备的I/O操作。也可以设置一个输入进程和一个输出进程,分别处理系统中所有各类设备的输入或输出操作不设置专门的设备处理进程,而只为各类设备设置相应的设备处理程序(模块),供用户或系统进程调用6.4设备驱动程序设备驱动程序的处理过程将抽象要求转换为具体要求对服务请求进行校验检查设备的状态传送必要的参数启动I/O设备6.4设备驱动程序对I/O设备的控制方式分为四类使用轮询的可编程I/O方式(程序I/O方式)使用中断的可编程I/O方式(中断驱动方式)直接存储器访问方式(DMA方式)I/O通道控制方式6.4设备驱动程序使用轮询的可编程I/O方式向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完?CPU出错完成未就绪下条指令未完I/O→CPUCPU→内存I/O控制器置状态寄存器busy=1按规定指令控制设备进行I/O设备清error位表示I/O成功;清busy位表示I/O结束6.4设备驱动程序缺点CPU将大量的时间花费在循环等待上,CPU效率极差外设不能合理利用整个系统的效率很低现在已较少使用这种方式作为I/O的数据传输控制6.4设备驱动程序使用中断的可编程I/O方式向I/O控制器发读命令读I/O控制器的状态从I/O控制器中读入字向存储器中写字检查状态传送完?CPU出错完成下条指令未完I/O→CPUCPU→内存I/O控制器置状态寄存器busy=1按规定指令控制设备进行I/O设备清error位表示I/O成功;清busy位表示I/O结束中断CPU做其它事6.4设备驱动程序6.4设备驱
本文标题:操作系统第6章输入输出系统.
链接地址:https://www.777doc.com/doc-2381396 .html