精选设备管理培训教材PPT62页

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

缓冲池及其管理
➢ 缓冲池:公用缓冲区的集合 ➢ 组成:空缓冲区队列(供分配的空缓冲区组成)
输入缓冲区队列(装满输入数据的满缓冲区组成) 输出缓冲区队列(装满输出数据的满缓冲区组成) ➢ 工作方式(四种) ✓ 收容输入:从输入设备输入数据到空缓冲区 ✓ 提取输入:从输入缓冲区中提取数据到内存工作区 ✓ 收容输出:从内存向空缓冲区中送数据 ✓ 提取输出:从输出缓冲区中提取数据到输出设备输出
➢ 特点
CPU与设备间断并行,CPU效率较高
4)通道I/O控制方式
➢ 工作过程 ① CPU向通道发命令,启动通道工作,CPU返回继续 执行 ② 通道执行事先组织好的通道程序,启动设备进行数 据传送 ③ 待通道程序执行完毕,产生通道中断,CPU才响应 处理
➢ 特点 CPU与通道、设备完全并行工作,CPU效率高
仍是一个进程一个进程依次使用
设备分配算法 ✓ 先请求先服务 ✓ 优先级高者优先
设备分配的安全性 ✓ 安全分配方式:进程请求I/O后,立即被阻塞(不会 产生新的请求) ✓ 不安全分配方式:进程请求I/O后不阻塞,会产生新 的请求
设备独立性(即设备无关性) 用户程序中所使用的设备(逻辑设备)与系统配置的实际 物理设备无关。
Application A Application B
SPOOLing Program
Device
2)Spooling系统的设计与实现
1. 输入井和输出井:在磁盘上。 2. 输入缓冲区和输出缓冲区:在内存。 3. 输入进程和输出进程:守护(daemon)进程
输入设备
输入进程Spi
输出进程Spo
输入缓冲区
(b) 通道表CHCT
(c) 系统设 备 表 SDT
各表间的关系示意图
DCT
COCT
CHCT
SDT表目
PCB
… PCB
2)设备分配应考虑的相关因素 设备的使用属性 设备分配的策略(算法) 设备分配的安全性 设备的独立性(无关性)
设备使用属性
✓ 独占设备:一次只能分配给一个用户(进程)使用 ✓ 共享设备:可同时分配给多个进程使用(比如磁盘) ✓ 虚拟设备:逻辑上可同时分配给多个进程,物理上
L(in)
O
8
4
F(in)

5 4
6 1
3 2
sin

4

L(em)
12
10
6


hin

3

输 L(out)
15
13
7

设 备
sout 5
3
F(em)

hout

1

2
F(out)
缓冲池工作原理
5.4 I/O软件
总体设计目标:高效性和通用性 基本思想:I/O软件按分层的思想构成,较低层
软件要使较高层软件独立于硬件的特性,较高层 软件则要向用户提供一个友好的、清晰的、简单 的、功能更强的接口。
设 DCT 1 备 控 制 DCT 2 表 集 合
DCT n
设备类型 type 设备标识符:deviceid 设备状态:等待/不等待 忙/闲 指向控制器表的指针 重复执行次数或时间 设备队列的队首指针
控制器控制(COCT) 通道控制表(CHCT) 系统设备表(SDT)
系统内一张,反映系统中设备资源的状态,记录所有设 备的状态及其设备控制表的入口
1)缓冲的引入
在操作系统中,引入缓冲的主要原因,可归结为以下几点: ① 缓和CPU与I/O设备间速度不匹配的矛盾 ② 减少对CPU的中断频率,放宽对中断响应时间的限制 ③ 提高CPU和I/O设备之间的并行性
注:凡数据到达率与离去率不一致的场合,均可采用 缓冲加以解决
2)缓冲的实现 ✓硬缓冲:在设备中设置缓冲区(通常是一组寄 存器)由硬件实现 ✓软缓冲:在内存中开辟一个空间用作缓冲区
⑤ 硬件层:实现物理I/O的操作
❖ 中断处理程序
唤醒被阻塞的 驱动程序进程
对被中断进程的 CPU环 境 进 行 保 护
中断请求信号
分析中断原因,转入 相应的中断处理程序
终端中断 处理程序
打印机中断 处理程序

磁盘中断 处理程序

恢复被中断进 程 的CPU现 场
返回被中断的进 程,继续执行
❖ 设备驱动程序
➢ DMA控制器的组成
CPU
内存
count
命令
主机—控制器接口 控制器与块设备接口
DR
I/O
MAR



DC

CR
系统总线
DMA 控制器
➢ 工作过程 ①CPU发I/O指令给DMA控制器(进行相应设置),启动设 备工作 ②其后CPU返回执行其他程序 ③待DMA控制设备将一组数据传送完毕产生中断后, CPU才去干预处理
➢ 控制器的功能: ✓ 接收、识别由CPU发来的命令 ✓ 进行数据传递与交换 ✓ 设备状态的检查,设备地址的识别,数据缓冲,差错 控制
通道 ➢ 定义: 能独立于CPU执行通道程序向控制器发命令的 装置特殊的处理机 ➢ 通道的功能: ✓执行简单的I/O指令(与CPU并行工作) ✓直接访问内存,进行内存与I/O设备间的数据传送 ✓替代CPU,通过执行通道程序对设备进行控制 ➢ 通道的类型: ✓字节多路通道 ✓数组选择通道 ✓数组多路通道
无论何种处理方式,都必须有一组相应的驱动程序
C. 驱动程序特点
✓ I/O请求与设备控制器之间的通信和转换程序 ✓ 与设备控制器和I/O设备硬件特性相关 ✓ 与采用的I/O控制方式相关 ✓ 其中部分必须是汇编语言实现 D. 设备驱动的处理过程 ✓ 转换上层软件的抽象要求为具体操作要求 ✓ 对I/O请求进行合法性检查 ✓ 对控制器、设备的工作状态进行检测 ✓ 向控制器传送参数和命令,启动设备工作
➢ 工作过程 ① CPU发出I/O指令给控制器启动设备工作 ② 其后CPU不再等待设备完成,而是返回执行其他程 序
③ 待设备完成时产生中断信号,CPU才去响应处理 ➢ 特点
CPU与设备间断并行工作,但设备每传送一个数据 (通常为字节或字),CPU则要响应处理中断一次,效 率仍不是太高
3)DMA I/O控制方式
5.5 设备分配
设备分配程序按照一定的策略把设备分配给I/O请求 用户以解决资源的无序竞争问题,确保设备安全,正确地 共享使用。 1)设备分配的相关数据结构
设备控制表 DCT 控制器控制表 COCT 通道控制表 CHCT 系统设备表 SDT
设备控制表(DCT)
每个设备一张,描述设备特性和状态。反映设备特 性、设备和控制器的连接情况。
3)缓冲的类型 ✓ 专用缓冲区:单缓冲、双缓冲、多缓冲 ✓ 公用缓冲区:缓冲区的集合(缓冲池)
注:分配的缓冲区个数愈多,缓冲效果愈好
4)各种缓冲及其管理
单缓冲
主机(内存) 缓冲区
I/O设备
缓冲区的数据存取操作是串行的
双缓冲
数据(设备) 缓冲区2
缓冲区1
Baidu Nhomakorabea
内存(主机)
缓冲区的数据存取操作可并行
循环多缓冲


1)设备管理的基本任务
完成用户提出的I/O请求,实施具体的I/O操作 提高I/O的速度、设备的利用率及设备与CPU的并行工
作能力
2)设备管理的主要功能
设备的分配、回收与管理 设备的处理(I/O控制、驱动与中断处理) 缓冲区的管理 设备的独立性与虚拟设备的实现
5.1 I/O系统
I/O系统:计算机系统中负责数据I/O及存储的子系统 1)I/O设备类型
1)I/O软件的层次结构
各层任务如下:
① 用户层软件:实现与用户交互的接口,用户可 执行I/O系统调用
② 设备独立性软件:负责实现适用于所有设备的 功用操作,并向用户层提供一个统一的接口
③ 设备驱动程序:与硬件直接相关,负责具体实 施对设备发出操作指令驱动I/O设备工作
④ 中断处理程序:I/O中断发出后执行相应的程序 进行I/O的善后处理,并在处理完成后返回被中 断进程
Nexti
✓ 变量含义
R
G
R
G 装满数据的缓冲区 R 空缓冲区
C 当前工作的缓冲区
G G
G Nextg
Nexti 指向下一个可用空缓冲区指针
Nextg 指向下一个满缓冲区指针
Current 正在使用的缓冲区的指针
✓ 循环缓冲区的使用过程及同步
注:只要Nextg不赶上Nexti,都可从满缓冲区中取数据 只要Nexti不赶上Nextg,都可向空缓冲区中送数据
3) I/O系统体系结构 微机系统:总线结构 大型机系统:通道结构
磁盘
CPU
内存
磁盘控制器
打印机 打印机控制器
… 系统总线
总线结构示意图
CPU 内存
通道1 通道2
通道n
… …
控制器1 控制器m
设备1
设备2 设备3 设备4
单通道结构示意图
5.2 I/O控制方式
程序I/O方式 中断驱动I/O方式(一般中断方式) DMA I/O方式(DMA控制器控制方式) 通道I/O控制方式(采用I/O通道实施控制)
1)程序I/O方式
➢ 工作过程 ① CPU发一条I/O指令给控制器,启动设备工作 ② CPU不断测试设备的工作状态直至设备完成工作 ③ CPU发下一条I/O指令,再次启动设备工作
➢ 特点 CPU等待设备完成工作,CPU效率很低
2)中断驱动I/O方式
➢ 中断机构 设备自动产生中断信息,并由CPU进行响应和处理
输出设备
输出缓冲区
独占设备
主机(内存)
输入井 输出井 磁盘
3)工作过程举例(以请求打印机为例)
① 多个进程同时请求打印机,由Spooling系统响应 ② 根据请求,为用户进程分配磁盘输出井空间,将输出
(打印)数据快速写到输出井中(暂存) ③ 建立“用户请求打印表”,填入相关请求数据 ④ 将请求打印表插入请求打印队列 ⑤ 待打印机空闲时,若请求打印队列不空,则唤醒输出
5)四种方式比较
程序I/O方式: 中断I/O方式:
特点
适用场合(系统)
CPU等待设备完成 早期无中断机构
CPU与设备间断并行 一般字符设备
DMA I/O方式: CPU与设备间断并行 块设备
通道I/O方式: CPU与设备并行
大型有通道
5.3 缓冲技术和缓冲管理
缓冲的引入 缓冲的实现 缓冲区类型 缓冲池管理
控制器标识符:controllerid 通道标识符:channelid
表目1
控制器状态:忙/闲
通道状态:忙/闲

与控制器连接的通道表指针 与通道连接的控制器表首址
表目i
控制器队列的队首指针
通道队列的队首指针

控制器队列的队尾指针
通道队列的队尾指针
设备类 设备标识符
DCT 驱动程序入口
(a) 控制器表COCT
3)独占设备分配流程
查SDT,找到对应DCT
Y 设备忙?
N 查COCT
插入设备请求队列
Y 控制器忙?
N 查CHCT
插入控制器等待队列
Y 通道忙?
N 分配成功!
插入通道等待队列
图1:独占设备(单通路)分配流程
5.6 Spooling技术与虚拟设备
1)问题的提出与解决
➢ 问题提出 独占设备一旦被某进程占用,即使占用期间设备闲置, 其他请求者必须长期等待,导致进程推进速度放慢,系 统效率降低
A. 主要功能 ✓ 接收上层软件(比如I/O进程)发来的命令和参数,并 将其转换成具体的操作要求 ✓ 向控制器发I/O指令,启动设备工作,并进行中断响应 和处理 ✓ 在有通道的I/O系统中,生成通道程序
B. 设备处理的方式
✓ 为每类设备设置一个驱动进程 ✓ 整个系统设置一个驱动进程 ✓ 不设置进程,仅设置相应驱动程序供调用
❖ 设备独立性软件
A. 设备独立性: ✓ 概念:应用程序独立于物理设备即与具体设备无关 ✓ 好处:增加了设备分配的灵活性;利于设备的更新
(I/O重定向) ✓ 实现:应用程序采用逻辑设备名请求使用某类设备,
实际执行时使用物理设备名称。系统通过逻辑设备表 (LUT)为之实现逻辑设备到物理设备的转换。
B. 设备独立性软件 基本任务是实现所有设备都需要的功能,并且向用户级软 件提供一个统一的接口。其中所有设备共有的操作包括: ✓ 独占设备的分配和释放 ✓ 逻辑设备名到物理设备名的映射 ✓ 设备保护 ✓ 提供与设备无关的逻辑块 ✓ 缓冲管理 ✓ 差错控制
➢ 解决办法 ✓ 采用脱机I/O,需增加外围机,且是脱机操作 ✓ 利用Spooling技术,进行假脱机I/O操作
➢ Spooling工作原理
利用可并发执行的输入和输出进程,在联机的状态下, 模拟实施脱机I/O操作:预输入和缓输出
称实现假脱机操作的系统为Spooling系统
Virtual I/O
Actual I/O
✓作用方面划分:I/O型、存储型 ✓使用属性划分:独占、共享、虚拟 ✓传输速率划分:低速、中速、高速 ✓信息交换单位划分:字符设备、块设备
2)I/O系统组成
一般包括I/O设备、控制器、接口及线路、设备驱动、控 制和管理的相关程序,有的大中型机中还有通道。
控制器
➢ 相关概念:连接CPU(内存)与I/O设备,用于控制设备 工作,实现I/O设备与计算机之间的数据交换的硬件装置。
相关文档
最新文档