Download presentation
Presentation is loading. Please wait.
1
第六章设备管理 本章重点: 1.掌握设备管理的功能和任务; 2.掌握设备的分类方法; 3.掌握I/O控制的实现;
4.掌握通道的功能、特点、类型及工作方式。 本章难点: 1.通道的工作方式; 2.I/O控制系统的实现; 3.虚拟设备技术。
2
概述 设备管理的任务和功能 设备工作的I/O控制方式 处理输入输出请求的步骤 中断系统 缓冲技术 设备分配 虚拟设备 小结
3
6.1概述 设备的技术特点:杂,五花八门,种类多,物理特性不同 一、设备分类 1.按所属关系分 系统设备 : OS生成时已在系统中登记的标准
如:keyboard,CRT OS生成后由用户定义的非标准 设备 用户设备 : 如:实时系统中的A/D、D/A转换器等
4
2.按信息传输的基本单位分 块设备 : 磁盘、磁带、光盘 字符设备 : CRT、Printer、Keyboard 3.按操作方式 输入设备 : Keyboard 输出设备 : Printer 磁盘 输入/输出设备 :
5
4.按设备的分配特性 共享设备 : 磁盘(多道作业可以同时从该设备上 存取信息) 独占设备 : 打印机 5.设备的使用特性 存储设备 : 磁带、磁盘、光盘等 键盘、打印机、CRT、绘图仪等 输入输出设备 : 通用终端、专用终端、虚拟终端等 终端设备 : 脱机设备 :
6
6.2设备管理的任务和功能 一、基本任务 选择和分配输入输出设备以便进行数据传输操作 控制输入输出设备和CPU(或内存)之间交换数据
为用户提供一个透明的接口,把用户和设备硬件特性 分开,使得用户在编程时不必涉及具体硬件设备,系 统按用户的要求控制设备工作。 提高设备与设备之间、CPU与设备之间,以及进程与 进程之间的并行操作程度,使操作系统获得最佳效率
7
二、功能 提供和进程管理系统之间的接口 设备的分配与回收 : 设备的启动与中断处理 : 设备与设备、设备和CPU之间的并行操作 : 缓冲区的管理 实现虚拟设备
8
6.3设备工作的I/O控制方式 循环测试方式(程序直接控制方式) 由用户程序来直接控制内存或CPU和外设之间的信息
传送。外设工作时,处理机不断通过一条测试指令测 试外设工作是否完成。 100%占CPU,CPU利用率低,。 CPU与设备只能串行工作: 设备不能并行工作: 不能发现和处理设备和其他硬件产生的错误: GO
9
外围设备 CPU 接收到start命令 发送start命令 做接收或发送数据准备 设备标志 触发器为 “Done”? 是 否 准备完毕? 是 否 标志触发器置“Done” 等待 等待CPU的下调指令 执行下条指令, 开始数据传输 R
10
中断方式 : 处理机与外围设备之间有中断请求线,设备 控制器的控制状态寄存器设置中断允许位 I/O控制器1 CPU I/O设备1 start
数据线 I/O控制器1 CPU I/O设备1 地址线 控制线 start 内存 I/O控制器n I/O设备n 控制状态寄存器 启动位 … 中断位 … 数据缓冲寄存器
11
外围设备 CPU 向设备发送start命令, 将中断允许位置“1” 接收到start命令 调度程序调度其他进程 准备数据并将其 置入缓冲寄存器 其他进程执行 否 缓冲寄存 器满吗? 收到中断信号了吗? 否 是 是 中断处理 控制器发中断信号 被中断的程序执行
12
中断方式特点: 设备与设备可以并行,设备与CPU可以并行 数据缓冲寄存器较小,一次数据传送过程中发生中 断次数较多,CPU可能“陷入”中断。
13
DMA控制方式 : 基本思想:在外设和内存之间开辟直接的数据交换通道 DMA方式中,I/O控制器具有比中断方式和程序直接控 制方式更强的功能。 DMA方式除了控制状态寄存器和数据缓冲寄存器之外, 还包括传送字节计数器、内存地址寄存器等。 DMA方式通过窃取或挪用CPU指令周期的方式把数据缓 冲寄存器中的数据直接送到内存地址寄存器所指向的内 存区 在数据块传送开始时需要CPU的启动指令,结束时发中断 通知CPU,中间不需要CPU干预。
14
CPU start Int I/O设备 DMA控制器 数据 内存 控制状态寄存器 启动位 … 中断位 … 数据缓冲寄存器 传送字节计数器 内存地址寄存器
15
外围设备 CPU DMA控制器 接收到start命令 发送start命令,内存地 址送入内存始址寄存器 传送字节数送入字节寄存器 将中断允许位置“1” 启动设备准备数据 数据入数据缓冲寄存器 调度程序调度其他进程 缓冲寄存器内容入内存 被调度进程执行 修改传送字节数、 计数器、内存地址 收到中断信号了吗? 传送字节数=0? 否 是 否 是 中断处理 发中断信号,停止I/O
16
DMA方式特点: 大大减少CPU处理次数 数据传送是在DMA控制器的控制下不经过CPU控制 完成。 对外围设备的管理和某些操作仍然由CPU管,大中型 机器中设备种类繁多,数量大,增加了CPU的负担。
17
通道方式: 基本思想:通道是专管I/O操作的部件,控制设备与内存的数据交换,有自己的通道指令,这些通道指令受CPU启动,结束时向CPU发中断信号。 以内存为中心,实现设备和内存直接交换数据的控制方式。数据传送方向、内存始址、传送长度等由通道控制,一个通道可以控制多台设备工作
18
通道连接方式:四级三连接 内 存 通道1 通道2 控制器1 控制器2 控制器3 设备1 设备2 设备3
19
通道类型: 字节多路通道:以字节为单位传输数据,可以同时控制多台外设工作。 适用于低速设备,如终端、打印机等 数组多路通道 :以块为单位传输数据,可以同时控制多台外设工作。 适用于中速块设备,如磁带机等 数组选择通道 :以块为单位传输数据,每次只能控制一台外设工作。 适用于高速块设备,如磁盘机等
20
通道方式的数据输入处理过程: 当进程要求设备输入数据时,CPU发出Start指令指明I/O操作、设备号和对应通道。 对应通道接收到CPU发来的启动指令Start之后,把存放在内存中的通道指令程序读出,设置对应设备的I/O控制器中的控制状态寄存器。 设备根据通道指令的要求,把数据送往内存中的指定区域。 若数据传送结束,I/O控制器通过中断请求线发中断信号请求CPU做中断处理。 中断处理结束后CPU返回被中断的程序继续执行。
21
6.4处理输入输出请求的步骤 用户进程 PUSH CTRLPTR PUSH BUFFPTR Call IOCS (1) BUFFER
… (1) IOCS 阻塞调用者 验证I/O请求 调用驱动程序 校验状态 激活调用者 返回到调用者 (5) (3) (4) 设备驱动程序 初始化I/O 传送数据 返回IOCS (2)
22
6.5中断系统 一、定义:在系统发生了非寻常或非预期的急需处理事件时,CPU中断当前程序,转去执行相应的事件处理程序。
二、中断源: 引起中断的事件。 时钟、I/O,、违例、外部、故障、系统调用 内 自愿 硬 分类 分类 分类 外 随机 软
23
三、中断请求:中断源向CPU发出的请求中断处理信号
中断相应关键是现场切换,由硬件完成 。 (1)将PSW等重要请求者的值送入内存。 (2)把中断处理程序的PSW放入PSW。 五、中断优先级:决定对中断源的响应次序。 六、关中断:CPU内部的处理机状态字PSW的中断允许位被清除,从而不允许CPU相应中断。 七、中断屏蔽:系统用软件方式有选择的封锁部分中断而允许其他中断得到响应。
24
(2)无中断,用户程序无法与OS程序联系 。 九、中断处理程序
八、中断的意义: (1)无中断,不能实现多道 。 (2)无中断,用户程序无法与OS程序联系 。 九、中断处理程序 关中断 保护现场 分析中断原因,转中断处理程序 执行中断处理程序 恢复现场 开中断 返回中断点
25
6.6缓冲技术 一、引入:提高CPU与外设的并行工作程度,解决CPU与外设速度严重不匹配的问题。 二、缓冲实现 硬:缓存 软:缓冲区
26
三、缓冲类型: 1.单缓冲 :CPU与外设之间设置一个BUFFER缓冲二者之间的速度差异。 由于需要对缓冲区互斥使用,因此设备之间不能通过单缓冲实现并行 2.双缓冲:CPU与外设之间设置两个BUFFER缓冲二者之间的速度差异 可以实现两台外设、打印机和终端之间的并行;例如:其中一个缓冲区用于打印、另一个用于读入数据 3.多缓冲 :把多个缓冲区连接起来组成两部分,一部分专门用于输入,另一部分专门由于输出 4.缓冲池 :把多个缓冲区连接起来统一管理,即可用于输入,又可用于输出。(谁用谁申请)
27
6.7设备分配 一、设备分配用的数据结构 1、设备控制表DCT(Device Control Table)
反映设备的特性、设备和I/O控制器的连接情况(每个 设备一张) DCT在系统生成时或该设备与系统连接时创建 ,一般包括: ①设备标识符:用来区别设备 ②设备类型:反映设备特性,例如:终端、字符、块 ③设备地址或设备号: ④设备状态:工作还是空闲 ⑤等待队列指针:等待使用该设备的进程等待队列的队首和队尾指针。 ⑥I/O控制器指针:指向与该设备相连的I/O控制器
28
2、系统设备表SDT(System Device Table)
记录已被连接到系统中的所有物理设备的情况,为每个物理设备设置一个表项 ,(整个系统一张),一般包括: ①DCT指针 :指向设备的DCT ②正在使用设备的进程标识 : ③设备类型和设备标识符 : SDT的意义是反映系统中设备资源的状态,即:系统中有多少设备,多少空闲,非空闲设备分别分给了哪些进程?
29
3、控制器表COCT(Controller Control Table)
反映了I/O控制器的使用状况以及和通道的连接情况等,DMA方式无。每个控制器一张,一般包括: ①控制器标识符 ②控制器状态 ③指向相应通道表的指针 :
30
4、通道表CHCT(Chanal Control Table)
每个通道一张,一般包括: ①通道标识符 ②通道状态 ③等待该通道的队列指针 : 一个进程只有获得了通道,控制器和所需设备之后,才具有I/O操作的条件
31
二、设备分配 1、分配原则: 充分发挥设备的使用效率 避免由于不合理的分配方法造成的死锁 要用户程序和具体物理设备隔离开 2.分配方式 静态分配: 用户作业开始之前,系统一次性分配所有设备、控制器、通道。无死锁、效率低 动态分配: 进程执行过程中根据需要进行分配。效率高,可能引起死锁
32
3、分配技术 : 独占 共享 虚拟 4.分配策略 先请求先分配 优先级高者优先分配
33
三、设备分配程序 1、分配设备 2、分配控制器 3、分配通道
34
进程P发出I/O请求 1 搜索SDT找到DCT指针 是 进程P等 待控制器 是 控制器忙吗? 进程P按分配策 略入I/O等待队列 该设备忙吗? 否 否 控制器分给进程P 按分配策略选取占 据该设备的进程 查找CHCT指针 否 是 进程P被选中? 进程P等 待通道 通道忙吗? 进程P等待 该设备空闲 是 否 检查该设备分配 给进程P的安全性 通道分给进程P 否 启动I/O 安全吗? 是 设备分给进程P 查找COCT指针 1
35
6.8虚拟设备 1、引入:为解决多道程序系统中可能因独占设备的数量不足,速度慢的问题,或长时间等待的问题,人们想到了利用大容量、可共享的外存。 2、实现:利用共享设备模拟独占设备,这种模拟对用户是完全透明的。 预输入 :在输入设备空闲的时候,把作业或进程执行中需要的数据放到共享设备的一块区域中保存 。当进程在执行过程中需要这些数据时,是从共享设备,而不是从独占设备输入 缓输出 :当进程或作业有信息输出时,系统不是把这些信息在输出设备上输出,而是把这些输出写到共享设备的一块区域中,然后继续进程的执行。当输出设备空闲时,再从共享设备的这块区域中取出数据输出 Simultaneous Peripheral Operations On Line (SPOOLING)
36
6.9 小结 设备分类 :所属关系、信息传输单位、操作方式、设备分配特性、设备使用特性 设备管理的基本任务和功能
设备工作的I/O控制方式、通道的类型,分别适用于哪类设备? 处理输入输出请求的步骤 中断系统 :中断定义、中断源、请求、响应、优先级、关、屏蔽、意义、处理 缓冲引入、实现、类型 设备分配数据结构、原则、策略、方式、程序 虚拟设备
37
6.10 综合练习 在某多道程序系统中,供用户使用的内存空间有100K,磁带机2台,打印机1台。系统采用可变式分区分配方式管理内存,对磁带机和打印机采用集体爱分配方式,并假设输入/输出操作的时间忽略不计。现有一作业序列如下表所示。 作业号 到达时间 要求运行时间 要求内存量 申请磁带机数 申请打印机数 1 2 3 4 5 8:00 8:20 8:30 8:35 25分 10分 20分 15分 15K 30K 60K 20K 10K 假设作业调度采用先来先服务算法,优先分配内存的低地址区域且不准移动已在内存中的作业,在内存中的作业平均分配CPU时间,问 (1)作业调度次序是什么?(2)最大和最小作业周转时间分别是多少? (3)作业全部执行完成的时间是多少?
38
2.有一页式系统,其页表存放在主存中。 (1)如果对主存的一次存取需要1.5微秒,试问实现一次页面访问的存取时间是多少? (2)如果系统加有快表,平均命中率为85%,当页表在快表中时,其查找时间忽略为0,试问此时的存取时间为多少? 3.在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0、1、2页依次存放在物理块5、10、11中,问相应的物理地址为多少? 4.在某计算机系统中,其屏幕显示分辨率为640*480,若要存储一屏256色的图像,需要多少字节存储空间? 5.在某计算机系统中,时钟中断处理程序每次执行的时间为2ms(包括进程切换开销),若时钟中断频率为60Hz,试问CPU用于中断处理的时间比率为多少?
Similar presentations