第四章设备管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

操作系统原理与实践高等教育出版社北京汉众信息科技有限责任公司策划第四章设备管理第四章设备管理目的与要求:掌握I/O控制的硬件基础和基本原理、设备的管理和使用方法。理解设备管理子系统的层次,功能及技术、了解磁盘设备。重点与难点:I/O控制方式设备使用方法I/O软件层次结构设备驱动程序缓冲技术磁盘调度方法作业:2,5,9,10,14第四章设备管理4.1I/O硬件4.2I/O软件4.3存储设备4.1I/O硬件4.1.1I/O总线4.1.2设备控制器4.1.3直接存储器访问控制器4.1.4I/O通道4.1.5I/O设备4.1.6I/O控制方式4.1.1I/O总线第一章所讲的总线的基本内容。PCI总线及其配置空间4.1.2设备控制器I/O设备通常包含一个机械部件和一个电子部件。电子部件被称作I/O部件或设备控制器。操作系统一般只与控制器打交道,而非设备本身。早期CPU是直接控制外部设备的,在引入I/O部件之后,I/O指令功能加强,才将CPU逐渐从与外设的交互细节中解放出来。4.1.2设备控制器数据寄存器控制/状态寄存器I/O逻辑控制器与设备接口1控制器与设备接口N设备控制器的组成设备控制器的组成设备控制器的组成控制器的基本结构总线控制器处理机主存显卡外设光盘磁盘SCSI控制器外设控制器控制器控制器PCI外设总线4.1.2设备控制器各部件的连接模型主版总线SCSI是一种智能的通用接口标准磁盘控制器主存比特流字节块转换、校验字符显示控制器主存经CPU显示信号字节流转换4.1.2设备控制器控制器的任务:在外部设备与内存(或CPU)之间完成比特流(或外部信号)和字节块(流)之间的转换。4.1.3直接存储器访问控制器DMA控制器内部结构及外部接口关系CPUDRMARDCCRI/O控制逻辑4.1.3直接存储器访问控制器指令/状态寄存器CR内存地址寄存器MAR数据寄存器DR数据计数器DC定义:通道是独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入,输出操作可与CPU并行操作。通道又称输入输出处理机,术语“通道”专指专门用来负责输入输出工作的处理机(简称I/O处理机)。比起中央处理机CPU来,通道是一个比CPU功能较弱、速度较慢、价格较为便宜的处理机。但“通道”一词在微型机中常指与DMA或与I/O处理机相连设备的单纯的数据传送通路,它并不具有处理机的功能。4.1.4I/O通道4.1.4I/O通道1.引入通道的目的为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力2.通道类型字节多路通道:通常按字节交叉的方式工作,适用于低速I/O设备。数组选择通道:按成组方式进行数据传输,适用于高速I/O设备。数组多路通道:综合前二个优点(数据传送率和通道利用率都较高)。4.1.4I/O通道1)字节多路通道字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息。主要连接以字节为单位的低速I/O设备。如打印机,终端。以字节为单位交叉传输,当一台传送一个字节后,立即转去为另一台传送字节。4.1.4I/O通道2)数组选择通道数组选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序主要连接磁盘,磁带等高速I/O设备4.1.4I/O通道4.1.4I/O通道数组选择通道3)数组多路通道数组多路通道结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令主要连接高速设备这样,对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现4.1.4I/O通道3.硬件连接结构系统总线I/O总线I/O控制器I/O控制器I/O控制器I/O控制器处理器通道处理器内存通道相当于一个功能简单的处理机,包含通道指令(空操作,读操作,写操作,控制,转移操作),并可执行用这些指令编写的通道程序4.通道工作原理4.1.4I/O通道通道地址字CAW:记录通道程序在内存中的地址通道命令字CCW:保存正在执行的通道指令通道状态字CSW:存放通道执行后的返回结果通道数据字CDW:存放传输数据通道和CPU共用内存,通过周期窃取方式取得1)通道运算控制部件用于I/O操作的命令主要有两种:I/O指令:启动通道程序通道命令:对I/O操作进行控制读、反读、写、测试设备状态的数据传输命令、用于设备控制的命令(磁带反绕、换页)、实现通道程序内部控制的转移命令2)通道命令命令格式一般包括:操作码、数据传输内存地址、特征位、计数器3)通道命令格式CPU:执行用户程序,当遇到I/O请求时,可根据该请求生成通道程序放入内存(也可事先编好放入内存),并将该通道程序的首地址放入CAW中;之后执行“启动I/O”指令,启动通道工作。4)工作原理通道:接收到“启动I/O”指令后,从CAW中取出通道程序的首地址,并根据首地址取出第一条指令放入CCW中,同时向CPU发回答信号,使CPU可继续执行其他程序,而通道则开始执行通道程序,完成传输工作。当通道传输完成最后一条指令时,向CPU发I/O中断,并且通道停止工作。CPU接收中断信号,从CSW中取得有关信息,决定下一步做什么4)工作原理5.通道与CPU的关系主从关系可并行工作有通信方式作用不同(通道--I/O;CPU--计算)4.1.4I/O通道4.1.4I/O通道通道传送与中断传送的区别:中断控制传送由中断控制器发出中断信息,中止CPU现行程序,转去执行中断服务程序。通道方式则是通过执行通道程序来实现。中断服务程序与CPU的现行程序是串行工作的,而通道程序的执行与CPU的现行程序是并行工作的。程序中断控制传送以CPU为中心,而通道则和DMA一样以内存为中心。4.1.4I/O通道通道传送与DMA传送的区别:DMA主要靠专用接口硬件实现数据传送;通道则靠执行通道程序实现数据传送。中断服务程序与CPU的现行程序是串行工作的,而通道程序的执行与CPU的现行程序是并行工作的。DMA一般用来控制高速外设成组传送,通道既可控制高速外设成组传送,也可控制低速外设进行字或字节交叉传送。4.1.5I/O设备按数据组织分类:块设备字符设备从资源分配角度分类:独占设备共享设备虚拟设备按传输速率分类:低速设备中速设备高速设备按其他方法分类:如按输入/输出对象进行,或者按是否可交互来进行。CPU直接控制外部设备引入I/O部件,CPU直接控制I/O部件引入中断驱动方式引入DMAI/O通道或I/O处理机输入输出控制方式的发展过程4.1.6I/O控制方式4.1.6I/O控制方式程序直接控制方式:需要CPU直接控制I/O操作的全过程,包括发送读写命令、传输数据、测试设备状态。处理机指令集应包括控制类、测试类、读写类I/O指令。I/O部件接收到相应的指令后,将I/O状态写在寄存器的相应位置上。随着操作的执行更改状态位,由CPU执行相应指令读取I/O完成状态。I/O数据通过CPU寄存器转发。如下图:针对程序直接方式的不足,提出了中断方式:CPU向I/O部件发出指令后,转去做其他有用的工作。当I/O部件准备好数据后,利用中断通知CPU,再由CPU完成数据传输。优点:CPU不必反复测试寄存器状态,节约了时间。缺点:中断控制方式仍然消耗大量的CPU时间,因为每个字的数据传输都必须经过CPU寄存器转发。4.1.6I/O控制方式4.1.6I/O控制方式程序直接控制方式与中断方式的缺陷:I/O的传输速率受CPU测试或中断响应的速度限制CPU为管理I/O耗费大量时间更有效的方式—DMA(直接内存存取):负责完成整个I/O操作,无需再经CPU寄存器转发,并在全部传输结束后向CPU发中断信号。CPU向DMA部件发送I/O指令后,即可进行其他工作。给DMA的指令中应包括:操作类别、I/O设备的地址、读写数据在内存中的首地址、字数。程序I/O中断I/ODMA通道控制方式通道:执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。一旦CPU发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接主要目的是启动外设时:a提高了控制器效率b提高可靠性c提高并行度4.1.6I/O控制方式交叉连接4.2I/O软件4.2.1设备的使用与管理4.2.2I/O软件层次结构4.2.3缓冲管理4.2.4设备驱动程序4.2.5中断处理程序4.2.1设备的使用与管理设备管理的目标提高设备的利率为用户提供方便、统一的界面设备管理的任务动态地掌握并记录设备的状态设备分配和释放缓冲区管理实现物理I/O设备的操作4.2.1设备的使用与管理设备相关系统调用:申请设备:该系统调用中有参数说明了要申请的设备名称,操作系统处理该系统调用时,会按照设备特性(是独占还是分时共享式使用)及设备的占用情况来分配设备,返回申请是否成功标志。将数据写入设备。从设备读取数据。释放设备。这是申请设备的逆操作。4.2.1设备的使用与管理设备管理中的数据结构在多通路的I/O系统中,为了满足一个I/O请求,不仅仅是分配一个I/O设备的问题,还应分配相应的控制器和通道,以确保CPU与I/O设备之间能进行通信,在存储器与I/O设备之间能进行数据的直接存取。设备管理程序对I/O设备进行分配和控制是借助于一些表格;表格中记录了对I/O设备控制所需之信息。它们是设备管理程序实现管理功能的数据结构。数据结构(续)控制所需之信息。它们是设备管理程序实现管理功能的数据结构。如下表:设备控制表(DCT)每个设备一个控制器表(COCT)每个控制器一个通道表(CHCT)每个通道一个系统设备表(SDT)整个系统一个整个系统一张表,记录系统中所有I/O设备的信息,表目包括:设备类型、设备标识符、进程标识符、DCT表指针等。1)系统设备表SDT数据结构(续)主要内容:设备类型、设备标识符、设备状态、与此设备相连的COCT、重复执行的次数或时间、等待队列的队首和队尾指针、I/O程序地址3)控制器控制表COCT4)通道控制表CHCTCOCT和CHCT与DCT类似2)设备控制表DCT数据结构(续)设备控制块通道控制块控制器控制块(DCB)(CHCB)(COCB)设备标示符通道标示符控制器标示符设备状态通道状态控制器状态与设备相连的控制器表与通道相连的控制器表与控制器相连的通道表等待此设备的进程表等待此通道的进程表等待控制器的进程表三种控制块4.2.1设备的使用与管理I/O设备的使用方式:独占式共享使用设备分时式共享使用设备以SPOOLing方式使用外设4.2.1设备的使用与管理独占式共享使用设备:是指在申请设备时,如果设备空闲,就将其独占,不再允许其他进程申请使用,一直等到该设备被释放,才允许被其他进程申请使用。独占式使用设备时,设备利用率很低。如果一个逻辑上完整的数据可以用设备的一次I/O操作完成,那么我们就不必要独占该设备。反过来说,如果一次I/O操作的数据逻辑上完整,我们就不必要对该设备进行独占方式的申请使用。在申请这种设备时,不必检查是否已被占用,只要简单累加设备使用者计数即可。4.2.1设备的使用与管理分时式共享使用设备:以一次I/O为单位分时使用设备,不同进程的I/O操作请求以排队方式分时地占用设备进行I/O。从用户程序系统调用界面来看,I/O操作是并发的。4.2.1设备的使用与管理以S

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

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

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

×
保存成功