第九章 设备管理
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
冲寄存器之外,DMA控制器中还包括传送字节计数器、 内存地址寄存器等。
CPU 数据线 主存 地址线 DMA 控制器 控制线 I/O 设备
DMA控制方式
DMA方式的数据输入处理过程如下: (1) CPU 把准备存放输入数据的内存始址以及要传送的字节 数分别送入 DMA 控制器中的内存地址寄存器和传送字节 计数器;另外,还把控制状态寄存器中的中断允许位和 启动位置1;从而启动设备开始进行数据输入。 (2) 发出数据要求的进程进入等待状态,进程调度程序调度 其他进程占据CPU。 (3) 当输入设备把一个数据送入DMA控制器的数据缓冲寄存 器后, DMA 控制器立即取代 CPU ,接管地址总线的控 制权,根据送入DMA控制器的内容,将数据送入相应的 内存单元(这称为挪用(窃取)CPU工作周期),直到 所要求的字节全部传送完毕。 (4) DMA 控制器在传送字节数完成时通过中断请求线发出 中断信号,CPU在接收到中断信号后转中断处理程序进 行善后处理。 (5) 中断处理结束时,CPU返回被中断进程处执行或被调度 到新的进程上下文环境中执行。
3.设备驱动程序Βιβλιοθήκη 处理过程 (1)将抽象要求转换为具体要求(控制器中寄存 器内容)。 (2)检查I/O请求的合法性。 (3)检查设备状态。读状态寄存器内容,看设备 忙/闲状态。 (4)传送必要的参数。 ( 5 )启动 I/O 设备。向设备控制器中的命令寄存 器传送控制命令,将外设启动,然后可由设备控 制器来控制外设进行基本I/O操作。 不同类型的外设,驱动程序是不一样的。
中断方式的传送结构
中断方式——以键盘输入为例
(1)开中断。CPU把启动位和中断允许位为 1的控制 字写入键盘控制状态寄存器中,启动键盘。 (当中断
允许位为1时,中断程序可以被调用。)
(2)进程等待键盘输入完成(进入等待队列),由进程调 度程序调度其他就绪进程使用CPU。 ( 3 )键盘启动后,当数据寄存器装满后,键盘控制 器通过中断请求线向CPU发出中断信号。 ( 4 ) CPU 暂停正在进行的工作,转向执行中断处理 程序。(取出数据寄存器中的输入数据送到内存特定单元,并将等待
第9章 设备管理
设备管理是对计算机输入 输出系统的管理,是操作系统 中最具多样性和复杂性的部分。 本章主要讨论设备管理的基本 概念,包括中断、缓冲、设备 分配和控制等。
9.1 引言 9.7设备标识与设备驱动程序 9.2 数据传送控制方式 9.3 中断技术 9.4 缓冲技术 9.5 设备分配 9.6 I/O进程控制 本章小结
程序直接控制方式的控制流程图
程序直接控制方式的缺点: (1)CPU和外围设备只能串行工作。
(2)CPU在一段时间内只能和一台外围设备交换数据 信息,从而不能实现设备之间的并行工作;
(3) 由于程序直接控制方式依靠测试设备标志触发 器的状态位来控制数据传送,因此无法发现和处理 由于设备或其他硬件所产生的错误。
式:
9.2.1 程序直接控制方式 9.2.2 中断方式 9.2.3 DMA方式(直接存取方式)
9.2.4 通道控制方式(channel control)
9.2.1 程序直接控制方式
程序直接控制方式:由用户进程来直接控制
内存或 CPU 和外围设备之间的信息传送。控 制者是用户进程。
I/O控制器中的寄存器
中断方式:数据传送在中断处理时由CPU控制完
DMA方式的缺点:
DMA方式对外围设备的管理和某些操作仍由CPU
控制。 大中型计算机中,系统所配置的外设种类越来越 多,数量也越来越大,对外围设备的管理的控制 也就愈来愈复杂。
9.2.4 通道控制方式 (channel control)
1.通道的概念 2.通道的种类 3.通道控制方式的数据传输处理过程 4.通道方式与DMA方式的区别
9.2 数据传送控制方式
选择和衡量控制方式的原则:
(1) 数据传送速度足够高,能满足用户的需要但
又不丢失数据;
(2)系统开销小,所需的处理控制程序少; (3) 能充分发挥硬件资源的能力,使得 I/O设备尽
量忙,而CPU等待时间少。
9.2 数据传送控制方式
4 种外设和内存间常用的数据传送控制方
2.设备独立性
设备独立性也称为设备无关性,指用户编程时所使 用的设备与实际使用的设备无关,用户编程时使用 逻辑设备名。
用户程序以逻辑设备名来请求使用某类设备时,系统将
在该类设备中,根据设备的使用情况,将任一台合适的 物理设备分配给该程序。
如果用户程序是以物理设备名来请求指定某台设备,假
如该设备有故障或正在被其他进程使用,则用户程序只 能一直等待。
输入完成的进程唤醒。)
(5)中断处理程序完毕,CPU返回断点继续执行。 ( 6 )以后某个时刻,进程调度程序选中正处于就绪 状态的那个进程,该进程从特定内存单元中取出所 需的数据继续工作。
图9.4 中断控制方式的处理过程 中断控制方式的处理过程
中断方式的优点:
CPU 不需等待数据传输完成, I/O 设备与 CPU
1.设备控制器
外设 机械部件 电子部件
独立出来
设备控制器
设备只有在设备控制器的控制下才能运行, 且一个控制器可以控制几台同类设备。 CPU
记录设备的状态 (如设备就绪、 设备忙、操作错 用于识别每个设备 误等)供CPU了 的地址 解
设备控制器
控制寄存器、 数据寄存器、 状态寄存器、 地址译码器等
设备
1. 控制状态寄存器:设有多个标志位,如忙 /
闲标志位、完成位 2.数据缓冲寄存器
程序直接控制方式——以键盘为例
1、CPU向键盘的控制器发一条输入命令,启动键盘 进行输入操作,并将状态寄存器的”忙/闲位” 置1,表示忙。 2、然后CPU运行程序不断测试状态寄存器的完成位, 看键盘是否完成了输入。直到键盘已将数据输入 到了键盘控制器的数据寄存器中,状态寄存器的 完成位变为1时,CPU才停止测试。 3、CPU取走数据寄存器中的输入数据。 目前 IDE 接口硬盘仍在使用这种方式,称为 PIO (Programming Input/Output)模式。
3.设备独立性的优点
(1)方便用户编程。 (2)便于程序移植。 (3)提高了资源利用率。 (4)能适应多用户多进程的需要。
设备驱动程序
设备驱动程序:是驱动物理设备直接进行 各种操作的软件,它可看作I/O系统和物理 设备的接口,所有进程对于设备的请求都 要通过设备驱动程序来完成。
1.设备控制器 2.设备驱动程序的引入 3.设备驱动程序的处理过程
(3) 实现设备和设备、设备和CPU等之间的并
行操作。
(4) 进行缓冲区管理。
9.7 设备标识与设备驱动程序
逻辑设备与物理设备
1.逻辑设备和物理设备的含义 2.设备独立性 3.设备独立性的优点
1.逻辑设备和物理设备的含义
逻辑设备
逻辑设备是对实际物理设备属性的抽象,它并不限于某
个具体设备。
在外部设备和主存之间建立了直接数据通路,
即外设和主存之间可直接读写数据,且数据传 送的基本单位是数据块。 下完成。
整块数据的传输在一个称为DMA控制器的控制
DMA数据传输期间不需CPU干预,仅在传送一
个或多个数据块的开始或结束时,才需CPU处 理。
在 DMA 方式中, I/O 控制除了控制状态寄存器和数据缓
按信息组织方式分类
字符设备:键盘、终端、打印机等以字符为单位
组织和处理信息的设备被称为字符设备;
块设备:磁盘、磁带等以字符块为单位组织和处
理信息的设备被称为块设备。
9.1.2 设备管理的功能和任务
设备管理的主要任务:
选择和分配输入输出设备以进行数据传输操作; 控制输入输出设备和 CPU (或内存)之间交换数
据; 为用户提供友好的透明接口,把用户和设备硬件 特性分开,使得用户在编制应用程序时不必涉及 具体设备,系统按用户要求控制设备工作; 提高设备和设备之间、 CPU 和设备之间,以及进 程和进程之间的并行操作度,以使操作系统获得 最佳效率。
9.1.2 设备管理的功能和任务
设备管理的功能:
(1) 提供和进程管理系统的接口。 (2) 进行设备分配。
用户在编程时,不用关心系统具体配置了哪些设备,也
不需要了解各种设备的物理特性,而只要按照惯例为所 用到的设备起个逻辑名字,称为逻辑设备名。
物理设备
物理设备是一个具体的设备。 系统为了能识别全部外设,给每台外设分配一个唯一不
变的名字,称为物理设备名。
通过引入逻辑设备和物理设备,可实现设备独立性。
程序直接控制方式只适用于那些CPU执行速度较慢,
而且外围设备较少的系统。
9.2.2 中断方式
CPU请求设备传输后不等待,转去做其他更有用的 事情,当设备完成请求的时候向CPU发设备中断。 (系统中同一时刻可能有许多设备的请求在同时发 生。) 所谓中断,就是指当某个事件发生时,向系统发出 一个中断信号,系统于是中止现行程序的运行,转 去执行相应的中断处理程序,完毕后返回断点继续 执行。 需要在CPU和每一个设备控制器之间增加一条中断 请求线,并在设备控制器的控制寄存器中增加一个 中断允许位。
采用逻辑设备名,可以使用户程序独立于分配给它的某
类设备的具体设备。
2.设备独立性
使用逻辑设备名,还能使用户程序独立于所使用的 某类设备。
例如,在Linux系统环境下,系统提供标准输入/输出,在
用户程序中的输入/输出都使用这两个标准的I/O,实际运 行时,可根据具体情况而定。如果配备打印机,可将输 出信息送到打印机打印;如果没有配备打印机,就把输 出重定向到某个指定文件,把要打印的信息送到该文件 中。
9.1.1 设备的类别
按设备的从属关系分类
系统设备:在操作系统生成时就已配置好的各种
标准设备。如,键盘、打印机以及文件存储设备 等。
用户设备:在系统生成时没有配置,而由用户自
己安装配置后由操作系统统一管理的设备。如, 网络系统中的各种网卡、图像处理系统的图像设 备等。
9.1.1 设备的类别
1.通道的概念
通道是一个独立于CPU的专管输入/输出控 制的处理机,它控制设备与内存直接进行数 据交换。 通道有自己的一套简单的指令系统,称为通 道指令。每条通道指令规定了设备的一种操 作,通道指令序列便是通道程序,通道执行 通道程序来完成规定动作。
1.通道的概念
通道的定义:通道是一个独立于 CPU 的专管 输入输出控制的处理机,它控制设备与内存 直接进行数据交换。它有自己的通道指令, 这些通道指令受 CPU 启动,并在操作结束时 向CPU发中断信号。
图9.6 DMA方式的 数据传送处理过程
DMA方式与中断方式的主要区别(优点):
中断方式:在数据缓冲寄存器满之后发中断要求
CPU进行中断处理;DMA方式:在所要求转送的 数据块全部传送结束时要求CPU进行中断处理。 大大减少了CPU进行中断处理的次数。 成;DMA方式:在DMA控制器的控制下不经过 CPU控制完成。
并行工作,CPU的利用率因此提高。
中断方式的缺点:
在一次数据传送过程中,发生中断次数较多。
如果数据量大,需要多次执行中断程序,CPU 的效率仍然不高。 如果外围设备的速度也非常高,则可能造成数 据缓冲寄存器的数据由于CPU来不及取走而丢 失。
9.2.3 DMA方式(直接存取方式)
DMA(Direct Memory Access)方式:
接收和识别CPU发 实现控制器与CPU 来的命令 之间、控制器和外 设之间的数据交换
2.设备驱动程序的引入
将用户命令中的逻辑设备名转换为物理设备名,系 统只是完成了第一步工作,至于要具体操纵这台物 理设备,就复杂多了。 操作系统设计者把与物理设备直接有关的软件部分 独立出来,构成设备驱动程序系列,一般由设备商 和软硬件开发商提供的针对某一种具体设备的驱动 程序组成。 系统和用户可根据需要,灵活配置物理设备,选择 相应的驱动程序装载。
9.1 引 言
计算机系统中,除了CPU和内存之外,其他 的大部分硬设备称为外部设备。它包括常 用的输入输出设备、外存设备以及终端设 备等。
9.1.1 设备的类别 9.1.2 设备管理的功能和任务
9.1.1 设备的类别
从系统管理的角度分类: 按使用特性分类
按从属关系分类
按信息组织方式分类
图9.1 按使用特性对外部设备的分类