您好,欢迎访问三七文档
第七章设备管理(一)设备管理是操作系统最基本、最繁杂的组成部分。且与硬件的关系最密切。外设按功能分为两类{存储设备存取控制部分(控制电路伺服系统、读写控制电路、磁头、光头等)信息载体(磁盘、磁带、光盘等)I/O设备存储设备I/O设备输入设备—模拟信号数字信号(A/D转换)输出设备—数字信号模拟信号(D/A转换)设备管理(二)设备管理的基本任务是:(1)控制I/O操作,进行设备分配,提高CPU与设备之间的并行工作程度。协调和保证设备的高效工作。(2)向用户提供一个使用设备的方便接口。完成用户的I/O请求。I/O系统的组成I/O控制方式I/O数据传输与缓冲技术虚拟设备与Spooling技术主要讨论以下问题§7.1I/O系统的组成(一)1。微机I/O系统CPU通过总线与设备控制器相连接,设备控制器是CPU与设备之间的接口。2。主机I/O系统使用I/O通道(I/O处理机),实现对设备控制器的控制。I/O系统应该由以下部分组成:I/O设备设备控制器总线或通道一、I/O系统的结构§7.1I/O系统的组成(二)2。按传消息交换的单位分类块设备信息存取以数据块为单位,属于有结构设备。字符设备信息存取以字符为单位,属于无结构设备。3。按设备的共享属性分类独占设备在一段时间只允许一个进程访问的设备。共享设备在一段时间允许多个进程同时访问的设备。虚拟设备使用虚拟技术,将一台独占设备变为逻辑上的多台设备。二、I/O设备及分类1。按传输速率分类低速设备中速设备高速设备§7.1I/O系统的组成(三)1。设备控制器的功能接收和识别CPU发出的命令,因此,设备控制器中设有多个寄存器,用来存放命令和参数,同时,还设有命令译码器。实现数据交换,即CPU与控制器之间,控制器与设备之间的数据交换。记录设备的状态,以便CPU启动控制器。为此,在控制器中设置一个状态寄存器。识别设备地址。使CPU能够从设备控制器的寄存器中读写数据。三、设备控制器设备控制器是CPU与设备之间的接口,接收CPU的命令,控制设备工作。§7.1I/O系统的组成(五)通道(Channel)—也称I/O处理机。是为了减轻CPU的工作负载,在CPU与设备控制器之间而设置的一种专门用于I/O的简单处理机。通道指令系统—也称通道控制字(CCW),是通道能够独立执行的I/O指令。按照信息交换方式分类:字节多路通道—用于低、中速设备含多个非分配型的子通道,子通道按时间片轮转共享主通道。按字节传送。传输速度慢(。数组选择通道—连接中、高速设备含一个分配型的子通道,一段时间内只能执行、控制一台设备工作。通道利用率低,传输速度快。数组多路通道—连接中、高速设备综合前两类的优点。四、I/O通道1、为什么引入通道2、通道的类型§7.1I/O系统的组成(六)中央处理机内存字节多路通道成组多路通道选择通道卡片输入机卡片输入机打印机磁盘磁带通道结构§7.1I/O系统的组成(七)解决“瓶颈问题”的多通路系统3、“瓶颈问题”由于通道及设备控制器的数量有限,可能造成I/O的瓶颈。§7.2I/O控制方式(一)(1)中断控制方式(2)DMA控制方式(3)通道控制方式设备管理的主要任务之一是控制设备与内存或CPU之间的数据传送,选择控制方式的原则是:保证在足够的传输速度下数据的正确传送。系统开销小。充分发挥硬件资源的能力。本节讨论CPU通过设备控制器来控制数据I/O的方式。常用的I/O控制方式§7.2I/O控制方式(二)一、中断控制方式中断—当主机接到外部信号时(如I/O完成信号)即停止原来的工作,转去处理这一事件,处理完后,主机又回到原来的断点继续工作。中断处理过程:(向CPU)中断源中断请求中断响应转中断处理程序退出中断保护CPU现场识别中断源恢复CPU现场§7.2I/O控制方式(四)由于大多数的小型、微型计算机采用总线结构,DMA方式是“窃取”或“挪用”CPU总线的控制权,即要求CPU暂停若干总线周期,由DMA控制器占有存储器周期进行设备与内存之间的数据交换。直接存储器访问DMA(DirectMemoryAccess)方式的引入是为解决中断控制方式对块设备低效的问题。减少中断次数。二、DMA控制方式1、DMA方式的基本思想(1)以数据块为单位进行数据传送。(2)设备与内存之间直接交换数据。§7.2I/O控制方式(八)CCW的信息:操作码内存地址传送数据字节数通道程序结束位P(P=1结束)记录结束标志R{通道(Channel)是比DMA方式更加完善,功能更强的I/O控制方式。DMA与通道方式的异同:相同:以内存为中心,实现设备与内存之间直接交换数据的控制方式。不同:通道是专门控制I/O的处理机。其指令称为通道控制字(CCW),由CCW编制的通道程序,独立执行I/O任务。三、通道控制方式1、I/O处理机0指令处理同一记录1处理记录结束§7.2I/O控制方式(九)DMA方式与通道控制方式的数据传送过程有何相同和不同之处?画出DMA及通道控制方式的控制流程图(分别画出输入、输出两种情况)。2、通道的控制过程:•CPU启动通道通道程序的始址存放在称为通道地址字(CAW)的内存单元中,由CPU启动通道程序后,CPU可去执行其他任务。•执行通道指令CCW,向设备控制器发出I/O操作命令。•设备根据CCW将数据传送到内存指定单元。•数据传送结束,I/O控制器向CPU发出中断请求命令。思考题§7.3缓冲管理(一)1、单缓冲区(singlebuffer)在设备和主机之间设置一个缓冲区。只能缓解速度匹配的问题。不能实现设备之间的并行操作。1、缓解CPU与外设速度不匹配的问题。2、减少CPU中断响应次数,放宽响应时间。3、提高CPU与I/O设备,I/O设备之间的并行操作能力。缓冲技术的基本思想:在内存中开辟一个或多个专用区域(缓冲区),作为CPU与I/O设备间信息的集散地。一、为什么引入缓冲技术二、缓冲区的组织缓冲区用户进程传送操作系统输入I/O设备§7.3缓冲管理(二)一般是建立两个大小相等的缓冲区,设备交替对两个缓冲区输入数据,操作系统也交替地从两个缓冲区移出数据送用户进程区。二、双缓冲区(doublebuffer)缓冲区1用户进程传送操作系统输入I/O设备缓冲区2发送缓冲区接收缓冲区接收缓冲区发送缓冲区A机B机双机通信的缓冲区设置§7.3缓冲管理(三)三、循环缓冲(circularbuffer)循环缓冲即是多个大小相同的缓冲区构成循环队列,有三种缓冲区:空缓冲区(R),满缓冲区(G),正使用的缓冲区(C)。例如:生产者—消费者问题生产者进程Pi(P1,P2,…Pk);消费者进程Ci(C1,C2,…Cm)。in指向下一空缓冲区的指针。Out指向下一满缓冲区的指针。current指向当前工作缓冲区的指针。inoutCiPicurrentRGC§7.3缓冲管理(三)1、缓冲池的结构缓冲池由多个缓冲区构成。每个缓冲区又分为缓冲区首部和缓冲体。四、缓冲池(bufferpool)设备号缓冲区号缓冲区地址缓冲区状态(忙/闲)数据块号互斥标识位设备缓冲队列指针缓冲区首部将缓冲区连接成三种队列:空缓冲区队列(emq)满输入缓冲区队列(inq)满输出缓冲区队列(outq)有四类工作缓冲区:sin提取输入的工作缓冲区hin收容输入数据的缓冲区sout提取输出的工作缓冲区hout收容输出数据的缓冲区§7.4设备分配(一)2、控制器控制表COCT(ControlerControlTable)记录I/O控制器使用情况及与通道连接情况。(DMA无)设备分配是设备管理的重要问题。讨论设备分配的数据结构,分配原则及分配算法。一、设备分配的数据结构1、设备控制表DCT(DeviceControlTable)反映设备特性,设备与I/O控制器连接情况。§7.4设备分配(二)4、系统设备表SDT(SystemDeviceTable)整个系统一张,记录已连接到系统中的设备情况,每个设备在SDT中占一表项。3、通道控制表CHCT(ChannelControlTable)描述通道的使用情况。针§7.4设备分配(四)设备分配的方式:静态分配—一次分配所有需要的设备。不符合分配原则。动态分配—进程执行过程中,按需分配。设备分配总原则:充分发挥设备利用率,避免由于不合理分配引起进程死锁。具体考虑以下方面:1、设备的固有属性(独占、共享、虚拟)。2、设备分配算法(先来先服务、优先级)。3、设备分配的安全性(安全或不安全分配方式,指是否保持“请求与保持”条件)。4、设备独立性。二、设备分配的原则及方式§7.4设备分配(五)为了实现设备独立性,进程使用逻辑设备名。即系统为每个进程建立一张逻辑设备表LUT(LogicalUnittable)。在VMS中,还建立了一张系统逻辑设备表。有利于改善资源的利用率。提供了设备分配的灵活性。为用户程序提供了与设备无关的接口,为I/O重定位提供方便,因此,提高了用户程序的可适应性。设备独立性LUT包括:逻辑设备名、物理设备名、驱动程序地址。通过LUT实现用户程序中逻辑设备名到物理设备名的映射。1、逻辑设备表设备独立性(deviceindependence)是I/O软件的一个关键性概念,是指用户程序独立于使用的物理设备。2、使用逻辑设备名的优点§7.4设备分配(六)三、设备分配流程进程P发出I/O请求搜索SDT找到DCT指针查DCT设备忙?进程P按分配算法入I/O队列YN按分配算法选择进程进程P选中?进程P等待设备空闲NY检查设备分配的安全性安全吗?NY设备分配给进程P11搜索DCT找到COCT指针控制器忙?Y进程P等待控制器N分配控制器给进程P搜索COCT找到CHCT指针CHCT忙Y进程P等待通道N分配通道给进程P启动I/O§7.4设备分配(七)多道程序系统中,进程对设备的需求频繁,尤其是独占设备数量有限、效率低,故引入虚拟设备管理技术。基本思想:用大容量的快速设备(磁盘)模拟慢速度的独占设备,把一台物理上的独占设备变为逻辑上的多台共享设备。SPOOLing是一种典型的虚拟设备技术,SPOOLing是SimultaneousPeripheralOperationsOnLine(外围设备同时联机操作)的缩写,是用程序模拟脱机I/O的功能,故又称为假脱机技术。四、虚拟设备与SPOOLing技术2、SPOOLing技术1、虚拟设备管理§7.5设备处理(一)I/O请求的处理过程,由输入/输出控制系统IOCS完成,其中最主要的部分是设备驱动程序。它是I/O请求进程与设备控制器之间的通信程序。1、用户进程向IOCS发出I/O请求。2、IOCS查逻辑设备表(LUT),将逻辑请求转换为物理请求。3、IOCS调用驱动程序的“启动过程”启动I/O设备。4、IOCS将有关信息放入中断表中。5、将用户进程挂起,放入I/O等待队列。6、执行驱动程序的“继续过程”(中断处理、传送I/O数据)。7、完成I/O操作,重新启动用户进程。一、I/O请求处理过程§7.5设备处理(二)二。I/O设备驱动程序设备驱动程序是IOCS的主体,一般为每类(个)设备设置一个驱动程序。驱动程序{启动过程—启动一个I/O操作。继续过程—处理中断和完成数据传送。驱动程序执行步骤:1、服务请求校验确定请求的操作,检验硬件支持。2、确认设备状态确定设备(状态寄存器)是否可用。3、启动I/O请求若确认设备状态可用,启动I/O。4、中断处理CPU处理I/O过程的中断。驱动程序应保存处理器的当前状态,以便进程重新执行。5、I/O请求完成驱动程序识别I/O完成,将控制返回IOCS,将被中断的进程置为就绪。§7.6磁盘存储器管理(一)一、磁盘的工作过程•大容量磁盘(固定头磁盘)-磁盘的每条磁道上都有一个读/写磁头,并行读/写。•中小型磁盘设备(活动头磁盘)-每个盘面配置一个磁头,串行读/写。-为了读/写某磁道、某扇区的数据,首先让磁头移动,寻找指定磁道,再旋转磁盘将相应扇区定位到磁头下面。磁盘驱动器发出寻道命令后便释放相关的通道控制器,以便系统用它来处理其它I/O操作。
本文标题:7设备管理
链接地址:https://www.777doc.com/doc-1305978 .html