当前位置:文档之家› 操作系统设计与实现教材

操作系统设计与实现教材

➢ 数据总线的工作模式:块模式和字符模式,传输数据的速率不同 ➢ 字符模式(周期窃取):DMA窃取一个总线周期以传输一个字,造成CPU轻微延迟 ➢ 块模式(突发模式):DMA获得总线控制权后连续发出多个请求,提高总线利用效率 ➢ 飞越模式:DMA内部存在数据缓冲,设备将数据发送给DMA,DMA再进行转发
2
操作系统课程讲义
设备管理概述
I/O设备管理系统结构图
上层用户程序(应用层) 操作系统 I/O软件管理 I/O硬件管理
底层硬件设备(物理层)
键盘
用户进程 设备无关程序 设备驱动程序 中断处理程序
设备 控制器
状态寄存器
命令寄存器
数据寄存器
3
操作系统课程讲义
I/O硬件管理
I/O设备的特点分析
❖操作系统需要管理的最复杂的资源——I/O设备
➢ 设备接口的方便性、友好性、透明性、设备无关性
❖ 利用各种技术,提高I/O设备的运行效率
➢ 设备与CPU之间、设备之间的并行
➢ 设备负载的均衡:保持设备的充分忙碌
❖ 实现对I/O设备的管理和保护
➢ 设备的分配与回收:针对独占设备和共享设备,实现合理的资源分配
➢ 设备的数据保护:不同设备之间的保护、设备内部的保护
操作系统课程讲义
I/O硬件管理
DMA工作方式的深入分析
❖ DMA内部结构的差异
➢ 单路I/O连接:DMA中只有一组寄存器,只能连接一个I/O设备 ➢ 多路I/O连接:DMA中有多组寄存器,可同时连接多个I/O设备 ➢ 多路I/O连接模式下,DMA内部也需要进行适当的调度(轮转、优先级)
❖ DMA工作方式的差异
15
操作系统课程讲义
I/O硬件管理
I/O端口的内存映射编址方式
❖I/O端口地址空间和内存地址空间统一编址
➢ I/O端口地址也被作为物理地址空间的一部分进行存储管理 ➢ CPU访问地址空间时,将对地址空间的范围进行判断,然后选择读取
内存空间或者访问I/O端口
❖内存映射编址的优缺点分析
➢ 优点1:使得技术实现手段更加方便,可用C语言编写驱动程序 ➢ 优点2:不需要对I/O地址空间进行特殊保护,只需要利用现有的存
➢ I/O设备种类繁多,工作模式各不相同 ➢ I/O设备数据多样,处理方式各不相同 ➢ I/O设备性能参差,运行控制多种多样
❖最容易成为计算机系统的瓶颈——I/O设备
➢ 很多I/O设备使用机械操作,导致其速度较CPU相差很大 ➢ 进程运行中的输入输出操作可能造成系统运行的性能瓶颈 ➢ I/O管理:如何最大限度保证I/O设备与CPU的并行工作
21
操作系统课程讲义
I/O硬件管理
中断控制I/O的工作流程
❖ “打印服务程序”只将最开始的数据传送至打印机端口,然后阻塞 ❖ CPU可继续调度其他进程运行,不浪费CPU时间 ❖ 一旦打印缓冲区空后,打印机端口发出硬件中断 ❖ CPU响应中断,恢复“打印服务程序”运行,继续传送数据 ❖ 缺点:虽然节省了CPU资源,但是中断响应也消耗较大的系统资源
❖I/O设备接口的工作方式
➢ 设置命令寄存器和状态寄存器:CPU通过总线与I/O接口通信 ➢ I/O设备与CPU并行工作:控制器根据指令完成相应I/O操作 ➢ 通过中断向CPU发出信号:工作完成后通过硬件中断通知CPU
11
操作系统课程讲义
I/O硬件管理
I/O设备接口的工作流程(续)
❖IBM PC的软盘控制器
➢ 可接受15条指令:READ、WRITE、SEEK、FORMAT等 ➢ 各条指令均可带参数,指令和相关参数均被设置到接口寄存器中
➢ 位串行工作机制:驱动器提供“位流”,控制器负责在缓冲区中将其 组装为字节,并进行必要的校验和纠错
❖显示器的控制器
➢ 位串行工作机制:从显示缓冲区中读取可供显示的内容,而后产生用 来调制CRT电子束的信号
14
操作系统课程讲义
I/O硬件管理
I/O端口独立编址模式
❖ I/O地址与内存空间完全独立
➢ 使用专用的I/O指令对I/O端口进行操作
❖ 优缺点分析
➢ 优点1:I/O设备不占用内存地址空间,减少系统资源消耗
➢ 优点2:技术实现复杂度低,易于区分I/O地址和内存地址
➢ 缺点:由于地址空间独立、狭小,导致指令类型少,只能使用简单的汇编语言编程
操作系统课程讲义
《操作系统设计与实现》
第四章 I/O设备管理
主讲教师:史广顺
gsshi@ gsshi@
操作系统课程讲义
内容提要
内容提要
❖ I/O设备管理概述 ❖ I/O硬件原理与软件原理 ❖ 进程死锁 ❖ I/O设备管理实例剖析
储保护机制(例如分页式中的页表项设置)
➢ 优点3:使得I/O端口的指令更加灵活多样 ➢ 缺点1:内存映射方式中必须保证I/O端口的实时性(禁用高速缓存) ➢ 缺点2:对于双总线或者多总线结构而言,I/O端口的地址映射将比
较困难和麻烦
16
操作系统课程讲义
I/O硬件管理
I/O端口地址的映射与访问
混合方案中,内存 空间负责管理I/O 端口,I/O独立编 址部分属于数据缓 冲区。例如 Pentium就使用了 这种方式
器或缓冲区被称为一个I/O端口 ➢ I/O端口地址空间:实现对I/O接口寄存器/缓冲区的访问
❖I/O设备端口的编址方式
➢ I/O端口独立编址:与内存空间完全独立 ➢ 内存映射I/O地址:在内存空间中划分固定区域映射I/O端口
❖I/O地址空间的编址方式和使用差别
➢ 指令运行差别:访问的地址空间不同 ➢ 系统资源消耗:所需要的资源数不同 ➢ 优缺点权衡:总线规格、地址信息传输与过滤、系统性能等因素
17
操作系统课程讲义
I/O硬件管理
系统总线对I/O端口编址的影响
18
操作系统课程讲义
I/O硬件管理
系统总线对I/O端口编址的影响
19
操作系统课程讲义
I/O硬件管理
I/O设备的控制方式
❖ 程序控制I/O(轮询或忙等待模式)
➢ CPU直接与I/O设备进行通信,负责将用户数据传送到I/O端口 ➢ 用户程序通过系统调用来使用I/O设备 ➢ CPU需要不断查询I/O设备的端口状态,性能较低
6
操作系统课程讲义
I/O硬件管理
I/O管理的任务和目标
❖ 根据用户请求,控制各类I/O设备实现用户的目标
➢ 控制设备操作,实现设备与内存的数据交换
➢ 设备的分配与回收、设备驱动程序、设备中断管理、各类缓冲区管理等
❖ 向用户提供方便的I/O设备接口,屏蔽底层硬件细节差别
➢ 虚拟机——逻辑设备的作用:用户能够简单方便的使用I/O设备
❖设备控制器的工作方式
➢ 常以板卡的形式与主板的总线插槽连接 ➢ 通过设备的接口寄存器、缓冲区与CPU进行通信
❖设备控制器的工作内容
➢ 地址译码:实现对I/O地址空间的正确映射 ➢ 外部通信:接受或者发送数据/状态信号 ➢ 执行指令:将数字化指令转化为机械装置能够理解的模拟信号 ➢ 性能增强:实现内部硬件缓冲、完成数据加工等性能提升目标
22
操作系统课程讲义
I/O硬件管理
DMA控制I/O的工作流程
❖ 用户进程发出系统调用后进入阻塞态,CPU直接设置DMA端口 ❖ CPU与DMA并行工作,DMA负责将用户数据传送给打印机 ❖ 当DMA完成所有工作后,向CPU发出中断,CPU响应后唤醒用户进程 ❖ 优点:只有一次中断、DMA与CPU并行提高了系统运行效率 ❖ 缺点:DMA速度较慢,如果CPU并不繁忙,那么DMA机制并无太大意23义
有存在频繁的多道程序并发的情况下,DMA才会体现与CPU并行的作用
24
操作系统课程ห้องสมุดไป่ตู้义
I/O硬件管理
I/O通道机制的引入与实现
❖ I/O通道(Channel)的概念
➢ 如何以高速、高效的方式控制I/O设备,是I/O管理的重要问题 ➢ DMA速度很慢,而且结构简单,无法执行相对复杂的程序 ➢ 引入I/O通道(专门的处理机),可以运行由通道指令组成的通道程序
➢ DMA模式减少了中断次数,同时又集成了程序控制和中断控制的优点
❖ I/O通道机制
➢ DMA机制过于简单,有时未必能够提高与CPU并行效率 ➢ 为此专门增加了I/O处理机,专门负责I/O设备的控制和操作,与CPU并行工作
20
操作系统课程讲义
I/O硬件管理
程序控制I/O的工作流程
❖ 由操作系统的“服务程序”负责将用户数据传送至打印机端口 ❖ 服务程序顺序传送打印数据,填满接口缓冲区后就等待(空循环) ❖ 每次循环中都检查接口缓冲区是否可用,一旦可用就继续传送数据 ❖ 数据传送完成后“服务程序”结束,用户进程继续运行 ❖ 缺点:靠CPU以“忙等待”的形式与打印机进行通信,浪费CPU资源
❖ I/O通道的工作方式和分类
➢ 分为字节多路通道、选择通道、成组多路通道三种 ➢ I/O通道采取“窃取总线周期”的方式实现对I/O设备的控制和数据传输 ➢ I/O通道就是一个小型的处理机,和CPU共享内存 ➢ I/O通道接到CPU的指令后即启动通道命令/程序,独立于CPU控制I/O设备工作
❖ I/O通道的结构组成
❖ DMA模式的权衡与分析
➢ DMA保存的地址信息:绝大多数情况下DMA保存的是物理地址,CPU负责将用户地 址转换为物理地址,然后将其设置到DMA中
➢ DMA的数据缓冲:DMA内部也会使用数据缓冲,这样会大大提高I/O通信效率 ➢ DMA的优劣分析:DMA比CPU慢好多,简单的应用环境中,用CPU要比DMA好;只
➢ 数据通信型设备:实现电子数据交换
❖ 按照数据的组织形式划分
➢ 块设备:以数据块为单位存储、传输数据
➢ 字符设备:以字节为单位存储、传输数据
相关主题