操作系统原理7设备管理

上传人:tian****1990 文档编号:81768807 上传时间:2019-02-22 格式:PPT 页数:63 大小:518.50KB
返回 下载 相关 举报
操作系统原理7设备管理_第1页
第1页 / 共63页
操作系统原理7设备管理_第2页
第2页 / 共63页
操作系统原理7设备管理_第3页
第3页 / 共63页
操作系统原理7设备管理_第4页
第4页 / 共63页
操作系统原理7设备管理_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《操作系统原理7设备管理》由会员分享,可在线阅读,更多相关《操作系统原理7设备管理(63页珍藏版)》请在金锄头文库上搜索。

1、第7章 外部设备管理,7.0 引言 7.1 I/O控制技术 7.2 缓冲技术 7.3 设备分配 7.4 设备控制 7.5 磁盘设备管理,外设的特点: 种类多 差异大(控制和速度) 外设管理目的包括: 外设资源的控制 外设资源的共享 提高外设资源的利用率。,7.0 引言,7.0.0 I/O设备管理的重要性 7.0.1 外部设备类型和特征 7.0.2 外设管理的目的和功能 7.0.3 外设管理结构,返回,7.0.0 I/O管理的重要性,I/O设备就像计算机系统的五官和四肢 I/O性能经常成为系统性能的瓶颈 (1)CPU性能不等于系统性能 响应时间也是一个重要因素 (2)CPU性能越高,与I/O差距

2、越大 弥补:更多的进程 (3)进程切换多,系统开销大 3. 操作系统庞大复杂的原因之一是:资源多、杂,并发,均来自I/O 4. 理解I/O的工作过程与结构是理解操作系统的工作过程与结构的关键 5. I/O技术很实用 6. 与其他功能联系密切,特别是文件系统,7.0.1 外部设备类型和特征,人机交互设备:视频显示设备、键盘、鼠标、打印机 与计算机或其他电子设备交互的设备:磁盘、磁带、传感器、控制器 计算机间的通信设备:网卡、调制解调器,返回,1. 按交互对象分类,2. 按交互方向分类,输入(可读):键盘、扫描仪 输出(可写):显示设备、打印机 输入/输出(可读写):磁盘、网卡,3. 按外设特性分

3、类,使用特征:存储、输入/输出、终端 数据传输率:低速(如键盘)、中速(如打印机)、高速(如网卡、磁盘) 信息组织特征:单个字符或数据块 字符设备(如打印机):通常的输入输出型设备,以字符为单位存储、传输信息;不可寻址 块设备(如磁盘):以数据块为单位存储、传输信息。可寻址,4. 按资源分配角度分类,独占设备 在一段时间内只能有一个进程使用的设备,一般为低速I/O设备。如打印机,磁带等。 共享设备 在一段时间内可有多个进程共同使用的设备,多个进程以交叉的方式来使用设备,其资源利用率高。(如硬盘) 虚设备 在一类设备上模拟另一类设备,常用共享设备模拟独占设备,用高速设备模拟低速设备,被模拟的设备

4、称为虚设备.(实例:SPOOLing技术,利用虚设备技术用硬盘模拟输入输出设备),5.从程序使用角度分 逻辑设备: 用户程序中使用的设备 物理设备:实际完成I/O操作的设备,7.0.2 外设管理的目的和功能,提高效率:提高I/O访问效率,匹配CPU和多种不同处理速度的外设 方便使用:方便用户使用,对不同类型的设备统一使用方法,协调对设备的并发使用 方便控制:方便OS内部对设备的控制:增加和删除设备,适应新的设备类型,返回,1. 外设管理目的,2. 外设管理功能,提供设备使用的用户接口:命令接口和编程接口 设备分配和释放:使用设备前,需要分配设备和相应的通道、控制器。 设备的访问和控制:包括并发

5、访问和差错处理(虚拟设备)。 I/O缓冲和调度:目标是提高I/O访问效率,7.1 I/O控制技术(数据传送控制方式),返回,外围设备与内存或CPU间常用的数据传送控制方式: 程序直接控制方式 中断控制方式 DMA方式 通道方式,1. 程序控制I/O(programmed I/O),I/O操作由程序(用户)发起,并等待操作完成。数据的每次读写通过CPU。,等待,发Start指令,设备标志触发器为“Done”?,CPU,执行下一条指令 开始数据传送,否,是,外围设备,接收到Start指令,作接收或发送数据准备,准备好?,标志触发器置为“Done”,等待CPU来的下一条指令,是,否,特点,缺点: 在

6、外设进行数据处理时,CPU只能等待。 CPU与外设只能串行工作 只适用于CPU执行速度较慢,且外围设备较少的系统,2. 中断驱动方式,I/O操作由程序发起,在操作完成时(如数据可读或已经写入)由外设向CPU发出中断,通知该程序。数据的每次读写通过CPU。 优点:在外设进行数据处理时,CPU不必等待,可以继续其他程序。 缺点: CPU每次处理的数据量少(I/O控制器的数据缓冲寄存器通常不超过几个字节),在一次数据传送过程中,发生中断次数较多,将耗费大量CPU时间,只适于数据传输率较低的设备。 另外,多种设备并行发生中断,由于中断次数的急剧增加而造成CPU无法响应中断而出现数据丢失现象。 如果外设

7、速度也很快的话,则可能造成数据缓冲寄存器的数据由于CPU来不及取走而丢失。,中断控制方式的处理过程,接收到CPU发来的Start指令,缓冲寄存器满?,设备,控制器发中断信号,是,CPU,调度程序调度其它进程,收到中断信号了吗?,中断处理,被中断进程执行,是,否,准备数据并将其置入缓冲寄存器,否,向设备发Start指令, 置中断允许位为“1”,其它进程执行,3. 直接存储访问方式 (DMA, Direct Memory Access),在外设和内存之间开辟直接的数据通路。 由程序设置DMA控制器中的若干寄存器值(如内存始址,传送字节数),然后发起I/O操作,而后者完成内存与外设的成批数据交换,在

8、操作完成时由DMA控制器向CPU发出中断。 优点:DMA控制器可用来代替CPU控制内存和设备之间进程成批的数据交换。CPU只需干预I/O操作的开始和结束,而其中的一批数据读写无需CPU控制,适于高速设备。,当进程要求输入数据时,CPU将准备存放输入数据的内存起始地址、要传送的字节数送入DMA控制器的内存地址寄存器和传送字节计数器,将中断允许位和启动位置成1,启动设备 发出传输要求的进程进入等待状态,执行指令被暂时挂起,进程调度其他进程占据CPU 输入设备不断窃取CPU工作周期,数据不断写入内存 传送完毕,发出中断信号 CPU接到中断信号转入中断处理程序处理 中断处理结束,CPU返回原进程或切换

9、到新的进程,DMA工作原理窃取总线控制权,窃取总线控制权,DMA(I/O处理器)和CPU共享主存储器和总线,因此会出现通道和CPU同时争相访问主存的情况。 因此给DMA和CPU规定了不同的有限次序;通常CPU被规定位最低优先级。 但在微机中,系统总线的使用是在CPU控制之下的,当I/O处理器要求使用总线时,向CPU发出请求总线的信号,CPU就把总线使用权暂时转让给I/O处理器。,DMA方式与中断方式的主要区别,中断方式是在数据缓冲寄存器满后,发中断请求,CPU进行中断处理 DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行中断处理的次数 中断方式的数据

10、传送是由CPU控制完成的 而DMA方式则是在DMA控制器的控制下不经过CPU控制完成的,因此避免了因速度不匹配而造成数据丢失的现象。(DMA硬件比较复杂),4. 通道控制方式(channel control),通道(I/O处理机)定义: 是可以执行程序的、负责且只负责操纵输入输出设备的、功能简单专用的、低速、低性能的、造价低的专用处理机。 负责管理设备与内存之间的数据传送的一切工作。 CPU只是命令I/O处理器执行主存中的I/O程序。当整个I/O程序执行完成后,CPU被I/O模块中断,通道控制器(Channel Controller): 有自己的专用存储器, 可以执行由通道指令组成的通道程序,

11、 可以进行较为复杂的I/O控制,如网卡上信道访问控制。 通道程序通常由操作系统所构造,放在内存里。,引入通道的目的,为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备,设备与设备之间的并行工作能力,优点:执行一个通道程序可以完成几批I/O操作。,通道分类,选择通道(selector channel):可以连接多个外设,而一次只能访问其中一个外设 成组多路通道(Block multiplexor channel):可以并发访问多个外设,同时连接多个中速块设备。 字节多路通道:多个字符设备,字节多路通道以字节为单位传输信息,它可以分时地执行多个通道程序。当一个通道程序控制某台设备传送一个

12、字节后,通道硬件就控制转去执行另一个通道程序,控制另一台设备传送信息 主要连接以字节为单位的低速I/O设备。如打印机,终端。,1) 字节多路通道,字节多路通道的工作原理,选择通道是以成组方式工作的,即每次传送一批数据,故传送速度很高。选择通道在一段时间内只能执行一个通道程序,只允许一台设备进行数据传输,当这台设备数据传输完成后,再选择与通道连接的另一台设备,执行它的相应的通道程序,2)选择通道,主要连接磁盘,磁带等高速I/O设备,它结合了选择通道传送速度高和字节多路通道能进行分时并行操作的优点。它先为一台设备执行一条通道指令,然后自动转接,为另一台设备执行一条通道指令 主要连接高速设备 这样,

13、对于连接多台磁盘机的数组多路通道,它可以启动它们同时执行移臂定位操作,然后,按序交叉地传输一批批数据。数据多路通道实际上是对通道程序采用多道程序设计的硬件实现,3)成组多路通道,硬件连接结构,通道:执行通道程序,向控制器发出命令,并具有向CPU发中断信号的功能。 一旦CPU发出指令,启动通道,则通道独立于CPU工作。一个通道可连接多个控制器,一个控制器可连接多个设备,形成树形交叉连接 主要目的是启动外设时: a 提高了控制器效率 b 提高可靠性 c 提高并行度,设备、控制器、通道、内存之间的关系,交叉连接,中断技术,中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回

14、到原来断点继续工作。 中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务 可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定) 开中断、关中断、中断屏蔽 中断的分类 外中断:来自CPU和内存的外部。如I/O设备,定时器,调试中断等 内中断:来自CPU和内存的内部,内中断一般称为陷阱(trap,包括地址非法、页面实效,溢出、时间片中断等,中断和陷入(trap)的区别,陷入通常由处理机正在执行的现行指令引起,而中断是由与现行指令无关的中断源引起的 陷入处理程序提供的服务为当前进程所用,而中断处理程序提供的服务则不是为

15、当前进程的 CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷入。如非法指令执行时,尽管被执行的非法指令不能执行结束,但CPU仍可对其进行处理。,中断处理过程(课本),7.2 缓冲技术,返回,缓冲技术可提高外设利用率,尽可能使外设处于忙状态;但有一个限制:进程的I/O请求不能超过外设的处理能力。 缓冲技术的基本思想:在CPU和外设之间设置缓冲区,用于暂存CPU与外设之间交换的数据,从而缓和CPU与外设速度不匹配的矛盾。 缓冲区是在内存中开辟一块存储空间。 包括输入缓存和输出缓存 分为专用缓存(为一个设备独占,如键盘缓存)和公用缓存(为多个设备公用),缓冲区,

16、CPU,外设,1. 引入缓冲技术的目的,匹配CPU或用户应用进程与外设的不同处理速度 减少对CPU的中断次数:提高CPU和I/O设备之间以及各个I/O设备之间的处理并行性。 解决DMA或通道方式时的瓶颈问题 缓冲区所在的位置:内存,控制器或外设。这些在不同位置的缓冲区组合在一起,构成多级缓冲机制。 缓冲的实现: 硬件缓冲器,如I/O控制器中的数据缓冲寄存器 在内存画出一个具有n个单元的专用缓冲区。(软件缓冲),2. 单方向缓冲,单缓冲(single buffer):一个缓冲区,CPU和外设轮流使用,一方处理完之后接着等待对方处理。 双缓冲(double buffer):两个缓冲区,CPU和外设都可以连续处理而无需等待对方。要求CPU和外设的速度相近。 环形缓冲(circular buffer):多个缓冲区,CPU和外设的处理速度可以相差较大。 由于缓冲区是临界资源,在使用缓冲区时都有一个申请、释放和互斥的问题。,3. 缓冲池(buffer pool),缓冲区队列:三种:空闲缓冲区,输入缓冲区,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号