操作系统设计与实现教材

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