操作系统-第5章-设备管理.ppt
《操作系统-第5章-设备管理.ppt》由会员分享,可在线阅读,更多相关《操作系统-第5章-设备管理.ppt(128页珍藏版)》请在三一文库上搜索。
1、第5章,设备管理,专注 成就 未来,内容,I/O软件,4,磁盘存储器的管理,6,第一节 I/0系统 第二节 I/O控制方式 第三节 缓冲管理 第四节 I/O软件 第五节 设备分配 第六节 磁盘存储器的管理,第五章 设备管理,设备管理是指操作系统对除了CPU和内存以外的,所有输入/输出设备的管理,诸如设备控制器、通道、中断控制器等等。,对于设备我们所关心的问题,内存允许多用户作业存在,它们的运行势必涉及到I/O设备。 1、对于设备本身:如何有效利用 2、对于设备和CPU:如何发挥并行工作 3、对于设备和用户:如何方便实用,CPU与I/O的速度差别大,所以尽量使两者交叠运行,减少由于速度差异造成的
2、整体性能开销。,第一节 I/O系统,顾名思义,I/O系统是用于实现数据输入、输出及数据存储的系统。,1、按设备的使用特性分类 a. 存储设备:各种外部存储设备,主要是硬盘; b. 输入/输出设备:又具体可分为输入设备、输出设备和交互式设备 。,一、I/O设备分类,2、按设备的传输速率分类 a. 低速设备:其传输速率仅为每秒钟几个字节至数百个字节。如键盘、鼠标器、语音的输入和输出等设备。 b. 中速设备:其传输速率在每秒钟数千个字节至数十万个字节。如行式打印机、 激光打印机等。 c. 高速设备:其传输速率在数百个千字节至千兆字节。如磁带机、磁盘机、光盘机等。,一、I/O设备分类,一、I/O设备分
3、类,3、按信息交换的单位分类 a、块设备:设备上传送的信息是以块为单位组织的。如:磁盘、光盘等。 特点:有结构;可寻址;I/O采用DMA方式 b、字符设备:设备上传送的信息是以字符为单位组织的。如:键盘、打印机等。 特点:无结构;不可寻址;I/O采用中断驱动。,A B C D E,4、按设备的共享属性分类 a. 独享设备:是指在用户作业的整个运行过程中为其独占的设备,以保证传输信息的连贯性; b. 共享设备:是指允许若干个用户可同时使用的设备; c. 虚拟设备:通过SPOOLING技术将独占设备改造成能为若干个用户共享的设备。,一、I/O设备分类,动画演示什么是SPOOLing技术,已被占用,
4、我就是打印机!,虚拟设备,独占变成了共享,5、按设备所属关系分类 a. 系统设备:系统生成时已登录在系统中的标准设备; b. 用户设备:系统生成时未登录在系统中的非标准设备。,一、I/O设备分类,二、设备与控制器之间的接口,通常,设备并不是直接与CPU进行通信,而是与设备控制器通信,因此,在I/O设备中应含有与设备控制器间的接口,在该接口中有三种类型的信号,各对应一条信号线。,控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。 它是CPU和I/O设备之间的接口,它接收从CPU发来的 命令,并去控制I/O设备工作,以使CPU从繁杂的设备控制事务中解脱出来。 分类: 控制字符设备的
5、控制器 控制块设备的控制器 常在微型机和小型机中做成印刷电路卡的形式,也称为接口卡。,三、设备控制器,声卡,显卡,视频压缩卡,1设备控制器的基本功能 1)接收和识别命令 2)数据交换 3)标识和报告设备的状态 4)地址识别 5)数据缓冲 6)差错控制,三、设备控制器,2设备控制器的组成,目的:是为了建立独立的I/O操作,不仅使数据的传送独立于CPU,而且也希望有关对I/O操作的组织、 管理及其结束处理尽量独立,以保证CPU有更多的时间去进行数据处理;(或者说,是使一些原来由CPU处理的I/O任务转由通道来承担)。 通道又称I/O处理机。 它也是完成内存与外设之间的直接的数据交换。,四、I/O通
6、道,为何要引入通道?,四、I/O通道,工作流程:在设置了通道后, 1)CPU只需向通道发送一条I/O指令。 2)通道在收到该指令后,便从内存中取出本次要执行的通道程序, 3)然后执行该通道程序, 4)仅当通道完成了规定的I/O任务后,才向CPU发中断信号。,采用通道技术后,不仅能实现CPU与通道之间的并行操作,而且通道与通道之间、各通道上连接的外设之间都能实现并行操作。,通道有自己的通道指令,并设有通道控制器和自己的指令执行机构。 只要CPU发出通道启动指令,指出通道相应的操作和I/O设备,该指令就可启动通道并使通道从内存调出相应的通道指令执行。,四、I/O通道,通道类型,1)字节多路通道 字
7、节多路通道可连接多个慢速外围设备,如打印机。 它以字节为单位交叉地与外设进行数据交换。但一台设备传送一个字节后,立即转去为另一台设备传送一个字节。 模式:主通道+多个子通道,四、I/O通道,2)数组选择通道 它连接磁带、磁盘等快速设备,以块为单位与外设进行数据交换。但在同一时间内,它只能为一台设备服务,直到I/O请求完成,再选择与通道相连的另一台设备。,选择通道,模式:主通道+一个子通道,3)数组多路通道 它是字节(多路)和选择通道技术(数组)的综合,通道所连接的几个设备可并行工作。先选择一台传送一批数据,再选择另一台,即几台设备的通道程序都在执行中。 它相当于多道程序设计技术在通道中的应用。
8、,模式:主通道+多个子通道,数组方式,“瓶颈”问题,单通路I/O系统,解决方案,多通路I/O系统,五、总线系统,总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相连接,从而形成了计算机硬件系统。 微型计算机是以总线结构来连接各个功能部件的。,1ISA和EISA总线 1)ISA(Industry Standard Architecture)总线 这是为在1984年推出的80286型微机而设计的总线结构。其总线的带宽为8位,最高传输速率为2 Mb/s。 2) EISA(Extended ISA)总线 其带宽为32位,总线
9、的传输速率高达32 Mb/s,同样可以连接12台外部设备。,2局部总线(Local Bus) 所谓局部总线,是指将多媒体卡、高速LAN网卡、高性能图形板等,从ISA总线上卸下来,再通过局部总线控制器直接接到CPU总线上,使之与高速CPU总线相匹配,而打印机、FAX/Modem、CDROM等仍挂在ISA总线上。 在局部总线中较有影响的是VESA总线和PCI总线。,1) VESA(Video Electronic Standard Association)总线 VESA总线的带宽为32位,最高传输速率为132 Mb/s。它在20世纪90年代初被推出时,广泛应用于486微机中。但VESA总线仍存在较
10、严重的缺点,比如,它所能连接的设备数仅为24台,在控制器中无缓冲,故难于适应处理器速度的不断提高,也不能支持后来出现的Pentium微机。,2) PCI(Peripheral Component Interface)总线 随着Pentium的推出,Intel公司分别在1992年和1995年颁布了PCI总线的V1.0和V2.1规范,后者支持64位系统。PCI在CPU和外设间插入一复杂的管理层,用于协调数据传输和提供一致的接口。在管理层中配有数据缓冲,使PCI最多能支持10种外设,并使高时钟频率的CPU能很好地运行,最大传输速率可达132 Mb/s。PCI既可连接ISA、EISA等传统型总线,又可
11、支持Pentium的64位系统,是基于奔腾等新一代微处理器而发展的总线。,小结,通道,第二节 输入输出系统结构,一、程序I/O控制方式,四、通道控制方式,二、中断I/O控制方式,三、DMA的I/O控制方式,I/O控制方式的演变,循环测试I/O方式 中断处理方式 DMA方式 通道方式,1. 循环I/O测试方式,又称程序直接控制方式,它是一种由用户程序直接控制的输入输出方式。 输入时:进程通过CPU发START命令启动外设;进行状态测试;准备好,CPU读取接口中数据,否则继续测试。 输出时:进程通过CPU发START命令启动外设;进行状态测试;准备好,CPU向接口中输出数据,否则继续测试。,优点:
12、 a.它的控制简单 缺点: a. CPU和外设只能串行工作; b. CPU在同一时间内只能和一台外设交换数据; c. 只适合于与外设速度慢的设备。,循环I/O测试方式的优缺点,如何改进呢? 老问少问? 少问不问?,2、中断方式传送,为了减少CPU测试等待时间和CPU与外设的并行工作能力,引入了中断控制传输方式。 基本思想: 当设备完成I/O操作后,它便以中断请求的方式主动向CPU汇报。因此,CPU一旦启动I/O设备便可转去处理其他程序。 比如: 打印机打印1行需要60ms,在循环测试法中有59.9ms CPU都在循环等待中, 而中断处理的话,则CPU只需要0.1ms来处理中断,而59.9ms可
13、以处理其他事情。,缺点: a. I/O控制寄存器的数据寄存器小,对大量数据传输中断次数较多,每次中断都要进行保存现场信息和恢复现场等操作,耗去CPU大量时间; b. 不适合于高速I/O 设备。 外设将数据送入数据寄存器发出中断请求后,CPU必须有足够的时间将数据取走, 否则可能造成CPU来不及取走数据而造成数据的丢失。,中断处理方式的优缺点,所以:循环I/O测试方式和中断控制方式都只适用于简单的、外设很少的计算机系统。,如何改进呢?,不让CPU参与存取数据,自己做,3、DMA方式,又称存储器直接存取方式; 内存和外设之间开辟直接的数据交换通路,可以成批的交换数据,由DMA控制器完成数据交换。
14、DMA方式除了在传送开始需要CPU做一些初始化和传输结束做一些善后处理工作之外,在整个数据传输过程中,不需要CPU任何干预。 所以:减轻了CPU的负担,并使I/O传输速率大大提高。,DMA控制器的组成,a. 进程要求输入数据,CPU将输入数据的内存地址及个数送入相应寄存器; b. 进程进入等待状态,进程调度程序调度其他进程; c. 在DMA控制器控制下,将数据寄存器的数据不断写入内存; d. 传送完毕,DMA控制器向CPU发出中断请求,CPU转中断处理程序; e. 中断处理程序结束,CPU返回被中断的进程继续执行。,DMA方式的详细数据传输过程,图示说明:DMA方式数据传输过程,a. 进程要求
15、输入数据,CPU将输入数据的内存地址及字节个数送入相应寄存器;再把状态寄存器的允许中断位置为1,从而启动设备准备传输,b.CPU将总线让给DMA控制器,在DMA控制器进行数据传输期间,CPU不再使用总线。(“窃取”总线控制权),0000-1023,1KB,c.进程进入等待状态,等待I/O的 完成。,等待中,d.在DMA控制器控制下,将数据寄存器的数据不断写入内存;,e:传送完毕,DMA控制器向CPU发出中断请求,CPU转中断处理程序;,f:中断处理程序结束,CPU返回被中断的进程继续执行。,总线,DMA特点,1、负责在高速外围设备与内存之间成批量的数据传输工作,但是不对数据作再加工处理,I/O
16、操作类型简单; 2、需要使用专门的DMA控制器:控制、状态寄存器、传送字数寄存器、内存地址寄存器和数据缓冲寄存器。 3、采用“偷窃总线控制权”,不用CPU干预 4、每传送一个数据并不产生中断,只有DMA中的传送字数计数器减1到0时,即本次DMA传送的数据全部完毕时,才产生中断。,优点: 快速,大块传输数据。 缺点: DMA只能完成简单的数据传送、计数、内存地址加1或减1等操作,不能完成更复杂的操作请求。 且与CPU无法并行(偷窃总线),这样对大、中型计算机系统不合适。,DMA处理方式的优缺点,1I/O通道控制方式的引入 中断:字节为单位 DMA:一个数据块为单位 多个数据块呢? 而当我们需要一
17、次去读多个数据块且将它们分别传送到不同的内存区域,则须由CPU分别发出多条I/O指令及进行多次中断处理才能完成。 解决方案?,4 I/O通道控制方式,通道,I/O通道方式 1)它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位的干预减少为对一组数据块的读(或写)及有关的控制和管理为单位的干预。 2)又可实现CPU、通道和I/O设备三者的并行操作,从而更有效地提高整个系统的资源利用率。 当CPU只需向I/O通道发送一条I/O指令,(所要执行的通道程序的首址和要访问的I/O设备); 通道接到该指令后,通过执行通道程序便可完成CPU指定的I/O任务。,2通道程序 通道程序是由一系列通道指
18、令(或称为通道命令)所构成的。通道指令与一般的机器指令不同,在它的每条指令中都包含下列诸信息: (1) 操作码。规定了指令所执行的操作,如读、写、控制等操作。 (2) 内存地址。内存地址标明字符送入内存(读操作)和从内存取出(写操作)时的内存首址。 (3) 计数。该信息表示本条指令所要读(或写)数据的字节数。,(4) 通道程序结束位P。该位用于表示通道程序是否结束。P=1表示本条指令是通道程序的最后一条指令。 (5) 记录结束标志R。R=0表示本通道指令与下一条指令所处理的数据是同属于一个记录;R=1表示这是处理某记录的最后一条指令。,第三节 缓冲技术,一、缓冲的引入 可能性:中断技术和通道技
19、术的引入,提供了CPU、通道和I/O设备之间的并行操作的可能性 并行程度:但由于计算机外设的发展会产生通道不足而产生的“瓶颈”现象,使并行程度受到限制,因此引入了缓冲技术。,引入缓冲区的目的:,1、改善CPU和I/O设备之间速度不匹配的情况; 2、可以减少I/O设备对CPU的中断次数及放宽对CPU的中断响应时间要求; eg:如果I/O操作每传输1个字节就产生一次中断,那么系统花费在I/O操作上的时间就比较多,我们可以 3、提高CPU和I/O设备之间的并行性,二、缓冲区设置,硬缓冲: 在设备中设置缓冲区,由硬件实现;比如:寄存器 软缓冲: 在内存中开辟一个空间,用作缓冲区(程序处理) 好处:易于
20、改变缓冲区的大小和数量(灵活) 缺点:占据内存空间,软缓冲 如何缓冲呢?,1、单缓冲 当用户进程发出I/O请求时,操作系统在主存的系统空间为该操作分配一个缓冲区,可以实现预读和滞后写,三、缓冲区管理,缺点? 读写不能同时!,三、缓冲区管理,2、双缓冲 可以实现用户数据区缓冲区之间交换数据和缓冲区外设之间交换数据的并行,也就是读写可以同时。,缺点? 读写速度差距较大时,出现什么问题?,三、缓冲区管理,(1)多个缓冲区 在循环缓冲中含有多个缓冲区,每个缓冲区的大小相同。缓冲区可分成三种类型: 空缓冲区R。用于存放输入数据; 已装满数据的缓冲区G。其中的数据提供给计算进程使用; 现行工作缓冲区C。这
21、是计算进程正在使用的缓冲区。,3、循环缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。,(2) 多个指针 对用于输入的多缓冲,应设置这样三个指针: Nextg:指示计算进程下一个可用的缓冲区G; Nexti:指示输入进程下次可用的空缓冲区R; Current:指示计算进程正在使用的缓冲区单元。开始时,它指向第一个单元,随计算进程的使用,它将逐次地指向第2个单元,第3、4等单元,直至缓冲区的最后一个含数据的单元。,三、缓冲区管理,循环缓冲,某进程的专用缓冲 当有多个进程时,会有多个这样的循环缓冲; 占据大量内存,而且利用率不高。 如何改进? 解决方案? 集
22、中起来,共用!,4、(公用)缓冲池,a、缓冲池的引入 把系统内的缓冲区统一管理起来,变专用为通用。 b、缓冲池的结构 由若干个大小相同的缓冲区组成。 当某进程需要使用缓冲区时,提出申请,由管理程序分配给它,用完后释放缓冲区。这样可用少量的缓冲区为更多的进程服务。,1缓冲池的组成 对于既可用于输入又可用于输出的公用缓冲池,其中至少应含有以下三种类型的缓冲区: 空(闲)缓冲区; 装满输入数据的缓冲区; 装满输出数据的缓冲区。,三、缓冲区管理,为了管理上的方便,可将相同类型的缓冲区链成一个队列,于是可形成以下三个队列: (1) 空缓冲队列emq。这是由空缓冲区所链成的队列。其队首指针F(emq)和队
23、尾指针L(emq)分别指向该队列的首缓冲区和尾缓冲区。 (2) 输入队列inq。这是由装满输入数据的缓冲区所链成的队列。其队首指针F(inq)和队尾指针L(inq)分别指向该队列的首缓冲区和尾缓冲区。 (3) 输出队列outq。这是由装满输出数据的缓冲区所链成的队列。其队首指针F(outq)和队尾指针L(outq)分别指向该队列的首缓冲区和尾缓冲区。 除了上述三个队列外,还应具有四种工作缓冲区: 用于收容输入数据的工作缓冲区; 用于提取输入数据的工作缓冲区; 用于收容输出数据的工作缓冲区; 用于提取输出数据的工作缓冲区。,三、缓冲区管理,三、缓冲区管理,缓冲区的工作方式,第四节 设备分配程序,
24、前面介绍了I/O数据传送控制方式及与其密切相关的通道技术和缓冲技术。但是讨论这些问题时,已经做了一个假设: 即每一个准备传送数据的进程已经申请到了它所需要的外围设备、控制器和通道。 进程如何得到这些数据传输所需要的通路及设备呢?,5.5.1 设备分配中的数据结构 1设备控制表(DCT) 系统为每一个设备都配置了一张设备控制表,用于记录本设备的情况。,设备控制表中,除了有用于指示设备类型的字段type和设备标识字段deviceid外,还应含有下列字段: (1) 设备队列队首指针。凡因请求本设备而未得到满足的进程,其PCB都应按照一定的策略排成一个队列,称该队列为设备请求队列或简称设备队列。其队首
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 设备管理
链接地址:https://www.31doc.com/p-2830012.html