(8)--第8章 设备管理操作系统原理.ppt
《(8)--第8章 设备管理操作系统原理.ppt》由会员分享,可在线阅读,更多相关《(8)--第8章 设备管理操作系统原理.ppt(121页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章目录8.1I/O系统的组成8.2I/O控制方式8.3缓冲技术8.4设备分配8.5I/O软件8.6磁盘调度和管理8.1 I/O系统的组成8.1.1I/O系统中各种模块之间的层次结构8.1.2I/O设备和设备控制器设备管理设备管理是对计算机I/O设备的管理,是操作系统的主要功能之一。计算机系统中存在着大量的I/O设备,其性能和应用特点可能完全不同,所以要建立一个通用的、一致的设备访问接口,使用户和应用程序开发人员能够方便地使用I/O设备,而无须关心每种设备各自的特性。设备管理设备管理是对计算机I/O设备的管理,是操作系统的主要功能之一。计算机系统中存在着大量的I/O设备,其性能和应用特点可能完
2、全不同,所以要建立一个通用的、一致的设备访问接口,使用户和应用程序开发人员能够方便地使用I/O设备,而无须关心每种设备各自的特性。8.1 I/O系统的组成8.1.1 I/O系统中各种模块之间的层次结构为了进一步描述I/O系统中主要模块之间的关系,我们在图8-1中给出了I/O系统中各模块之间的层次结构视图。应 用 程 序文件系统虚拟内存管理CD-ROM驱动程序硬盘驱动程序块设备管理块设备接口打开/关闭读/写CD-ROM中断处理程序硬盘中断处理程序CD-ROM控制器硬盘控制器光盘驱动器硬盘驱动器键盘驱动程序打印机驱动程序流设备管理流设备接口打开/关闭取/放键盘中断处理程序打印机中断处理程序键盘控制
3、器打印机控制器键盘打印机网络驱动程序网络通信软件网络接口打开/关闭发送/接收网络中断处理程序网络控制器网络用户层软件I/O系统接口设备独立性软件设备驱动程序中断处理程序设备控制器RW/HW接口图8-1I/O系统中各种模块之间的层次结构 I/O系统接口I/O系统接口是I/O系统与高层之间的接口。根据设备类型不同,可以分为若干种接口。如在图8-1中的块设备接口、流设备接口和网络接口。(1)块设备接口。块设备接口是块设备管理软件与上层的接口。数据传输以数据块为单位进行的设备称为块设备,最常见的是磁盘。磁盘的地址需要用磁道号和扇区号表示,当上层发来读命令的时候,该接口会将抽象的命令转换为磁盘的盘面、磁
4、道和扇区。块设备的基本特征是传输速率较高、可寻址。(2)流设备接口。流设备接口又称字符设备接口,是流设备管理程序与高层之间的接口。传输数据以字节为单位的设备称为字符设备,也称流设备。常见的是键盘,打印机。字符设备的基本特征是传输速率较低、不可寻址。(3)网络通信接口。操作系统提供了网络通信接口,把计算机连接到网络上,以实现网络环境下的通信、网络资源管理、网络应用等特定功能。8.1.2 I/O设备和设备控制器1.I/O设备的类型 从不同的角度可以对设备进行不同的分类。1.I/O设备的类型(1)按传输速率:低速设备、中速设备、高速设备。1.I/O设备的类型(2)按设备的使用特性:存储设备、I/O设
5、备。1.I/O设备的类型(3)按信息交换的单位:块设备、字符设备。1.I/O设备的类型(4)按设备的共享属性:独占设备、共享设备、虚拟设备。2.设备控制器通常,CPU不是直接与设备通信,而是与设备控制器通信。设备控制器是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并去控制I/O设备工作。它是一个可编址设备,当仅控制一个设备时,只有一个唯一的设备地址,若控制器连接了多个设备时,就应该具有多个设备地址。(1)设备控制器的功能接收和识别来自CPU的各种指令。数据传输。(1)设备控制器的功能记录设备的状态。设备状态影响对设备的访问,所以,在控制器中应该设置一个状态寄存器,保存设备的当前状态
6、,CPU可以通过访问该寄存器来了解设备的状态。(1)设备控制器的功能识别设备地址和寄存器地址。一个设备控制器可以连接控制多台同类设备,为了能单独访问某一设备,系统中的每个设备都要有唯一的地址,就像内存中每一内存单元都有一个地址一样。此外,为了使CPU能访问设备控制器中的端口(寄存器),这些端口应该具有唯一的地址,控制器要能够识别这些地址。所以,在设备控制器中应该配置地址译码器。(1)设备控制器的功能数据缓冲。I/O设备的传输速率一般较低,CPU和内存的传输速率要高得多,所以在控制器中必须设置缓冲区。在输出时,用缓冲区暂存由CPU和内存高速传来的数据。在输入时,缓冲区用于暂存从低速I/O设备传来
7、的数据。(1)设备控制器的功能差错控制。为保证数据输入的正确性,设备控制器要对I/O设备传送来的数据进行差错检测。如果发现传送中出现错误,则将差错检测码置位,并向CPU报告,CPU将本次传送来的数据作废,并重新进行一次传送。(2)设备控制器的组成设备控制器一般由三部分组成:1)设备控制器与CPU的接口2)设备控制器与设备的接口3)I/O逻辑(2)设备控制器的组成图8-2设备控制器的组成8.2 I/O控制方式8.2.1直接程序控制方式8.2.2中断控制方式8.2.3直接存储器访问方式8.2.4通道方式8.2 I/O控制方式按照I/O控制器功能的强弱以及和CPU之间联系方式的不同,可以把I/O设备
8、的控制方式分为四类:直接程序控制方式、中断控制方式、直接存储器访问方式和通道方式。8.2.1 直接程序控制方式直接程序控制方式由用户进程直接控制内存或CPU和外围设备之间的信息传送。图8-3 I/O控制方式的工作流程(1)直接程序控制方式8.2.2 中断控制方式中断控制方式的思想是:CPU发出启动I/O设备的命令后,不用查询设备是否就绪,而是继续执行当前进程或调度其它进程运行。当设备就绪后,向CPU发出中断请求,CPU响应后,才中断当前进程转至中断处理程序执行。8.2.2 中断控制方式(2)中断控制方式8.2.3 直接存储器访问方式为了进一步减少CPU对I/O操作的干预,引入了DMA控制方式。
9、在DMA控制器的控制下,在设备和内存之间开辟直接数据交换通道,成批地交换数据,而不必让CPU干预。2.DMA控制器的组成DMA控制器可大致分为主机与控制器的接口、控制器与块设备的接口以及I/O控制逻辑三大部分。I/O控制逻辑DRMARDCCRCPU内存主机与控制器接口控制器与块设备接口系统总线DMA控制器图8-4 DMA控制器的组成8.2.4 通道方式为了进一步减少CPU对I/O的干预,在CPU和设备控制器之间又增设了通道。通道是专门进行I/O操作的处理机,具有执行I/O指令的能力,并通过执行通道程序来控制I/O操作。8.2.4 通道方式通道控制方式是对DMA控制方式的发展,把对一个数据块的读
10、/写为单位的干预,减少为对一组数据块的读/写及有关的控制和管理为单位的干预。同时,又可实现CPU、通道和I/O设备的并行操作,从而更有效地提高整个系统的资源利用率。8.3 缓冲技术8.3.1缓冲技术的引入8.3.2单缓冲和双缓冲8.3.3环形缓冲8.3.4缓冲池8.3 缓冲技术为了缓和CPU和I/O设备速度不匹配的矛盾,提高CPU和I/O设备的并行性,在现代操作系统中,几乎所有的I/O设备在与处理机交换数据时都使用了缓冲区,并提供获得和释放缓冲区的手段。8.3.1 缓冲技术的引入引入缓冲管理的原因主要有以下几个方面:(1)缓和CPU与I/O设备间速度不匹配的矛盾,提高CPU和I/O设备之间的并
11、行性。8.3.1 缓冲技术的引入(2)减少CPU的中断频率,放宽对中断响应时间的限制。假设使用中断方式传输1000个字节,如果在I/O控制器中只有一个字节长度的数据寄存器,那么传输就可能需要1000次中断;而如果增加一个500个字节的缓冲区,则I/O控制器对CPU的中断次数将降低为2次,从而大大减少了CPU的中断处理时间。8.3.1 缓冲技术的引入(3)解决数据粒度不匹配的问题。数据粒度就是数据的发送端和接收端所使用的数据单元的大小。在缓冲区中可以把大的数据块分割成多个小的数据块,也可以把许多小的数据块合并成一个大的数据块。8.3.2 单缓冲和双缓冲根据系统设置的缓冲区个数不同,可以将缓冲分为
12、单缓冲、双缓冲、环形缓冲和缓冲池。1.单缓冲单缓冲是在设备和处理机之间设置一个缓冲区。设备和处理机交换数据时,先把被交换数据写入缓冲区,然后,需要数据的设备或处理机从缓冲区取走数据。1.单缓冲图8-5单缓冲区2.双缓冲 引入双缓冲可以提高处理机与设备的并行操作程度。双缓冲区如图8-6所示。2.双缓冲图8-6双缓冲区8.3.3 环形缓冲环形缓冲又称循环缓冲、多缓冲。如图8-7所示。图 8-7环形缓冲RRRRGGGGGGNextgCurrentNexti环形缓冲区的组成(1)多个缓冲区。作为输入的环形缓冲区有三种:可用于存放数据的空缓冲区R。已装满数据的满缓冲区G。计算进程正在使用的当前工作缓冲区
13、C。(2)多个指针。作为输入的环形缓冲区可以设置三个指针:指向计算进程下一个可用缓冲区G的指针Nextg。指向输入进程下一个可用的空缓冲区R的指针Nexti。指向计算进程当前正在使用的缓冲区C的指针Current。RRRRGGGGGGNextgCurrentNexti8.3.4 缓冲池缓冲池是对多个缓冲区进行统一管理,既可用于输入又可用于输出的公用的缓冲结构,池中的缓冲区可供多个进程共享。8.3.4 缓冲池缓冲池中的每个缓冲区由缓冲首部和缓冲区主体两部分组成。缓冲首部用于标识和管理该缓冲区,缓冲区主体用于存放数据。缓冲首部包括缓冲区号、设备号、设备上的数据块号(块设备时)、互斥标识(同步信号量
14、)以及缓冲队列链接指针等。1.缓冲池的组成 缓冲池中至少应含有空缓冲区、装满输入数据的缓冲区和装满输出数据的缓冲区三种类型。为方便管理,将相同类型的缓冲区链成一个队列,故可形成以下三个队列:(1)空缓冲队列emq。由空缓冲区所链接成的队列。设置队首指针F(emq)和队尾指针L(emq)分别指向该队列的首、尾缓冲区。(2)输入队列inq。由装满输入数据的缓冲区所链接成的队列。设置队首指针F(inq)和队尾指针L(inq)分别指向该队列的首、尾缓冲区。(3)输出队列outq。由装满输出数据的缓冲区所链接成的队列。设置队首指针F(outq)和队尾指针L(outq)分别指向该队列的首、尾缓冲区。1.缓
15、冲池的组成 系统或用户进程从这三种队列中申请和取出缓冲区,并用得到的缓冲区进行存取数据操作,操作结束后再将缓冲区放入相应的队列,这些缓冲区被称为工作缓冲区。在缓冲池中有4种工作缓冲区,如图8-8所示。(1)用于收容设备输入数据的工作缓冲区hin(2)用于提取设备输入数据的工作缓冲区sin(3)用于收容CPU输出数据的工作缓冲区hout(4)用于提取CPU输出数据的工作缓冲区sout2.缓冲池的工作方式缓冲区可工作在收容输入、提取输入、收容输出和提取输出四种工作方式,如图8-8所示。2.缓冲池的工作方式图8-8缓冲池的工作方式8.4 设备分配8.4.1设备分配中的数据结构8.4.2设备分配时应考
16、虑的若干因素8.4.4独占设备的分配程序8.4.5SPOOLing技术8.4 设备分配设备分配的基本任务是根据用户的I/O请求,为他们分配所需的设备。如果在I/O设备和CPU之间还存在设备控制器和通道,则还需为分配出去的设备分配相应的控制器和通道。8.4.1 设备分配中的数据结构 为了实现对I/O设备的管理和控制,需要对每台设备、通道、控制器的情况进行登记。设备分配依据的主要数据结构有设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)和系统设备表(SDT),如图8-9所示。1.设备控制表DCT 设备控制表中的内容通常有以下几个方面:(1)设备类型。反映设备的特性,如是字符设
17、备、块设备还是终端设备。(2)设备标识符。用于区别设备的编号。(3)设备状态。指设备当前是空闲还是忙。1.设备控制表DCT(4)指向控制器控制表COCT的指针。指向该设备所连接的控制器的控制表COCT。(5)重复执行次数或时间。1.设备控制表DCT(6)设备队列的队首指针。即设备等待队列指针。(7)设备队列的队尾指针。指向设备等待队列的队尾。图 8-9 设备分配中的数据结构2.控制器控制表、通道控制表和系统设备表(1)控制器控制表COCT。控制器控制表(ControllerControlTable,COCT)反映控制器的使用情况和与通道的连接情况。2.控制器控制表、通道控制表和系统设备表(2)
18、通道控制表CHCT。在通道控制方式的系统中,为每个通道都设置了一张通道控制表(ChannelcontrolTable,CHCT)。2.控制器控制表、通道控制表和系统设备表(3)系统设备表SDT。整个系统配备一张系统设备表,它记录了已经被连接到系统的所有设备,为每一个物理设备设置一个表项。8.4.2 设备分配时应考虑的若干因素设备分配的总原则是既要充分发挥设备的使用效率,尽可能的让设备忙,但又要避免由于不合理的分配方法造成进程死锁。另外,还要做到把用户程序和具体物理设备隔离开来。1.设备的固有属性在分配设备时,首先考虑与设备分配有关的设备属性,设备的固有属性可分成三类:(1)独占设备。(2)共享
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8-第8章 设备管理操作系统原理 设备管理 操作系统 原理
限制150内