I/O设备管理概述
I/O设备类型
- 按信息组织特征分
① 块设备
② 字符设备
③ 络设备 - 按共享属性分
① 独占设备
② 共享设备
③ 虚拟设备 - 按使用特性分
① 输入设备
② 输出设备
③ 存储设备按 - 传输速率分
① 低速设备
② 中速设备
③ 高速设备
I/O端口
- 定义:可编址设备的另外一种
- I/O port
- 功能
① 完成数据的存储转发;
② 记录连接设备的状态;
③ 识别所连接设备的地址。
I/O系统的结构
- 微型机I/O系统
① 无通道的I/O系统
② 以CPU为中心 - 主机I/O系统
① 有通道的I/O系统
② 以主存为中心
③ 属于四级结构
I/O系统功能
- 目的:为了提高CPU利用率而引入的。
- 设备分配:按照—定策略,为申请设备的进程分配设备;
- 设备映射——方便用户使用
① 隐藏物理设备的细节
对设备进行抽象,隐藏物理设备的实现细节,向上层提供少量、抽象的读/写命令
② 实现设备的无关性
用户不仅可以使用抽象的I/O命令,还可以使用抽象的逻辑设备名来使用设备
③ 提高处理机和I/O设备的利用率:I/O设备之间、IO设备与处理机之间应该能够并行操作
④ 对I/O设备进行控制
⑤ 确保对设备的正确共享:独占设备/共享设备
⑥ 错误处理
I/O系统软件结构
I/O控制方式发展宗旨
尽量减少CPU对I/O的干预,提高CPU利用率
程序I/O控制方式
- 早期无中断系统,CPU对I/O设备的控制采取轮询(polling)的可编程I/O方式
- “忙测试”过程:
① CPU向I/O控制器发—条I/O命令,启动l/O设备;
② 置设备状态寄存器中busy为1;
③ 循环测试busy,直到busy=0; - 缺点:CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中
- 特点:
① I/O基本单位是数据块(Block);
② I/O是直接从设备入内存,或相反;
③ 一块/多块完成后,CPU才干预; - 工作过程:
① 进程I/O,CPU给控制器发送:I/O命令、内存/外存起址、传输字节数;
② CPU启动控制器进行数据I/O;
③ I/O完成,DMA向CPU发送中断信 ; - 每次传输一个块或几个连续块
- 常用于块设备的I/O控制
通道控制方式
- 工作过程:
① 进程l/O,CPU向通道发送I/O命令,给出通道程序的起址、需访问的设备等;
② 通道执行通道程序,完成I/O,并中断通知CPU - 每次传输一组数据块
- 与DMA相比:
① 通道所需要CPU干预更少
② 多个不连续块的传递和存储
③ 减轻CPU的负载 - 通道程序
由—系列通道指令组成,包括有关操作码、
内存地址、计数、结束位P等
缓冲管理
缓冲引入的原因
- 缓和CPU与l/O设备间速度不匹配的矛盾
- 减少CPU对I/O的干预
- 提高CPU和I/O设备之间的并行程度
缓冲的种类
- 单缓冲
- 双缓冲
- 循环缓冲
- 缓冲池
单缓冲(Single Buffer)
-
工作方式:进程发出I/O请求时,操作系统在主存分配一个缓冲区,通过缓冲区完成I/O.
双缓冲(Double Buffer)
**目的:**为了加快输入和输出速度,提高设备利用率,引入了双缓冲机制,也称为缓冲对换(Buffer Swapping)
- 循环缓冲区中包含多个大小相同的缓冲区,可分为三类:
① 装输入数据的空缓中区R
② 已装满数据的缓中区G
③ 计算进程正在使用的现行工作缓中区c - 循环缓冲区的使用
① Getbufi过程
② Releasebuf过程
缓冲池(Buffer Pool)
- 单、双、循环缓冲都属专用缓冲。缓冲池是公用缓冲,包含了一个管理的数据结构及一组操作函数的管理机制,用于管理多个缓冲区
- 目的:提高缓冲区的利用率,供多个进程共享;
- 循环池的组成
(1)用户管理缓冲区的队列:空缓队列emg、输入队列ing、输出队列outq
(2)用于标识缓冲池中各缓冲区动态过程的工作缓冲区
① 用于收容输入数据的工作缓冲区hin
② 用于收容输出数据的工作缓冲区hout
③ 用于提取输入数据的工作缓冲区sin
④ 用于提取输出数据的工作缓冲区sout - 设备控制表DCT(Device Control Table):系统为每个设备配置—张DCT,用于记录该设备的相关参数。
- 控制器控制表COCT(Controller Control Table)
- 通道控制表CHCT(Channel Control Table)
- 系统设备表SDT(System Device Table)
设备分配
功能:进程发出I/O请求时,按照一定的策略将I/O所需设备分配给进程。
设备分配中的数据结构
SPooLing系统
- 定义:通过在高速外存设置lI/O缓冲,将独占型设备改造成为可共享的虚设备。
-
SPooLing系统的组成
在线同时外围操作,Simultaneous Peripheral Operation On-Line
(1)输入井/输出井
① 磁盘上开辟的存储区域,分别容纳输入/输出数据
② 井文件:数据—般以文件形式组织管理
③ 所有进程的数据文件链接成为队列
(2)输入缓冲区/输出缓冲区
① 内存设置缓冲区,用于缓和CPU和磁盘之间速度不匹配的矛盾
② 分别作为输入设备输入或输出井到输出设备之间的缓冲
(3)输入进程/输出进程
(4)井管理程序
控制作业与磁盘井之间的信息交换 -
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
- 循环缓冲区中包含多个大小相同的缓冲区,可分为三类: