操作系统原理(设备管理)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009-4-7 28
DMA方式的特点
优点:
大大提高了CPU利用率
不会造成大量外设并发操作时CPU来不及处理或外设与
CPU速度不匹配带来的数据丢失问题。
局限性:
DMA方式对外设的管理和某些操作仍由CPU控制。
多个DMA控制器的同时使用会引起内存地址的冲突并使
控制过程进一步复杂化。 多个DMA控制器同时使用不够经济。
2009-4-7 20
中断控制方式的处理过程
外围设备 接收到start命令 准备数据并将其 置入缓冲寄存器 否
CPU
向外设发start命令 将中断允许位置1 调度其他进程 其他进程执行 否 收到中断信号了吗? 是 中断处理 被中断进程执行 (b)
缓冲寄存器满吗?

控制器发中断信号
(a)
中断控制方式的特点
2009-4-7
22
9.2.3 DMA方式
DMA方式又称直接存储器存取(direct memory access)方式。 基本思想:在内存和外设之间开辟直接的数据交 换通路。 DMA控制器中除了控制状态寄存器和数据缓冲寄 存器外,还包括传送字节计数器、内存地址寄存 器等。 DMA方式挪用CPU的一个工作周期把数据从缓 冲寄存器中直接送到内存地址寄存器中所指向的 内存区域中。
2009-4-7
13
9.2.1 程序直接控制方式
过程描述:
当用户进程需要数据时,它通过CPU发出启动外设准
备数据的命令“start”,然后,用户进程进入测试等 待状态。 在等待时间内,CPU不断地用一条测试指令检查描述 外围设备工作状态的控制状态寄存器,而外围设备只 有将数据传送的准备工作做好后,才将该寄存器置为 完成状态。 当CPU检测到控制状态寄存器的“Done”信号之后, 设备开始往内存或CPU传送数据。
操作系统ቤተ መጻሕፍቲ ባይዱ理
张德海
E-mail:dhzhang@ynu.edu.cn 2009年4月7日
2009-4-7 1
第九章 设备管理
9.1 引言 9.2 数据传送控制方式 9.3 中断技术 9.4 缓冲技术 9.5 设备分配 9.6 I/O进程控制 9.7 设备驱动程序
2009-4-7 2
9.1 引言
计算机外部设备 在计算机系统中除 CPU 和内存储器外所有的设 备和装置称为计算机外部设备(外围设备、 I/O 设备)。 早期设备:速度慢,应用面窄,如纸带、卡片等。 现代设备:种类繁多、特性各异、操作复杂。如: 硬盘、打印机、扫描仪、数码相机等。
2009-4-7
17
9.2.2 中断方式
为了减少直接控制方式中CPU等待时间以及 提高系统的并行工作程度,中断(interrupt) 方式被用来控制外围设备和内存与CPU之间 的数据传送。 这种方式要求CPU与设备(或控制器)之间 有相应的中断请求线,而且在设备控制器的控 制状态寄存器中有相应的中断允许位。
15
程序直接控制方式
外围设备 接收到start命令 做接收或发送数据准备 否 是 标志触发器 为Done? 否 等待 执行下条指令 开始数据传送 (b) CPU 发start命令
准备完毕? 是
标志触发器置“Done” 等待CPU来的下条指令 (a)
程序直接控制方式的特点
优点:实现简单,硬件支持少。 缺点:
2009-4-7 8
9.1.2 设备管理的功能和任务
(1)选择和分配输入输出设备以便进行数据传输操作; (2)控制输入输出设备和CPU(或内存)之间交换数据;
设备管理的任务:
(3)为用户提供一个友好的透明接口,把用户和设备硬
件特性分开,使用户在编应用程序时不必涉及到具体设备, 系统按用户要求控制设备工作。另外这个接口还为新增加 的用户设备提供一个和系统核心相连接的入口,以便用户 开发新的设备管理程序; (4)提高设备和设备之间、CPU和设备之间,以及进程 和进程之间的并行操作度,使操作系统获得最佳效率。
2009-4-7
29
9.2.4 通道控制方式
通道控制方式与DMA方式相类似,也是一种以内 存为中心,实现设备和内存直接交换数据的控制 方式。 与DMA方式的不同点:
在DMA方式中,数据的传送方向、存放数据的内存始
址及传送数据块的长度均由CPU控制,而在通道方式 中,这些都由通道来控制。 DMA方式下,每台设备至少一个DMA控制器,而通道 方式下,一个通道控制多台设备与内存进行数据交换, 从而通道方式进一步减轻了CPU的压力,提高了计算 机系统操作的并行度。
优点:
CPU在进程上下文中执行时,也可以启动不同的设备
启动指令和允许中断指令,从而做到设备与设备之间 和设备与CPU之间的并行操作,提高了CPU的利用率。
缺点:
1. 由于在I/O控制器的数据缓冲寄存器装满后将会发生
中断,而且数据缓冲寄存器通常较小,在一次数据传 送过程中可能发生多次中断。 2. 当较多外围设备并行操作时,由于中断次数急剧增 加而造成CPU无法响应中断和出现数据丢失现象。 3. 当外围设备的速度非常高时,可能造成数据缓冲寄 存器的数据由于CPU来不及取走而丢失。
2009-4-7
3
9.1.1 设备的类别
按交互对象分类: 人机交互设备:视频显示设备、键盘、鼠 标、打印机 与计算机或其他电子设备交互的设备:磁 盘、磁带、传感器、控制器 计算机间的通信设备:网卡、调制解调器
2009-4-7
4
9.1.1 设备的类别(续)
按使用特性分类:
存储设备 输入输出设备 终端设备 脱机设备
2009-4-7 11
9.2 数据传送控制方式
外围设备和内存之间常用的数据传送控制 方式有以下4种:
(1)程序直接控制方式 (2)中断控制方式 (3)DMA方式 (4)通道方式
2009-4-7
12
9.2.1 程序直接控制方式
程序直接控制方式(programmed direct control)就是由用户进程来直接控制内存 或CPU和外围设备之间的数据传送。 控制者:用户进程
2009-4-7 24
DMA存取方式的结 构
I/O设备: 数据
CPU
DMA控制器
内存
中断位 启动位 控制状态寄存器 数据缓冲寄存器 传送字节数计数器 内存地址寄存器
DMA方式下的数据输入过程
(1)当进程要求设备输入数据时,CPU把准备存放输入 数据的内存始址以及要传送的字节数分别送入DMA控制 器中的内存地址寄存器和传送字节计数器;另外,还把控 制状态寄存器中的中断允许位和启动位置1;从而启动设 备开始进行数据输入。 (2)发出数据要求的进程进入等待状态,进程调度程序 调度其他进程占据CPU; (3)输入设备不断地挪用CPU工作周期,将数据缓冲寄 存器中的数据源源不断地写入内存,直到所要求的字节全 部传送完毕。 (4)DMA控制器在传送字节数完成时通过中断请求线发 出中断信号,CPU在接收到中断信号后转中断处理程序进 行善后处理。 (5)中断处理结束时,CPU返回被中断进程处执行或被 调度到新的进程上下文环境中执行。
按从属关系分类:系统设备和用户设备 系统设备:在操作系统生成时就已配置好 的设备,如键盘、打印机及磁盘等 用户设备:由用户自己安装配置后由操作 系统统一管理的设备,如网络板、调制解 调器、图像设备等。
2009-4-7
7
9.1.1 设备的类别(续)
按信息交换的单位分类: 块设备(Block Device):指以数据块为单位来组织和传 送数据信息的设备。这类设备用于存储信息,有磁盘和磁 带等。它属于有结构设备。典型的块设备是磁盘,每个盘 块的大小为512B~4KB,磁盘设备的基本特征是:①传 输速率较高,通常每秒钟为几兆位;②它是可寻址的,即 可随机地读/写任意一块;③磁盘设备的I/O采用DMA方 式。 字符设备(Character Device):指以单个字符为单位来 传送数据信息的设备。这类设备一般用于数据的输入和输 出,有交互式终端、打印机等。它属于无结构设备。字符 设备的基本特征是:①传输速率较低;②不可寻址,即不 能指定输入时的源地址或输出时的目标地址;③字符设备 的I/O常采用中断驱动方式。
(1)CPU与外设只能串行工作。CPU利用率低。 (2)CPU在一段时间内只能和一台外围设备交换数据
信息,从而不能实现设备之间的并行工作。 (3)由于程序直接控制方式依靠测试设备标志触发器 的状态位来控制数据传送,因此无法发现和处理由于 设备或其他硬件所产生的错误。 程序直接控制方式只适用于那些CPU执行速度慢,而 且外设较少的系统。
否 传送字节数=0吗? 是
发中断信号,停止I/O操作 (a)

转中断处理 (b)
DMA方式与中断控制方式的主 要区别
中断方式是在数据缓冲寄存器满之后发中 断要求CPU进行中断处理,而DMA方式则 是在所要求传送的数据块全部传送结束时 要求CPU进行中断处理。 中断方式的数据传送是在中断处理时由 CPU控制完成,而DMA方式是在DMA控制 器的控制下不经过CPU控制完成的。
2009-4-7
5
按使用特性分类
存储设备
磁带 磁盘
软盘
外部设备
硬盘 其它(磁鼓、光盘等) 键盘 打印机 显示器 图形输入/输出设备 图像输入/输出设备 输入/输出设备 绘图机 声音输入/输出设备 网络通信板 其它 会话型 通用终端 终端设备 批处理型 专用终端 智能终端 脱机设备 虚终端
9.1.1 设备的类别(续)
2009-4-7 18
中 断 控 制 方 式 的 传 送 结 构
int 数据线 I/O控制器 地址线 1 控制线
I/O设备1:
CPU
Start
I/O设备n: 启动位
I/O控制器 n
内存
中断位
控制状态寄存器 数据缓冲寄存器
9.2.2 中断方式—数据输入步骤
(1)首先,进程需要数据时,通过CPU发出“Start” 指令启动外围设备准备数据。该指令同时还将控制状态寄 存器中的中断允许位打开,以便在需要时,中断程序可以 被调用执行。 (2)在进程发出指令启动设备之后,该进程放弃处理机, 待输入完成。从而进程调度程序调度其他就绪进程占据处 理机。 (3)当输入完成时,I/O控制器通过中断请求线向CPU 发出中断信号。CPU在接收到中断信号后,转向预先设 计好的中断处理程序对数据传送进行相应的处理。 (4)在以后的某个时刻,进程调度程序选中提出请求并 得到了数据的进程,该进程从约定的内存特定单元中取出 数据继续工作。
2009-4-7 14
9.2.1 程序直接控制方式
过程描述(续):
当用户进程需要输出数据时,也需要发送外设
启动命令并等待设备准备完成才能传送数据。 在CPU与外设之间有一个数据缓冲寄存器,每 次数据输入/输出时,先把所要输入(输出)的 数据放入缓冲寄存器中,然后再取走。
2009-4-7
2009-4-7 23
9.2.3 DMA方式
DMA控制器可用来代替CPU控制内存和设 备之间进行成批的数据交换。批量数据的 传送由计数器计数,并由内存地址寄存器 确定内存地址。 除了在数据传送开始时需要CPU启动指令 和在整个数据块传送结束时需要发中断通 知CPU进行中断处理之外,不再需要CPU 频繁干涉。
2009-4-7 10
9.2 数据传送控制方式
控制设备和内存(或CPU)之间的数据传 送是设备管理的主要任务之一。 选择和衡量数据传送控制方式的原则:
(1)数据传送速度足够高,能满足用户需要
但又不丢失数据; (2)系统开销小,所需的处理控制程序少; (3)能充分发挥硬件资源的能力,使得I/O设 备尽量忙,而CPU等待时间少。
外围设备
DMA方式的数据传送过程
CPU 向外设发start命令 内存地址→内存始址寄存器 传送字节数→字节计数器 将中断允许位与启动位置1
接收到start命令 启动设备准备数据 数据入缓冲寄存器 缓冲寄存器内容入内存 改变字节计数器与 地址寄存器的内容
当前进程等待,调度其他进程 其他进程执行
否 收到中断信号了吗?
9.1.2 设备管理的功能和任务
设备管理的功能:
(1)提供设备和管理系统的接口。 (2)进行设备分配。按设备类型和相应分配
算法把设备其他有关的硬件分配给请求该设备 的进程,并把未分配到所请求调和或其他有关 硬件的进程放入等待队列; (3)实现设备和设备、设备和CPU等之间的 并行操作。 (4)进行缓冲区管理。
相关文档
最新文档