第七章操作系统课件
2013-7-20 7
CPU可连接若 干通道并用I/O 指令控制通道
通道可连接若 干设备控制器 并用通道指令 控制它们
设备1 设备控制器1 设备2 设备控制器2 设备3 设备4
通道1 主机 通道2
设备控制器3
图5-3 系统中的三级控制示意图
设备控制器可连 接若干设备并发 出动作序列来控 制它们执行相应 的I/O操作
2013-7-20
28
通道控制方式与DMA方式类似,也是一种内存和设 备直接进行数据交换的方式。 与DMA方式不同的是,在通道控制方式中,数据传 送方向存放数据的内存始址及传送的数据块长度均 由一个专门负责输入/输出的硬件——通道来控制。 另外,DMA方式每台设备至少需要一个DMA控制 器,而通道控制方式中,一个通道可控制多台设备 与内存进行数据交换。
2013-7-20
4
用于识别每个设备 的地址,译码
外部设备 控 制 器 控 制 逻 辑
接收CPU发来的命令
控制寄存器
状态寄存器 数据寄存器
CPU
设备 执行 部件
记录设备的状态 (如设备就绪、 设备忙、操作错 误等)供CPU了解
实现控制器与CPU 之间、控制器和外 设之间的数据交换 图5-1 I/O控制结构示意图
CPU的利用率得到提高。
2013-7-20
18
缺点:
CPU在响应中断后,还需要时间来执行中断服
务程序。 每次中断都要保存现场信息,恢复现 场等,仍占用CPU时间。如果数据量大,需要 多次执行中断程序,CPU的效率仍然不高。
另外,此方式要求CPU与设备( 或控制器)之 间有相应的中断请求线,设备控制器的控制寄 存器中要设置相应的中断允许位。
2013-7-20
19
5.2.3 DMA方式/直接存储器存取方式
中断控制方式只能以字(或字节)为单位进行数据 传输,每完成一个字的传输,控制器要向CPU请求 一次中断。对于高速的块设备不适合。 为了减少CPU对I/O的干预,目前在块设备(如 磁盘)的传输系统中,都普遍采用了直接存储器 存取方式,即DMA方式。
使用特性
数据传输率
数据传输单位
从属关系
设备共享属性
1)字符设备 2)块设备
2013-7-20
1)高速设备 2)中速设备 3)低速设备
3
7.1.2 设备控制器
是CPU与I/O设备的接口。 作用:它接收来自CPU发来的命令,去控制I/O 设备工作,使CPU从繁忙的设备控制事务中解脱 出来。 设备只有在设备控制器的控制下才能运行;
2013-7-20
11
CPU
发送启动设备命令
外设
接收命令启动设备
否
设备准备好?
数据传输准备
否
设备准备好?
是
执行传输数据命令
是
接收命令传输数据
图5-4 程序直接控制方式工作流程图
2013-7-20 12
分析:
由于CPU的速度远高于设备I/O的速度,使 得CPU绝大部分时间都处于等待I/O完成的 问题: 循环测试中。显然,这是对CPU的极大浪 CPU和外围设备只能串行工作; 费。 CPU等待时间长,系统并行性差
2013-7-20 15
②
③ ④
中断输入/输出方式——以键盘输入为例
(1)开中断。CPU把启动位和中断允许位为1的控制字写入键 盘控制状态寄存器中,启动键盘。(当中断允许位为1时, 中断程序可以被调用。) (2)当前进程等待键盘输入完成(进入等待队列),由进程 调度程序调度其他就绪进程使用CPU。 (3)键盘启动后,当数据寄存器装满后,键盘控制器通过中 断请求线向CPU发出中断信号。 (4)CPU暂停正在进行的工作,转向执行中断处理程序。(取 出数据寄存器中的输入数据送到内存特定单元,并将等待输 入完成的进程唤醒。) (5)中断处理程序完毕,CPU返回断点继续执行。 (6)以后某个时刻,进程调度程序选中正处于就绪状态的那 个进程,该进程从特定内存单元中取出所需的数据继续工作。
2013-7-20 23
CPU
发送启动设备命令 开中断,I/O初始化 当前进程等待 调度并执行其它进程
外设
接收命令启动设备 数据传输准备 DMA向内存 发出询问请求 访问内存进行读写 修改内存地址和计数
中断处理
否
数据块结束?
继续被中断进程
是(一批数据传送完毕)
设备控制器发出中断信号
图5-6 DMA方式工作流程图
2013-7-20
29
通道工作过程
(1)当进程要求设备输入时,CPU发指令指明I/O操作、设 备号和对应通道。 (2)对应通道收到CPU发来的启动指令后,读出内存中的通 道指令程序、设置对应设备的控制状态寄存器的初值。 (3)设备按通道指令的要求,把数据送往内存指定区域。 (4)若传送结束,I/O控制器通过中断请求线发中断信号请 求CPU做中断处理。 (5)中断处理结束后,CPU返回到被中断进程处继续执行。 (6)当进程调度程序选中这个已得到数据的进程后,才能进 行加工处理。
2013-7-20
25
(3)每传送一个数据并不产生中断,只有 DMAC中的传送字数计数器减1至0时,也 就是本次DMA传送的数据全部传送完毕时, 才产生中断,请求CPU进行结束处理。
2013-7-20
26
DMA方式只能完成简单的数据传送、 计数、内存地址加1或减1等操作,不 在大中型计算机系统中,普 遍采用的是由专用的I/O处理 能满足复杂的I/O操作要求。
引起中断发生的事件就称为中断源。
中断源向CPU发出的请求中断处理信号称为中断请求。
CPU收到中断请求后,中断正在运行的程序并转向相
应的事件处理程序称为中断响应。
相应的事件处理程序称为中断服务程序。
执行中断服务程序的过程称为中断处理。
-7-20
14
思想:
①
CPU发出启动I/O设备的命令后,不用查询设备是 否就绪,而是继续执行当前进程或调度其它进程 运行。 当设备完成I/O操作后,向CPU发出I/O中断请求 (主动向CPU报告),CPU响应后,中断当前进 程转至I/O中断处理程序执行。处理I/O中断,从 I/O接口中把数据取到内存。(以字(或字节)为 单位进行数据传输,每完成一个字的传输,控制器要 向CPU请求一次中断。) 在中断处理程序中,CPU全程参与数据传输操作。 中断处理程序结束后,返回中断处继续执行。
2013-7-20 16
CPU
发送启动设备命令 开中断 当前进程等待 调度并执行其它进程
外设
接收命令启动设备 数据传输准备
设备准备好?
否
是
中断处理 继续被中断进程 设备控制器发中断信号
图5-5 中断控制方式工作流程图
2013-7-20 17
优点:
无需反复查询测试I/O的准备情况; 可实现 CPU 和I/O设备间的部分并行;
2013-7-20
20
DMA(Direct Memory Access)方式
在外部设备和主存之间建立了直接数据通路, 即外设和主存之间可直接读写数据,且数据传 送的基本单位是数据块。 整块数据的传输在DMA控制器的控制下完成。 DMA数据传输期间不需CPU干预,仅在传送一 个或多个数据块的开始或结束时,才需CPU中 断的处理。 最后归还CPU的总线控制权。
2013-7-20
21
CPU 数据线 主存 地址线 DMA 控制器 控制线 I/O 设备
图5-6 DMA控制方式
2013-7-20
22
DMA方式/直接内存存取控制方式的步骤:
① 当进程要求设备输入一批数据时,CPU将设备地址、设备存 放输入数据的内存始址以及要传送的字节数分别送入DMA控 制器;另外,启动设备开始进行数据输入并开中断。 ② 发出数据要求的进程进入等待状态,进程调度程序调度其他 进程占据CPU。
第七章 设备管理
2013-7-20
1
第七章 设备管理
7.1 设备管理概述 7.2 I/O控制方式 7.3 设备管理技术 7.4 设备的分配
7.5 I/O软件
7.6 实用系统中的设备驱动程序
2013-7-20 2
7.1 设备管理概述
7.1.1 设备及其分类
1)存储设备 2)I/O设备 1)系统设备 2)用户设备 1)独占设备 2)共享设备 3)虚拟设备
③ 输入设备将数据寄存器中的数据源源不断地写入内存,直到 所要求的字节全部传送完毕。 ④ DMA控制器在传送字节数完成时,通过中断请求线发出中断 信号,CPU收到中断信号后转中断处理程序,唤醒等待输入完 成的进程,并返回被中断的程序。 ⑤ 在以后的某个时刻,进程调度程序选中提出请求输入的进程, 该进程从指定的内存始址取出数据做进一步处理。
I/O 控制器 I/O 控制器
它分时地为多台外围设备服务, I/O 控制器 I/O 控制器 I/O 控制器 I/O 控制器 每个时间片传送一个数据块。 可以同时连接多台高速存储设 备,因此,它能够充分发挥高 I/O I/O I/O I/O 速通道的数据传输能力。
2013-7-20
I/O
I/O
9
5.2 I/O控制方式
机来管理外设和内存之间的 信息交换,这就是通道技术。 可以把通道看成一个比 DMAC功能更强的接口设备。
2013-7-20
27
5.2.4 通道方式
通道的引入是为了建立独立的I/O操作。它不仅 要求数据传送独立于CPU,而且要求I/O操作的 组织、管理、结束等也尽量独立,以保证CPU有 更多的时间从事计算。这样就可以实现CPU计算 和I/O操作的并行工作。 通道有很强的I/O处理能力。它接受CPU的委托, 独立地执行自己的通道程序来实现内存与外设之 间的数据传输。 当CPU委托的I/O任务完成后,通道发出中断,请 求CPU进行结束处理。