I/O管理

5.1.1I/O分类

(1)按使用特性分

人机交互类外部设备存、存储设备、网络通信设备

(2)I/O设备按传输速率分类

低速设备、中速设备、高速设备

(3)I/O设备按信息交换的单位分

块设备、字符设备

5.1.2I/O控制器

I/O管理
I/O管理
I/O管理

5.1.3I/O控制方式

I/O管理

(1)程序直接控制方式(轮询)

I/O管理
I/O管理
I/O管理

(2)中断驱动方式

I/O管理

(3)DMA方式

主要改进方面:
①数据的传送单位是“块”。不再是一个字、一个字的传送;
②数据的流向是从设备直接放入内存,或者从内存直接到设备。不再需要CPU作为“快递小哥”。
③仅在传送一个或多个数据块的开始和结束时,才需要CPU干预。
I/O管理
DMA控制器
I/O管理

(4)通道控制方式

通道:小型CPU
原理:增加一个小型CPU让他专门管理I/O操作

I/O管理

5.1.4I/O软件层次结构

I/O管理
设备独立性软件作用:
①向上层提供统一的调用接口 ( 如read/write系统调用)
②设备的保护
③差错处理
④设备的分配与回收
⑤数据缓冲区管理
⑥建立逻辑设备名到物理设备名的映射关系;根据设备类型选择调用相应的驱动程序
设备驱动程序软件的作用:
主要负责对硬件设备的具体控制,将上层发出的一系列命令(如read/write)转化成特定设备“能听得懂”的一系列操作。 包括设置设备寄存器;检查设备状态等
中断处理程序的作用:
I/O管理

5.1.6假脱机技术

I/O管理

(1)脱机技术

I/O管理

(2)假脱机和脱机的关系

I/O管理
①输入井、输出井模拟磁带
I/O管理
②输入进程、输出技术模拟外围控制机
I/O管理

(3)应用

独占式设备:只允许各个进程串行使用的设备。一段时间内只能满足一个进程的请求。
共享设备:允许多个进程“同时”使用的设备(宏观上同时使用,微观上可能是交替使
用)。可以同时满足多个进程的使用请求。
例如:打印机本来是一种独占式设备,但是可以用Spooling技术改造成共享设备
I/O管理

5.1.7设备的分配与回收

I/O管理

(1)设备分配时应考虑的因素

I/O管理
I/O管理
I/O管理

(2)设备分配管理中的数据结构

设备控制表(DCT)、控制器控制表(COCT)、通道控制表(CHCT)都有状态位、标识位、进程等待队列
简单来说设备、控制器、通道的关系就是:进程等设备、设备等控制器、控制器等通道
I/O管理
①设备控制表(DCT)
I/O管理
②控制器控制表(COCT)
I/O管理
③通道控制表(CHCT)
I/O管理
④系统设备表(SDT)
I/O管理

缺点:

I/O管理

5.1.8缓冲区管理

I/O管理
I/O管理

(1)单缓冲

I/O管理
I/O管理
**处理一块数据耗时时间:采用单缓冲策略,处理- - 块数据平均耗时Max(C,T)+M
**
I/O管理

(2)双缓冲区

I/O管理
处理一块数据耗时时间:采用双缓冲策略,处理一个数据块的平均耗时为Max (T, C+M)

(3)缓冲池

I/O管理