操作系统第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设备驱

1 / 119
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功