您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 计算机操作系统 第七章
操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育第7章设备管理在计算机系统中,用来担负数据输入输出的部件称作外部设备(Peripheral),简称“外设”,它们是计算机与外部世界进行信息勾通的桥梁,外部设备包括打印机、卡片机、磁带机、磁盘机,以及有关的支持设备。外部设备是操作系统管理的重要资源。本章阐述计算机外部设备的管理方法。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育几种典型外部设备的数据传输性能如图所示。其中,纵坐标是数据传输率b/s,低速设备每秒只能传送一到两个字节;高速设备每秒能够传送几兆字节。)。7.1外部设备背景知识操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育1.独享设备(1)输入输出速度比较低,在使用的某个环节中需要人工进行干预。(2)在多进程并行运行的系统中,独享设备一般由一个作业独占,直到该作业使用完为止。(3)常见的独享设备有:打印机、绘图仪、终端机,以及早期计算机上使用的卡片输入/输出机、穿孔机和光电阅读机等。(4)从工作方式上说,大部分独享设备的输入输出操作都是按字符的方式进行传送的,因此这种设备又称作“字符设备”。2.共享设备(1)操作速度较快,允许多个作业以共享方式使用。(2)共享设备可以供多个进程共同进行存入和读出。每次操作时,它总是一次传输若干数据。因此,共享设备也被称作“块设备”。(3)磁盘是最常见的共享设备。——从利用率上看,共享设备比独享设备高得多。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育I/O控制方式计算机系统中的I/O控制方式是与硬件的配置紧密相关的,大体可分为以下4种方式:•程序查询方式•中断控制方式•DMA方式•通道方式。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育程序查询的流程图操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育引起中断的原因很多,大体分为以下5类(1)I/O设备中断(2)硬件故障中断(3)程序出错中断(4)人为设置中断(5)外部事件中断操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育中断周期中的处理步骤为:(1)处理机对中断进行测定,给提出中断的设备发一个中断确认(INTA)信号,以便使该设备清除它的中断请求信号。(2)保存被中断程序的断点——程序状态字(PSW)和程序计数器(PC)的值。这两项信息被压入系统栈中保护起来。(3)处理机将响应本次中断的处理程序入口地址装入程序计数器中。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育DMA控制器通过挪用总线周期的方式进行数据传输,工作流程是:(1)从磁盘读出一个字节数据,送入数据寄存器中暂存。(2)挪用一个系统总线周期(也就是内存周期),将该字节送到地址寄存器指示的内存单元中去。(3)地址寄存器自动加1,同时让计数器减1。(4)若计数器的值不为0,表示磁盘读操作尚未结束,则转(1),准备接收下一个数据。(5)若计数器的值为0,表示磁盘读操作结束。DMA控制器向处理机发出中断信号。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育DMA可能发生总线挪用的各个瞬间操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育通道——I/O处理机字符多路通道,专门连接低速独享设备。一个通道可同时连接多台,每台设备一次只传送一个字节的数据。该通道可采用分时循环控制方式进行数据传输。数组选择通道,用于连接高速共享设备。每次可传送一批数据,因此速度比较快。数组多路通道,是将上述两种技术结合而成的一种快速数据传输设备。一个通道可同时连接多台共享设备,每台共享设备一次能传送一批数据(即一个或多个数据块)。该通道可采用循环控制方式进行数据传输。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育(1)输入输出管理程序做的工作·组织一个由CCW指令组成的通道程序,放在内存的约定区域中,执行“启动通道”指令。(2)通道被启动后做的工作·访问通道程序,逐一执行CCW,按CCW含义向控制器发出操作命令,控制器操纵外设完成实际的输入输出操作。·对于数据输入操作,产生访问内存的地址及“写入”信号,连同设备读出的数据一起送内存储器。·对于数据输出操作,产生访问内存的地址,从内存读出数据后,将读出的数据送设备控制器。从设备控制器中取出设备的状态信息,送内存的指定区域;向CPU发中断信号后自行停止操作。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育(3)控制器接到通道的操作命令,完成的工作是:·对于数据输入操作,启动设备的机械部件读入数据,送给通道,经通道传送到内存中去。·对于数据输出操作,接收通道上传送来的数据,启动设备的机械部件将数据输出。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育设备独立性——又称为设备无关性,指的是应用程序所涉及的I/O设备与系统中具体使用的物理设备是互相无关的。设备分配的灵活性提高。当进程请求外部设备时,如果系统具有设备独立性,则系统会允许使用逻辑设备名进行请求。这种情况下,系统可以从当前空闲的物理设备中任选一台分给用户。相反,如果系统不具有设备性,那么,进程只能通过物理设备名来请求设备I/O,系统的分配余地很小。这样一来,可能会出现一部分设备被多个进程竞争,而另一部分无人问津的情况。易于实现I/O重定向。现代操作系统中,一般支持I/O重定向技术,也就是根据用户的需求,或系统的配置现状来更换输入输出设备。系统可以在不更改应用程序代码的前提下,只要让程序中I/O命令所涉及的逻辑设备名映射到另外的物理设备上就可以了。如果不采取设备独立性原则,要想实现I/O重定向的话,修改程序代码是不可避免的。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育设备管理层次结构操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育7.2逻辑I/O管理主要包括的功能有:l为用户分配设备,用户使用完设备后回收回来。为了实现这一目的,系统要设有一些表格,对设备数据进行登记和管理。随时查阅这些表格,掌握各台设备的运行情况。l当用户提出对某台设备的访问请求(比如read或write)时,它负责对用户的访问需求进行合法性检查。若此次访问不合法时,将拒绝访问。l随时接收下层的处理结果,整理后反馈给用户。处理结果中包含成功或失败信息。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育设备分配数据结构(1)操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育设备分配数据结构(2)操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育设备分配数据结构(3)操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育设备分配过程(1)根据用户提出的逻辑设备名称,从SDT中找到相应的逻辑设备,并获取该类型设备的可用数量N,据此进行安全检测(如第3章中介绍的银行家算法),如果检验不通过,则将进程阻塞。(2)从SDT中取出设备控制表指针,查找DCT,找到一台可用的外部设备。将设备分配给进程。其间系统需要在该进程的PCB中建立一个设备映射表LUT,将用户的逻辑设备名称和对应的物理设备标识对应起来。将来,进程需要访问自己的逻辑设备时,系统可以很快地查到对应的物理设备。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育为了使输入输出任务能够顺利进行,还要有一个空闲的控制器和通道。系统要参照控制器表CCT和通道表CHT,分配一条数据传输路径操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育7.3设备I/O•I/O任务•输入输出任务块IOB(InputOutputBlock)•IOB是一种动态数据结构,每个IOB用于描述一项输入输出任务•当系统收到一个输入输出时就构造一个IOB,并按IOB的信息进行传输控制。当数据传送完毕,IOB将被删除。•IOB的内容如图操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育缓冲管理外部设备和主机在处理速度上存在着巨大差异,引入缓冲技术的初衷是缓解这种差异带来的负面影响。引入缓冲技术后的系统,呈现以下特点:l减少设备驱动次数。l可以缓解I/O操作对缺页置换策略的干扰。l缓解CPU与外部设备速度不匹配的矛盾,使数据处理的速度提高。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育UNIX操作系统采用的缓冲池缓冲池是系统提供的一种共享结构,不归某个进程所有。任何程序都可以申请缓冲池中的一个存储块,用来存放自己的缓冲数据。缓冲池主要由3个队列组成:·空闲缓冲队列emq。该队列上挂有全部可用的空闲缓冲区。·输入队列inq。该队列上挂有装满输入数据的缓冲区。·输出队列outq。该队列上挂有装满输出数据的缓冲区。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育图中的缓冲池中有16个存储块,编号为0…15。系统的当前状态为:14号块是hin块,5号块是sin块,12号块是hin块,1号块是Sout块。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育用于提高设备的I/O速度的措施有:·(1)研制更高性能的外部设备,加快其读写速度。·(2)设置高速大容量的设备缓冲区。·(3)采用好的I/O调度算法。7.4I/O调度与驱动操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育硬磁盘驱动器操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育磁盘访问时间T是下述3部分的总和,即:T=s+m×n+1/2r+b/rN(1)寻道时间Ts=s+m×n其中,s是磁盘启动时间;m是磁头平均跨越一道的时间;n是跨越的道数。(2)平均旋转延迟时间Tr=1/2r其中,r是磁盘转速。(3)传输时间Tt=b/rN其中,b:要传输的字节数。N:一个磁道中能容纳的字节数。r:盘片旋转速度,单位是转/秒。操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育磁盘调度算法磁盘调度程序的目标是制定一种访问策略,使磁头臂移动较少的距离就可访问到所要的各柱面上的数据。常见的磁盘调度算法有四种:(1)先来先服务FCFS(2)最短寻道优先SSTF(3)扫描算法SCAN(4)循环扫描算法CSCAN操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育例如:对于请求序列:18,39,41,137,25,9,170,66,184,35,125,51FCFS和SSTF算法的访问曲线操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育例如:对于请求序列:18,39,41,137,25,9,170,66,184,35,125,51SCAN和CSCAN算法的访问曲线操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育7.3设备I/O通道程序——是通道运行的程序,通常被置于内存的约定地址中。作为实施数据传送控制的依据,通道程序的编制主要依赖于SDT、DCT和IOB中的信息。右图所示:一个通道程序的例子操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育通道控制下的I/O操作示意图操作系统操作系统操作系统操作系统操作系统二十一世纪计算机本科教育中断处理程序的处理过程当设备输入输出操作完成后,设备控制器将产生中断信号送CPU。如果系统配有通道的话,通道在产生中断信号之前需要将I/O的结果送到内存的约定区域,然后再产生中断。CPU接到中断信号,经过对中断源的分析,转去运行相应中断处理程序。(1)关中断。(2)保护进程上下文。注意,被中断的程序,除了PSW和PC中的信息已被硬件机制压栈,其余寄存器中尙有一部分残留数据。而中断处理程序运
本文标题:计算机操作系统 第七章
链接地址:https://www.777doc.com/doc-3377291 .html