操作系统原理 第九章 设备管理

上传人:mg****85 文档编号:49788479 上传时间:2018-08-02 格式:PPT 页数:86 大小:476.50KB
返回 下载 相关 举报
操作系统原理 第九章 设备管理_第1页
第1页 / 共86页
操作系统原理 第九章 设备管理_第2页
第2页 / 共86页
操作系统原理 第九章 设备管理_第3页
第3页 / 共86页
操作系统原理 第九章 设备管理_第4页
第4页 / 共86页
操作系统原理 第九章 设备管理_第5页
第5页 / 共86页
点击查看更多>>
资源描述

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

1、第九章 设备管理 计算机外部设备:在计算机系统中除CPU 和内存储外所有的设备和装置称为计算机 外部设备(外围设备、I/O设备)。 一、 I/O系统的组成 1、I/O系统的结构 微机型IO系统 主机IO系统 IO通道四级结构:IO设备、设备控制器、IO 通道、计算机IO设备概述 按交互对象分类,大体分为三类:1) 人可读的(人机交互设备):视 频显示设备、键盘、鼠标、打印机2) 机可读的(与计算机或其他电子 设备交互的设备):磁盘、磁带、传感 器、控制器3) 通信:网卡、调制解调器按设备的使用特性分类1) 输入设备:计算机用以感受或接触外部 信息的设备。2) 输出设备:产生人可感知的信息,或输

2、 出信息用以影响或控制其它外部装置的信息 。3) 交互式设备:用户命令信息通过各种输 入设备进入计算机系统,系统同步的在显示 器上显示用户的命令信息以及执行命林后所 得到的处理结果。4) 存储设备:保存信息的装置按照传输速率分1) 低速设备2) 中速设备3) 高速设备按照信息交换的单位分1) 块设备:磁盘、磁带、光盘等以字符快为 单位组织和处理信息的设备能够随时读写其中的任何一块而与所有别的快 无关,外存设备都是块设备。2) 字符设备:键盘、终端、打印机等以字符 为单位组织和处理信息的设备字符设备传递或接受一连串的字符,不考虑任 何块结构。它不寻址,并且没有查找操作,这 样,终端、鼠标、键盘、

3、打印机、网络接口都 是字符设备。从资源分配角度分1) 独占设备:打印机、磁带机2) 共享设备:磁盘3) 虚拟设备 3、设备控制器(io设备的硬件部分)IO设备通常有电子和机械两部分组成 ,电子部分称作设备控制器或适配卡. (Device Controller或Adapter)就是大 家常见的各种接口卡,插入到计算机内 部。控制卡上通常有一个可插接的控制 器,通过电缆与设备内部相连。机械部分是设备本身。 设备控制器是CPU和IO设备之间的接口, 接收CPU传来的io命令,控制io设备工 作。它通常具有以下功能:1) 接收和识别命令2) 数据交换3) 设备状态的了解和报告4) 地址识别4、IO通道

4、在计算机中,io通道是一种特殊的处理 器,专门负责输入/输出,控制设备于 内存直接进行数据交换,通道有自己的 指令系统(一般只有数据传送指令、设 备控制指令等),通道没有自己的内存 ,它所执行的程序是存放在主机内存的 ,与cpu共享内存。 目的:建立独立的io操作,不仅数据的 传送能独立于cpu,而且也希望有关io 操作的组织、管理及结束也尽量独立, 保证cpu有更多的时间处理数据。或者 说将原来由cpu处理的io任务转由通道 来承担,把cpu从繁杂的io任务重解脱 出来。 1) 字节多路通道数据传输以字节为单位,主要用于连接大量 低速设备,如打印机。该通道含有许多非分 配型子通道,每个子通道

5、连接一个设备,采 用时间片轮转方式共享主通道。以字节为单 位交叉传输,当一台传送一个字节后,腾出 主通道,让另一个子通道使用主通道,立即 转去为另一台传送字节。 2) 数组选择通道用来连接多个高速设备,但只有一个分配型 子通道,一段时间只能执行一个通道程序, 控制一个设备进行数据传送,效率比较低。 当这台设备数据传输完成后,再选择与通道 连接的另一台设备,执行它的相应的通道程 序。这种通道以组方式工作,每次传送一批 数据。主要连接磁盘,磁带等高速I/O设备。选择通道3) 数组多路通道结合了选择通道传送速度高和字节多路 通道能进行分时并行操作的优点,数据 传送以块为单位。通道所连接的几个设 备可

6、并行工作。先选择一台传送一批数 据,再选择另一台,即几台设备的通道 程序都在执行中,它相当于多道程序设 计技术在通道中的应用。 单通道I/O系统“瓶颈”问题:目前要使用设备4,就必须用到通道1和控制 器2,但如果这个通道或者这个控制器已经给其他的设备占用,则无法启动设备4。 “瓶颈”问题:由于通道的数量比较少 ,因而在运行的过程中会产生瓶颈问题 ,导致系统的吞吐量下降。解决办法: 1、提高IO设备的独立性,以减少占用 通道的时间 2、增加通路 增加设备到主机之间的通路 ,是解决“瓶颈”问题最有效的方法,即 可把一个设备连接到多个控制器上,而 一个控制器又被连接到多个通道上 多通道I/O系统二、

7、IO控制方式 1 程序io方式 当用户进程需要输入数据时,由处理 器向设备控制器发出一条io指令启动io 设备进行输入,在设备输入数据期间, 处理器通过循环执行测试指令不间断的 测试设备状态寄存器的值,当状态寄存 器的值显示设备输入完成时,处理器将 数据寄存器的数据取出,送入内存制定 单元,在启动设备去读下一个数据。 优点:控制简单,不需要硬件支持缺点:cpu利用率低,因为cpu执行指令 的速度高出io设备几个数量级,循环测 试过程中,浪费了大量的cpu时减。 CPU和外设只能串行工作;CPU在同一 时间内只能和一台外设交换数据;只适 合于与外设速度慢的设备。 2 中断驱动io方式处理器给模块

8、发送io指令,然后继续 作其他一些有用的工作,当io模块准备 好与处理器交换数据时,它将打断处理 器并请求服务。处理器和前面一样执行 数据传送,然后恢复它以前的处理。优点:在外设进行数据处理时,CPU不必 等待,可以继续执行该程序或其他程序 。 缺点: a. I/O控制寄存器的数据寄存器小,对大 量数据传输中断次数较多,耗去CPU大 量时间; b. 不适合于高速I/O 设备。也就是说外设 将数据送入数据寄存器发出中断请求后 ,CPU有足够的时间将数据取走,否则 可能造成CPU来不及取走数据而造成数 据的丢失。3 直接存贮器存取方式又称存储器直接存取方式,它是在内存 和外设之间开辟直接的数据交换

9、通路, 由DMA 控制器完成数据交换。DMA控制器的组成 命令/状态寄存器CR 内存地址寄存器MAR 数据寄存器DR 数据计数器DCDMA工作过程(以磁盘数据读入为例) 1)CPU向磁盘控制器发送一条读命令到 CR中,目标起始地址到MAR中,数据 字节数到DC中,磁盘中的源地址到控 制器的控制逻辑上; 2)启动DMA控制器进行数据传送(窃用 总线周期),此后,CPU可以执行其它 任务; 3)DMA控制器按照命令每传送一个字节 ,修改并检查DC中的数值; 4)若DC中的值不为0,则继续传送下一 个字节;为0,则发出一个中断请求。 DMA模块可以由系统总线中一个独立 的模块执行,也可以并入一个io

10、模块中 。由DMA模块直接从存储器中或者往存储 器中传送整个数据块,每次传送一个字 ,传送结束,DMA模块给处理器发一个 中断信号,因此只有在开始传送和结束 传送的时候用到处理器。有时会有总线 竞争的情况发生,处理器用总线时可能 稍作等待,不会引起中断,不引起程序 上下文的保存,通常过程只有一个总线 周期 优点:CPU只需干预I/O操作的开始和 结束,而其中的一批数据读写无需CPU 控制,适于高速设备。特点:p129DMA方式与中断方式的不同 1)中断方式是在数据缓冲寄存区满后 ,发中断请求,CPU进行中断处理 2)DMA方式则是在所要求传送的数据 块全部传送结束时要求CPU进行中断处 理,大

11、大减少了CPU进行中断处理的次数 3)中断方式的数据传送是由CPU控制 完成的,而DMA方式则是在DMA控制器 的控制下不经过CPU控制完成的 4 io通道方式独立于中央处理器,专门负责数据I/O 传输的处理机 它对外设实现统一管理 代替CPU对I/O操作进行控制 使CPU和外设可以并行工作引入通道的目的:为了使CPU从I/O事 务中解脱出来,同时为了提高CPU与设 备、设备与设备之间的并行度。通道又称I/O处理机。它也是完成内存 与外设之间的直接的数据交换。采用通 道技术后,不仅能实现CPU与通道之间 的并行操作,而且通道与通道之间、各 通道上连接的外设之间都能实现并行操 作。与DMA方式类

12、似,也是一种以内存为中 心,实现设备与内存直接交换数据的控 制方式。不同于DMA的是,通道有自己 的通道指令,并设有通道控制器和自己 的指令执行机构。只要CPU发出通道启 动指令,指出通道相应的操作和I/O设 备,该指令就可启动通道并使通道从内 存调出相应的通道指令执行。优点:执行一个通道程序可以完成几批 I/O操作。 总结:简单对比四种io控制方式 程序控制方式:忙-等方式,即在处理器向设备 控制器发出一条io指令时,要不断循环测试 ,以测试的方式等待设备操作完毕,cpu花费 大量的时间用在设备io的等待上,cpu利用率 较低。 中断驱动io控制方式:通过中断方式来驱动, 当进程需要启动io

13、外设时,向外部设备发出 一条io指令后,立即返回继续执行后续任务 ,设备控制器按照要求控制外部设备,当io 操作完成后,设备控制器向cpu发出中断请求 ,让cpu进行处理。这种方式每传送完一项数 据中断cpu一次,对cpu的干扰还是相当频繁 的。DMA方式:这种方式一次可以传送一个 连续区域的数据,每传送完一个连续区 域就像cpu发出一次中断,与前两种方 式相比,该方式对cpu的干扰比较少。 Io通道方式:由通道程序控制,可以一 次传送多个不连续的区域的数据,当程 序执行结束时,也就是将控制的所有数 据传送完毕后才向cpu发送中断。所以 是效率最高的方式,主要用于大中型计 算机系统中。三、缓冲

14、管理 1、缓冲的引入 1)缓和cpu和io设备间速度不匹配的矛盾 2)减少中断cpu的次数,放宽对中断响 应的要求 3)提高cpu、通道和io设备之间的并行性 2、缓冲区及其管理缓冲的实现方式有两种:一种是采用硬件缓冲器实现,譬如说在 io控制器中的数据缓冲寄存器;另一种是在内存中划出一块存储区,专 门用来临时存放输入、输出数据,这个 数据叫做缓冲区。1)单缓冲 用户进程工作区缓冲区I/O设备输入传送设备和处理器之间设置一个缓冲区,CPU和外设轮流 使用,一方处理完之后接着等待对方处理。 Io设备和处理机交换数据时,先把被交 换的数据写入缓冲区,然后,需要数据 的设备或处理机从缓冲区取走数据。

15、由 于缓冲区属于临界资源,也就是不允许 多个进程同时对一个缓冲区进行操作, 因此,尽管单缓冲可以匹配设备和处理 机的处理速度,但是不能通过单缓冲达 到并行的目的。 2)双缓冲 用户进程工作区缓冲区I/O设备 缓冲区两个缓冲区,CPU和外设都可以连续处理而无需等 待对方。要求CPU和外设的速度相近。在双缓冲方案中,具体的做法是为输入 或输出操作设置两个缓冲区buffer1和 buffer2。输入时,输入设备先将数据 送入第一缓冲区,装满后转向第二缓冲 区,此时os可以从第一缓冲区中溢出数 据送用户进程区。双缓冲方式和单缓冲方式相比,虽然双 缓冲方式能进一步提高CPU和外设的并 行程度,并能使输入

16、设备和输出设备并 行工作,但是在实际系统中很少采用这 一方式,这是因为在计算机系统中的外 设很多,又有大量的输入和输出,同时 双缓冲很难匹配设备和CPU的处理速度 。因此现代计算机系统中一般使用环形 缓冲或缓冲池结构。 3)环形缓冲(circular buffer):多个缓冲区, CPU和外设的处理速度可以相差较大。 环形缓冲技术是在主 存中分配一组大小相 等的存储区作为缓冲 区,并将这些缓冲区 链接起来,每个缓冲 区中有一个指向下一 个缓冲的指针,最后 一个缓冲区的指针指 向第一个缓冲区,这 样n个缓冲区就成了 一个环形。 4)缓冲池由多个大小相等的缓冲区组成,与环形 缓冲不同的是池中每个缓冲区可供多个 进程共享,且既能用于输入,也能用户 输出。1)缓冲池的结构系统把各缓冲区按其使用状况分成三 个队列:a. 空白缓冲队列em,其队首、队尾指 针为F(em)、L(em);b. 装满输入数据的输入缓冲队列in,队 首队尾指针F(in)、L(in);c. 装满输出数据的输出缓冲队列out, 队首队尾指针F(out)、L(out).在缓冲池中有4种工作缓

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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