操作系统原理教程
第 5章 设备管理
本章教学目标
? 熟悉设备管理的主要功能
? 掌握输入输出控制的三种方式
? 掌握缓冲技术和 SPOOLing技术
? 掌握设备的分配
? 熟悉设备的处理
本章教学内容
? 设备管理概述
? 输入输出系统
? 设备分配与回收
? 设备处理
? 设备管理采用的技术
设备管理概述
? 设备管理的任务
? 设备管理的主要功能
? 设备的分类
设备管理的任务
? 是完成用户提出的 I/O请求,为用户分配
I/O设备,提高 CPU与 I/O设备的利用率,
提高 I/O设备的速度,方便用户使用 I/O设
备。
设备管理的主要功能
? 缓冲管理
– 是管理好各种类型的缓冲区,协调各类设备的工作速度,提高系统
的使用效率。其实现机制是采用不同类型的缓冲区机制。
? 设备分配
– 是根据用户提出的 I/O请求,为其分配所需要的设备。其实现机制是
配置设备控制表、控制器控制表等数据结构。
? 设备处理
– 是实现 CPU和设备控制器之间的通信。其实现机制是通过相应的处
理程序来实现。
? 虚拟设备
– 是把每次只允许一个进程使用的物理设备,改造为能同时供多个进
程共享的设备。
设备的分类
? 按设备的从属关系分类
– 可以把设备分为系统设备和用户设备
? 按操作特性分类
– 可以把设备分为存储设备和 I/O设备
? 按设备共享属性分类
– 可以把设备分为独享设备、共享设备和虚拟设备。
? 按信息交换单位分类
– 可以把设备分为块设备和字符设备。
输入输出系统
? I/O系统的结构
? I/O设备控制器
? I/O通道
? I/O系统的控制方式
I/O系统的结构
? 微机 I/O系统
– 微机的 I/O系统一般采用总线 I/O系统结构,
如图 5-1所示。
? 主机 I/O系统
– 具有通道的 I/O系统结构如图 5-2所示。其中,
I/O系统共分为 4级:最低级为 I/O设备,次低
级为设备控制器,次高级为 I/O通道,最高
级是主机。
I/O设备控制器
? 设备控制器的概念
– 设备控制器是 CPU与外围设备之间的接口,是一个
可编址设备,每一个地址对应一个设备。
? 设备控制器的功能
– 接收和识别命令
– 数据交换
– 设备状态的了解和报告
– 地址识别
? 设备控制器的组成
– 控制器都是由以下三部分组成的,如图 5-3所示。
I/O通道
? I/O通道的概念
– I/O通道是指专门负责输入输出工作的处理
机。
? I/O通道的分类
– 字节多路通道
– 数据选择通道
– 数组多路通道
I/O系统的控制方式
? 程序直接控制方式
? 中断控制方式
? 直接存储器存取控制方式
? 通道控制方式
程序直接控制方式
? 程序直接控制方式的概念
– 程序直接控制方式也称为“忙 —等待”方式,即在一个设备的操作没有
完成时,控制程序一直检测设备的状态,直到该操作完成,才能进行下
一个操作。
? 程序直接控制方式的步骤
– ① 当用户需要输入数据时, 由处理机向设备控制器发出一条 I/O指令,
启动设备进行输入 。 在设备输入数据期间, 处理机通过循环执行测试指
令不间断地检测设备状态寄存器的值, 当状态寄存器的值显示设备输入
完成时, 处理机将数据寄存器中的数据取出, 送入内存指定的存储单元,
然后再启动设备去读取下一个数据 。
– ② 当用户进程需要向设备输出数据时,也必须同样发出启动命令启动设
备输出,并等待输出操作完成。
? 程序直接控制方式的特点
– 工作过程简单,CPU的利用率低。
中断控制方式 1
?中断控制方式的概念
– 中断是指计算机在执行期间,系统内发生任何非寻
常的或非预期的急需处理事件,使得 CPU暂时中断
当前正在执行的程序而转去执行相应的事件处理程
序,待处理完毕后又返回原来被中断处继续执行或
调度新的进程执行的过程。
中断控制方式 2
? 中断控制方式的步骤
– ① 需要输入数据的进程, 通过 CPU发出启动指令, 启动外设输入
数据 。 该指令同时还将状态寄存器中的中断允许位打开 。
– ② 在进程发出指令启动设备之后, 该进程放弃处理机, 等待输入
完成 。 从而, 进程调度程序调度其他就绪进程占据处理机 。
– ③ 当输入完成时, I/O控制器通过中断请求线向 CPU发出中断信
号 。 CPU在接收到中断信号后, 转向设备中断处理程序 。 设备中
断处理程序将输入数据寄存器中的数据传输到某一特定内存单元
中, 以便供要求输入的进程使用 。 同时, 还把等待输入完成的那
个进程唤醒, 再返回到被中断的进程继续执行 。
– ④ 在以后的某个时刻,进程调度程序选中提出请求输入的进程,
该进程从约定的内存单元中取出数据做进一步处理。
中断控制方式 3
?中断控制方式的特点
– 中断控制方式比程序直接控制方式提
高了 CPU的利用率。
– 每输入输出一个数据都发生中断,传
输一次数据需要多次中断,浪费了
CPU的处理时间。
直接存储器存取控制方式 1
? 直接存储器存取控制方式的概念
– 是指对 I/O设备的控制由 DMA控制器完成,在
DMA控制器的作用下,设备和主存之间可以
成批地进行数据交换,而不用 CPU的干涉。
直接存储器存取控制方式 2
? 直接存储器存取控制方式的步骤
– ① 当进程要求设备输入一批数据时, CPU将设备存放输入数据
的内存始址以及要传送的字节数分别送入 DMA控制器中的地址
寄存器和传送字节计数器;另外, 还要将中断位和启动位置为 1,
以启动设备开始进行数据输入并允许中断 。
– ② 发出数据要求的进程进入等待状态, 进程调度程序调度其他
进程占据 CPU。
– ③ 输入设备不断地挪用 CPU工作周期, 将数据寄存器中的数据
源源不断地写入内存, 直到所要求的字节全部传送完毕 。
– ④ DMA控制器在传送字节数完成时, 通过中断请求线发出中
断信号, CPU收到中断信号后转中断处理程序, 唤醒等待输入
完成的进程, 并返回被中断的程序 。
– ⑤ 在以后的某个时刻,进程调度程序选中提出请求输入的进程,
该进程从指定的内存始址取出数据做进一步处理。
直接存储器存取控制方式 3
? 直接存储器存取控制方式的特点
– I/O数据传输速度快,CPU负担少。
– 在 DMA方式下,数据的传送方向、存放数
据的内存始址及传送数据的长度等都由 CPU
控制。每台设备需要配一个 DMA控制器。
通道控制方式 1
? 通道控制方式的概念
– 是一种以内存为中心,是设备与内存直接交
换数据的控制方式。 CPU只需要发出启动指
令,指出通道相应的操作和 I/O设备,该指
令就可以启动通道并使该通道从内存中调出
相应的通道指令执行。
通道控制方式 2
? 通道控制方式的步骤
– ① 当进程要求输入数据时, CPU发启动指令指明 I/O
操作, 设备号和对应通道 。
– ② 对应通道接收到 CPU发来的启动指令后, 把存放在
内存中的通道指令程序读出, 并执行通道程序, 控制
设备将数据传送到内存中指定的区域 。
– ③ 若数据传输结束, 则向 CPU发出中断请求 。 CPU收
到中断信号后转中断处理程序, 唤醒等待输入完成的
进程, 并返回被中断的程序 。
– ④ 在以后的某个时刻,进程调度程序选中提出请求
输入的进程,该进程从指定的内存始址取出数据做进
一步处理。
通道控制方式 3
? 通道控制方式的特点
– 通道所需要的 CPU干预更少。
– 一个通道可以控制多台设备。
– CPU 的利用效率高。
设备分配与回收
? 设备分配中的数据结构
? 设备分配应考虑的因素
? 设备分配
? 设备回收
? 对设备分配程序的改进
设备分配中的数据结构
? 设备控制表( DCT)
– 系统为每个设备配置一张设备控制表,用于记录设备的特性及 I/O
控制器连接的情况。
? 控制器控制表( COCT)
– 每个控制器配置一张表,它反映控制器的使用状态以及和通道的
连接状况等。
? 通道控制表( CHCT)
– 为每个通道配置一张表,它反映通道的使用状态。
? 系统设备表( SDT)
– 它记录已被连接到系统中的所有物理设备的情况,每个物理设备
占一个表目。整个系统配置一张。
? 如图 5-5所示
设备分配应考虑的因素
? 设备的使用性质
? 设备的分配算法
? 设备分配的安全性
? 设备的独立性
设备分配
? 步骤:
– 分配设备
? 如图 5-6所示 。
– 分配控制器
? 如图 5-7所示。
– 分配通道
? 如图 5-8所示。
设备回收
? 回收过程如图 5-9所示 。
对设备分配程序的改进
? 设备分配程序的两个特点
– 一是, 进程是以物理设备名来提出 I/O请求
的 。
– 二是,系统采用的是单通路的 I/O系统结构。
这样的系统容易产生“瓶颈”现象。
? 对设备分配程序的改进
– 增加设备的独立性
– 考虑多通路情况
设备处理
? 设备驱动程序的功能和特点
? 设备驱动程序的处理过程
设备驱动程序的功能和特点 1
? 设备驱动程序的功能
– 一是把抽象要求转化为具体要求。
– 二是检查用户 I/O请求的合法性,了解 I/O设备的状
态,传递有关参数,设置设备的工作方式。
– 三是发出 I/O 命令,启动分配到的 I/O设备,完成指
定的 I/O操作。
– 四是及时响应由控制器或通道发来的中断请求,并
根据其中断类型调用相应的中断处理程序进行处理。
– 五是对于设置有通道的计算机系统,驱动程序还应
根据用户的 I/O请求,自动地构成通道程序。
设备驱动程序的功能和特点 2
? 设备处理的方式
– 一是为每一类设备设置一个进程,它专门执
行这类设备的 I/O操作。
– 二是在整个系统中设置一个 I/O进程,专门
负责对系统中所有各类设备的 I/O操作。
– 三是不设置专门的设备处理进程,只为各类
设备设置相应的设备处理程序,供用户进程
或系统进程调用。
设备驱动程序的功能和特点 3
? 设备驱动程序的特点
– 一是驱动程序主要是在请求 I/O的进程与设
备控制器之间的一个通信程序。
– 二是驱动程序与 I/O设备的特性密切相关。
– 三是驱动程序与 I/O控制方式紧密相关。
– 四是驱动程序与硬件紧密相关,其部分被固
化在 ROM 中。
设备驱动程序的处理过程
? 将抽象要求转化为具体要求
? 检查 I/O请求的合法性
? 读出和检查设备的状态
? 传送必要的参数
? 设置工作方式
? 启动 I/O 设备
设备管理采用的技术
? 缓冲技术
? 中断技术
? 假脱机技术
缓冲技术 1
? 引入缓冲的主要原因
– 缓和 CPU与 I/O设备间速度不匹配的矛盾
– 减少对 CPU的中断频率,放宽对中断响应时
间的限制
– 提高 CPU与 I/O设备间的并行性
缓冲技术 2
? 对缓冲区的理解
– ① 缓冲是提高 CPU与外设并行程度的一种技术 。
– ② 凡是数据来到速度和离去速度不同的地方都可以
使用缓冲区 。 如 CPU与内存之间有高速缓存 ( Cache
Memory), 主存与显示器之间有显示缓存, 主存与
打印机之间有打印缓存等等 。
– ③ 缓冲的实现方式有两种:一是, 采用硬件缓冲器
实现;二是, 在内存划出一块区域, 专门用来存放
临时输入输出的数据, 这个区域称为缓冲区 。
– ④根据系统设置缓冲区的个数,将缓冲技术分为:
单缓冲、双缓冲、循环缓冲、缓冲池。
缓冲技术 3
? 缓冲技术分类
– 单缓冲
? 概念、工作原理、特点 如图 5-11所示。
– 双缓冲
? 概念、工作原理、特点 如图 5-12所示。
– 循环缓冲
? 概念、工作原理、特点 如图 5-13所示。
– 缓冲池
? 概念、工作原理、特点 如图 5-14所示。
中断技术
? 中断的概念
? 中断的类型
? 中断的响应
? 中断的处理
中断的概念
? 中断是由于某些事件的出现,中止现行进程的
执行,而转去处理出现的事件,中断事件处理
完后,再继续运行被中止进程的过程。
? 在这里引起中断的事件称为中断源。中断事件
通常由硬件发现。
? 对出现的事件进行处理的程序称为中断处理程
序。中断处理程序是由操作系统处理的,属于
操作系统的组成部分。
中断的类型
? 硬件故障中断
– 是由于机器故障造成的中断 。 如电源故障, 主存出错 。
? 程序中断
– 是由于程序执行到某条机器指令时可能出现的各种问题而引起的
中断 。 如:发现定点操作数溢出, 除数为 0,地址越界等等 。
? 外部中断
– 是由各种外部事件引起的中断 。 如按压了中断键, 定时时钟时间
到 。
? 输入输出中断
– 是输入输出控制系统发现外围设备完成了输入输出操作或在执行
输入输出时通道或外围设备产生错误而引起的中断 。
? 访管中断
– 是正在运行的进程执行访管指令时引起的中断。如分配一台外设。
中断的响应
? 概念
– 在处理器执行完一条指令后,硬件的中断装
置就立即检查有无中断事件发生,若有,则
停止现行进程,由操作系统中的中断处理程
序占用处理器,这一过程称为“中断响应”。
?
中断的处理
? 中断处理过程如图 5-15所示 。
– ① 当中断装置发现中断事件后, 先把中断事件存放
到程序状态字寄存器中的中断码位置 。
– ② 把程序状态字寄存器中的, 当前 PSW”作为, 旧
PSW”保存到预先约定的主存的固定单元中 。
– ③ 根据中断码, 把该类事件处理程序的, 新 PSW”
送入程序状态字寄存器 。
– ④ 处理器就会按新 PSW控制处理该事件的中断处理
程序执行 。
– 当中断程序处理完后,再恢复现场,继续执行原先
被中断的进程。
假脱机技术
? 假脱机的概念
? 假脱机技术的组成
? 假脱机技术的特点
假脱机的概念
? SPOOLing技术
– 就是用于将一台独占设备改造成共享设备的
一种行之有效的技术。当系统中出现了多道
程序后,可以利用其中的一道程序,来模拟
脱机输入时的外围控制机的功能,把低速
I/O设备上的数据传送到高速磁盘上;再用
另一道程序来模拟脱机输出时外围控制机的
功能,把数据从磁盘传送到低速输出设备上。
这样,便可在主机的直接控制下,实现脱机
输入、输出功能。
假脱机技术的组成
? 假脱机技术由
– 输入井和输出井
– 输入缓冲区和输出缓冲区
– 输入进程和输出进程
– 请求打印队列组成
? 如图 5-16所示
假脱机技术的特点
? ① 提高了 I/O 速度 。 SPOOLing技术引入了输入井和输
出井, 可以使输入进程, 用户进程和输出进程同时工
作, 提高了 I/O 速度 。
? ② 将独占设备改造为共享设备 。 由于 SPOOLing技术把
所有用户进程的输出都送入输出井, 然后再由输出进
程完成打印工作, 而输出井在磁盘上, 为共享设备 。
这样 SPOOLing技术就把打印机等独占设备改造为共享
设备 。
? ③实现了虚拟设备功能。由于 SPOOLing技术实现了多
个用户进程共同使用打印机这种独占设备的情况,从
而实现了把一个设备当成多个设备来使用的情况,即
虚拟设备的功能。
本章小结
? 设备管理的主要任务是分配 I/O设备。
? 主要目的是提高 I/O设备的使用效率。
? 它的主要功能有:缓冲管理、设备分配、设备处
理和虚拟设备等。
? 熟悉和掌握以下基本知识:
– 1.设备的概念 2,I/O系统
– 3.设备控制器 4,I/O通道
– 5,I/O系统的控制方式 6.设备分配采用的数据结构
– 7.设备处理 8.设备管理采用的技术
习 题
? 一、单项选择题
– 1—20题
? 二、填空题
– 1—10题
? 三、判断题
– 1—10题
? 四、名词解释
– 1—10题
? 五、简答题
– 1—10题