文章目录
5.1 I/O管理概述
5.1.1 I/O设备
1、人机交互类外部设备
2、存储设备
3、网络通信设备
一、按传输速率分类
1)低速设备 键盘、鼠标
2)中速设备 打印机
3)高速设备 磁带机、光盘机
二、按信息交换的单位分类
1)块设备 以块为单位
2)字符设备 以字符为基本单位
5.1.2 I/O控制方式
一、程序直接控制方式
程序直接对设备进行循环测试
二、中断驱动方式
- 由于程序
直接控制方式CPU利用率低
,忙等,所以提出了中断驱动方式
三、DMA方式
数据的传输单位是 块
是一种不经过CPU而直接从主存存取数据的数据交换模式,在I/O和主存之间建立一条数据通路,只是逻辑上的通路
并不是物理通路
- CPU接收到I/O设备的DMA请求时,它给I/O控制器发出一条命令,启动DMA控制器
- DMA控制器直接与主存进行交互
- 传送完成,DMA控制器发送一个中断信号给CPU
只有在传送开始和结束时才需要CPU的参与
中断驱动方式 | DMA方式 |
---|---|
每个数据需要传输时中断 | 所要传送的一批数据全部结束时才中断CPU |
四、通道控制方式
[硬件]
- 通道控制方式是为了解决
DMA方式连续存储的问题
*
一个通道可以控制多个I/O控制器
I/O控制器可以控制多个工人设备
5.1.3 I/O子系统的层次结构
每一层利用下一层提供的服务
5.2 I/O核心子系统
5.2.1 I/O子系统概述
5.2.2 I/O调度概念
磁盘调度其实就是I/O调度的一种
5.2.3 高速缓存和缓冲区
1、磁盘高速缓存
2、缓冲区
1)单缓冲
2)双缓冲
3)单缓冲和双缓冲通信时的区别
4)循环缓冲
缓冲区为一个循环队列
5)缓冲池
3、高速缓存与缓冲区对比
5.2.4 设备的分配与回收
1、设备分配概述
独占式设备:
只允许各个进程串行使用设备
共享式设备:
允许多个进程“同时使用”设备 (宏观同时,微观交替)
2、设备分配的数据结构
设备、控制器、通道之间的关系
设备控制表(DCT) 每个设备配置一张DCT,用于记录设备情况
控制器控制表(COCT) 每个设备控制器对应一张COCT,根据COCT信息对控制器进行操作和管理
通道控制表(CHCT) 每个通道对应一张CHCT,对通道进行操作和管理
系统设备表(SDT) 整个系统只有一张SDT,记录已连接到系统中的所有物理设备的情况
3、设备分配的步骤
4、设备分配的安全性
死锁的避免:银行家算法
5.2.5 SPOOLing技术(假脱机技术) 前提是多道程序
提高了I/O的速度;将独占设备变为共享设备;实现了虚拟设备的功能
提高单机资源利用率的关键技术时 多道程序设计
1.什么是脱机技术
2.输入井和输出井 预输入程序
3.输入缓冲区和输出缓冲区 井管理程序
4.输入进程和输出进程 缓输出程序
共享打印机原理分析—假脱机技术的一种应用
(1)先申请缓冲区 (在内存中)
,并将打印的数据送到缓冲区。
(2)为用户申请空白的 打印请求表(存放打印信息的地址等信息)
挂到文件队列
(3)打印机空闲,取出 打印请求表
将数据从输入井 (磁盘中)
传到 输出缓冲区(内存中)
,再输出到打印机进行打印。
- 打印请求完成后,请求表从打印队列中删除,执行后续打印任务