第5章设备管理_第1页
第5章设备管理_第2页
第5章设备管理_第3页
第5章设备管理_第4页
第5章设备管理_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章设备管理5.1设备管理概述5.2输入/输出(I/O)控制方式

5.3中断和缓冲技术

5.4设备分配

5.5

I/O设备驱动程序

5.6磁盘的驱动调度

本章目标理解与掌握设备管理的任务与功能知识。理解与掌握设备管理的控制方式。理解与掌握设备的分配知识。理解与掌握磁盘驱动调度知识。5.1设备管理概述5.1.1I/O系统结构5.1.2设备管理的主要功能5.1.3设备分类5.1.4设备控制器和I/O通道

5.1.1I/O系统结构1.I/O系统结构

I/O系统一般由I/O设备及其接口线路、控制部件、通道和I/O软件组成。大多数I/O系统都采用基于总线的结构。总线是计算机各部件之间进行数据传送的公共的通路,在其上传送数据都遵循严格定义的协议。各部件只与总线相连接,它们之间的数据发送也是通过总线来实现。

图(a)单总线结构是把所有快速设备(CPU、内存等)和慢速设备(打印机、扫描仪等)都连接在一条总线上,快慢速设备只能采用异步应答方式实现数据传送;而图(b)采用系统总线和I/O两条总线,系统总线实现CPU与内存之间的快速数据传送,I/O设备通过I/O总线、总线控制器(如通道)与CPU、内存之间实现数据传送。(c)三总线结构2.I/O软件结构I/O系统功能的实现要通过I/O软件和I/O硬件的配合才能完成。

5.1.2设备管理的主要功能(1)动态地掌握并记录系统中所有设备的状态。系统中的设备很多,这些设备在系统运行期间的状态也各不相同。系统必须能在任何时间快速地掌握并记录设备的运行情况。(2)设备分配。按照设备的类型和系统中所采用的分配算法,决定把某个I/O设备分配给要求使用该设备的进程。(3)设备控制。设备控制是设备管理的另一功能,它包括设备驱动和设备中断处理,具体的工作过程在设备处理的程序中发出驱动某设备工作的I/O指令后,再执行相应的中断处理。(4)完成实际的I/O操作。当系统把设备分配给某一个进程后,设备管理程序首先应该根据用户提出的I/O请求构成相应的I/O程序,提供给通道去执行。然后,启动的设备进行I/O操作。最后,对通道发来的中断请求做出及时的响应和处理。5.1.3设备分类从不同的角度出发,I/O设备可分为成不同的类型。下面列举几种常见的分类方法。1.按设备的从属关系分类:(1)系统设备(2)用户设备2.按操作特性分类(1)存储设备(2)I/O设备3.按设备的共享分类(1)共享设备(2)独占设备(3)虚拟设备4.按信息交换单位分类(1)字符设备(2)块设备5.1.4设备控制器和I/O通道1.设备控制器设备控制器处于CPU与I/O设备之间,它接收从CPU发来的命令,并去控制I/O设备工作,使处理器从繁杂的设备控制事务中解放出来。设备控制器是一个可编址设备,当仅控制一个设备时,它只有一个设备地址;当控制器可连接多个设备时,则应具有多个设备地址,使每个地址对应一个设备。设备器应能接收和识别来自CPU的各种命令,实现CPU与控制器、控制器与设备之间的数据交换,记录设备的状态供CPU查询,还应能识别它所控制的每个设备的地址。为此,控制器中应设置控制寄存器存放接收的命令及参数,设置数据寄存器存放传输的数据,设置状态寄存器记录设备状态。2.I/O通道在一般计算机系统中,通道指专门用于负责输入/输出工作的处理机。它有自己的指令系统,该指令系统比较简单,一般只有数据传送指令,设备控制指令等。通道所执行的程序称为通道程序。通道含有通道地址字(CAW)、通道状态字(CSW)和通道命令字(CCW),这里就不再叙述了。5.2输入/输出(I/O)控制方式5.2.1程序控制方式

5.2.2中断控制方式

5.2.3DMA(直接存储器存取)方式

5.2.4通道控制方式

5.2.1程序控制方式在早期的计算机系统中,由于无中断机构,处理机对I/O设备的控制采用程序控制方式,即由用户进程直接控制内存或CPU和外围设备之间进行信息传送的方式。当用户进程需要输入数据时,上处理机向设备控制器发出一条I/O指令启动设备进行输入,在设备输入数据期间,处理机通过循环执行测试指令不间断地检测设备状态寄存器的值,当状态寄存器的值显示设备输入完成时,处理机将数据寄存器中的数据取出,送入内存指定的单元,然后再启动设备去读下一个数据。反之,当用户进程需要向设备输出数据时,也必须同样发启动命令启动设备输出并等待输出操作完成。程序控制方式的工作过程非常简单,但CPU的利用率相当低,因为CPU执行指令的速度高出I/O设备几个数量级,所以在循环测试中浪费了大量的CPU处理时间。5.2.2中断控制方式在现代计算机系统中,对I/O设备的控制广泛采用了中断控制方式。这种方式要求CPU与设备之间有相应的中断请求线,且要求在状态寄存器中有中断允许位。在I/O中断方式中,数据的输入步骤(见教材)与程序控制方式相比,中断方式使CPU利用率大大提高了但这种控制方式仍然存在许多问题,如每台每输入/输出一个数据都要求中断CPU,这样在一次数据传送过程,中断发生次数较多,从而耗去大量CPU处理时间。5.2.3DMA(直接存储器存取)方式DMA方式是在外部设备和内存之间建立了直接数据通路。在DMA控制器控制下,设备和内存之间可成批地进行数据交换,而不用CPU干预。这样既大减轻了CPU的负担,也使I/O数据传送速度大大提高。这种方式应用于块设备的数据传输。DMA方式下进行数据输入的过程(见教材)DMA方式与中断方式的主要区别是:中断方式在每个数据传送完成后中断CPU,而DMA方式则是在所要求传送的一批数据全部传送结束时中断CPU,中断方式的数据传送是在中断处理时由CPU控制完成,而DMA方式则是在DMA控制器的控制下完成。不过,DMA方式仍存在一定局限性。如数据传送的方向。存放数据的内存始址及传送数据长度等都由CPU控制,并且每台设备需要一个DMA控制器,当设备增加时,多个DMA控制器的使用也不经济。5.2.4通道控制方式通道控制方式与DMA类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。与DMA方式相比,通道所需的CPU干预更少,且可以做到一个通道控制多台设备,从而更进一步减轻了CPU的负担。在通道控制方式中,CPU只需发出启动指令,指出通道相应的操作和I/O设备,该指令就可启动通道并使该通道从内存中调出相应的通道指令执行。通道控制方式的数据输入过程(见教材)5.3中断和缓冲技术5.3.1中断技术

5.3.2缓冲技术

5.3.1中断技术1.中断的基本概念

中断:计算机在执行期间,系统内发生某一急需处理的事件,使得CPU暂时中止当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回到原来被中断处继续执行。

中断源:引起中断发生的事件。

中断请求:中断源向CPU发出请求中断处理的信号。

中断响应:CPU收到中断请求后转相应事件处理程序的过程

断点:发生中断时,刚执行完的那条指令所在的单元号。

恢复点:断点的逻辑后继指令的单元号。

关中断:CPU内部的处理机状态字PSW(程序状态字)的中断允许位被清除,从而不允许CPU响应中断,称为禁止中断也叫关中断。

在图5.4中,CPU执行主程序,到达断点A被中断,去执行中断服务程序1;在执行中断服务程序1过程中,到达断占B,又被中断,去执行中断服务程序2,执行中断服务程序2后,返回断点B继续执行中断服务程序1,之后,返回断点A,继续执行主程序。

开中断:PSW的中断允许位的设置。中断向量:存放的处理机状态字与中断处理程序入口地址一起构成。

中断屏蔽:是指系统用软件方式有选择地封锁部分中断而允许其余部分中断仍能得到响应。

2.中断的分类和优先级根据中断源产生的条件,可将中断分为:外中断:是指来自处理机和内存外部的中断;内中断:主要指在处理机和内存内部产生的中断。根据系统对中断处理的需要,操作系统一般对中断进行分类并对不同的中断赋予不同的处理优先级。

3.中断处理过程一旦CPU响应中断,系统就开始进行中断处理,过程如下:(1)CPU检查响应中断的条件是否满足。(2)如果CPU响应中断,则CPU关中断,使其进入不可再次响应中断的状态。(3)保存被中断进程现场。(4)分析中断原因,调用中断处理子程序。(5)执行中断处理子程序。(6)退出中断,恢复被中断进程的现场或调度新进程占据处理机。(7)开中断,CPU继续执行。5.3.2缓冲技术

提高处理机与外设并行程度的另一项技术是缓冲技术。事实上,凡是数据接收速度和数据发送速度不同的地方都可以使用缓冲。缓冲实现方法有两种:一种是采用硬件缓冲器实现,但由于成本太高,除一些关键部位外,一般情况下不采用硬件缓冲器;另一种实现方法是在内存划出一块存储区,专门用来临时存放输入/输出数据,这个区域称为缓冲区。根据系统设置的缓冲区个数,可将缓冲技术分为:(1)单缓冲(2)双缓冲(3)环形缓冲(4)缓冲池

(1)单缓冲单缓冲是在设备和处理机之间设置一个缓冲。设备和处理机交换数据时,先把被交换数据写入缓冲区。然后,需要数据的设备或处理机从缓冲区取走数据。由于只设置了一个缓冲区。因而设备与处理机对缓冲区操作是串行的。(2)双缓冲引入双缓冲,可以提高处理机与设备的并行操作程度。例如,在设备输入时,输入设备先将第一个缓冲区装满数据,在输入设备装填第二个缓冲区的同时,处理机可从第一个缓冲区中取出数据供用户进程进行处理;当第一个缓冲区中的数据处理完毕后,若第二个缓冲区已填满,则处理机又从第二个缓冲区中取出数据进行处理,而输入设备又可装填第一个缓冲区。显然,双缓冲区的使用提高了处理机和输入设备并行操作的程度。只有当两个缓冲区都出空,进程还要提取数据时,该进程被迫等待。(3)环形缓冲环形缓冲中包含多个大小相等的缓冲区,每个缓冲区中有一个链接指针指向下一个缓冲区,最后一个缓冲区指针指向第一个缓冲区,这样多个缓冲区构成一个环形。环形缓冲区用于输入输出时,还需要有两个指针,in和out。对于输入而言,首先要从设备接收数据到缓冲区中,in指针指向可以输入数据的第一个空缓冲区;当运行进程需要数据时,从环形缓冲中取一个装满数据的缓冲区,并从些缓冲区中提取数据,out指针指向可以提取数据的缓冲区。显然,对输出而言正好相反,进程将处理过的需要输出的数据送到空缓冲区中,而当设备空闲时,从满缓冲区中取出数据由设备输出。(4)缓冲池缓冲池也由多个大小相等的缓冲区组成,与环形缓冲不同的是缓冲池中的缓冲区是各级组织系统公用资源,池中的缓冲区可供多个进程共享,且既能用于输入,又能用于输出。池中的缓冲区按其使用状况可以形成三个队列:空缓冲队列、装满输入数据的缓冲队列(输入队列)和装满输出数据的缓冲队列(输出队列)。除上三个队列之外,还应具有四种工作缓冲区:用于收容输入数据的工作缓冲区、用于提取输入数据的工作缓冲区、用于收容输出数据的工作缓冲区及用于提取输出数据的工作缓冲区。当输入进程需要输入数据时,便从空缓冲队列的队首摘下一空缓冲区,把它作为收容输入工作缓冲区,然后把数据输入其中,装满后再将它挂到输入队列队尾。当计算进程需要输入数据时,便从输入队列取得一个缓冲区作为提取输入工作缓冲区,计算进程从中提取数据,数据用完后再将它挂到输出队列尾。当要输出时,由输出进程从输出队列中取得一装满输出数据的缓冲区,作为提取输出工作缓冲区,当数据提取完后,再将它挂到空缓冲队列的队尾。5.4设备分配5.4.1设备分配中的数据结构

5.4.2设备分配的策略

5.4.3设备分配步骤

5.4.3SPOOLING(斯普林)技术

5.4.1设备分配中的数据结构

为了实现对I/O设备的管理和控制,需要对每台设备、通道、控制器的情况进行登记。SDTCOCT设备标识符设备类型DCT指针获得设备的进程…DCT设备类型设备标识符设备状态:忙/闲COCT指针设备等待队列指针…控制器状态:忙/闲控制器标识符CHCT指针控制器等待队列指针…CHCT通道状态:忙/闲通道标识符通道等待队列指针……表目1表目i…设备管理中的数据结构系统为每一个设备配置一张设备控制表,用于记录设备的特性及与I/O控制连接的情况。设备控制表中包括设备标识符、设备类型、设备等待队列指针、I/O控制器指针等。其中,设备状态用来指示设备是忙还是闲,设备等待队列指针指向等待使用该设备的进程组成的等待队列,I/O控制器指针指向与该设备相连接的I/O控制器。控制器控制表用于记录本控制器的情况,它反映I/O控制器的使用状态以及和通道的连接情况等。每个通道都配有一张通道控制表。通道控制表包括通道标识符、通道状态、等待获得该通道的进程等待队列指针等。系统设备表整个系统一张,它记录已被连接到系统中的所有物理设备的情况,每个物理设备占一个表目。系统设备表的每个表目包括设备类型、设备标识符、设备控制表指针等。其中,设备控制表指针指向该设备对应的设备控制表。5.4.2设备分配的策略

在一个系统中,请求设备为其服务的进程往往多于设备数,这样就出现了多个进程对某类设备的竞争问题。为了保证系统有条不紊的工作,系统在进行设备分配时,应考虑如下的几个因素:

1.设备分类(见5.1.4)

2.设备分配算法:先请求服务;优先级高者优先。

3.设备分配的安全性:在设备分配中应防止发生进程的死锁。

4.设备独立性:用户在编制程序时所使用的设备与实际使用的设备无关。

5.4.3设备分配步骤1.分配设备根据进程提出的物理设备名查找系统设备表,从中找到该设备的设备控制表。查看设备控制表中的设备状态字段。若该设备处于忙状态,则将进程插入设备等待队列;若设备空闲,便按照一定的算法来计算本次设备分配的安全性。若分配不会引起死锁则进行分配;否则,仍将该进程插入设备等待队列。2.分配控制器在系统把设备分配给请求I/O的进程后,再到设备控制表中找到与该设备相连的控制器的控制表,从该表的状态字段中可知该控制器是否忙碌。若控制器忙,则将进程插入等待该控制器的队列;否则将该控制器分配给进程。3.分配通道从控制器控制表中找到与该控制器连接的通道控制表,从该表的状态字段中可知该通道是否忙碌。若通道处于忙状态,则将进程插入等待该通道的队列,否则将该通道分配给进程。

5.5SPOOLING(斯普林)技术5.5.1为何引入虚拟设备1.虚拟设备的概念2.为什么木提供虚拟设备

5.5.2SPOOLING(斯普林)技术SPOOLING技术,这个名字来自SimultaneousPeripheralOperationOnLine的首字母缩写,被称为外围设备同时联机操作技术或假脱机技术。

输入设备输出设备输入进程SPi输入进程SPo输入缓冲区输出缓冲区输入井输出井SPOOLING技术示意图SPOOLING技术主要包括如下三方面。(1)输入井和输出井这是在磁盘上建立的两个存储区域。输入井模拟脱机输入时的磁盘,用于收容I/O设备输入的数据。输出井模拟脱离机输出时的磁盘,用于收容用户程序的输出数据。(2)输入缓冲区和输出缓冲区这是在内存中建立的两个缓冲区。输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井,输出缓冲区用于暂存从输出井送来的数据,以后再传送到输出设备。(3)输入进程和输出进程输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入机,通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读入内存。输出进程模拟脱机输出时的外围控制机,把用户要求输出的数据,先从内存送到输出井,待输出设备空闲时,再将输出井中的数据,经过输出缓冲区送到输出设备上。5.6磁盘的驱动调度5.6.1访问磁盘的时间

5.6.2移臂调度

5.6.3旋转调度

5.6.1访问磁盘的时间

对磁盘的任何一次访问请求,应给出访问磁盘的存储空间地址:柱面号、磁头号和扇区号。磁盘在工作时,首先要移动到目标磁道上,然后使需要的扇区旋转到磁头下,最后读取该扇区中的数据。这些工作都在磁盘控制器的控制下完成的。磁盘执行一次输入/输出操作所需花费的时间,由以下三个部分组成:(1)寻找时间:磁头在移动臂带动下,移动到指定柱面所需的时间。(2)延迟时间:指定扇区旋转到磁

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论