第五章 设备管理
- 5.1 I/O系统
- 5.2 I/O控制方式
- 5.3 缓冲管理
- 5.4 设备分配
- 5.5 设备处理
- 5.6 磁盘存储器管理
计算机系统的一个重要组成部分是I/O系统。
I/O系统包括所有信息输入、输出和存储功能的设备和相应的设备控制器,在有的大中型机器中,还有I/O通道或I/O处理机。
设备管理的对象是I/O设备,还可能要涉及到设备控制器和I/O通道。
设备管理的基本任务是完成用户提出的I/O请求,提高I/O速率以及改善I/O设备的利用率。
一、I/O设备
将分为以下两部分来讲解I/O设备:
- 1、I/O设备的类型
- 2、设备与控制器之间的接口
1、I/O设备的类型
I/O设备的类型繁多,从OS的观点来看,其重要的性能指标有:数据传输速率、数据的传输单位、设备共享属性等。因而从以下不同角度进行分类:
- 按设备的使用特性分类
- 按传输速率分类
- 按信息交换的单位分类
- 按设备的共享属性分类
设备控制器的基本功能
- 接收和识别命令
- 数据交换
- 标识和报告设备的状态
- 地址识别
- 数据缓冲
- 差错控制
设备控制器的组成
设备控制器位于CPU与设备之间,它既要与CPU通信,又要与设备通信,还应具有按照CPU所发来的命令去控制设备工作的功能,因此大部分控制器有以下三部分组成:
- 设备控制器与处理机的接口
- 设备控制器与设备的接口
- I/O逻辑
1、设备控制器与处理机的接口
该接口用于实现CPU与设备控制器之间的通信。共有三类信号线:数据线、地址线和控制线。数据线通常与两类寄存器相连接,第一类是数据寄存器;第二类是控制/状态寄存器。
2、设备控制器与设备的接口
在一个设备控制器上,可以连接一个或多个设备。相应地,在控制器中便有一个或多个设备接口,一个接口连接一个设备。在每个接口都存在数据、控制和状态三种类型的信号。控制器中的I/O逻辑根据处理机发来的地址信号,去选择一个设备接口。
3、I/O逻辑
用于实现对设备的控制。它通过一组控制线与处理机交互,处理机利用该逻辑向控制器发送I/O命令,I/O逻辑对收到的命令发送给控制器;另一方面又同时通过地址线把地址发送给控制器,由控制器的I/O逻辑对收到的地址进行译码,再根据所译出的命令对所选设备进行控制。
三、I/O通道
I/O通道设备的引入
其主要目的是为了建立独立的I/O操作,去解放CPU。在设置通道后,CPU只需向通道发送一条I/O指令。通道完成任务后向CPU发中断信号。
I/O通道是一种特殊的处理机。与一般处理机不同于两方面:
- 指令类型单一,只用于I/O操作;
- 通道没有内存,它与CPU共享内存。
通道类型
根据信息交换方式可分为以下三种类型:
- 字节多路通道
- 数组选择通道
- 数组多路通道
5.2 I/O控制方式
- 一、程序I/O方式
- 二、中断驱动I/O方式
- 三、直接存储器访问DMAI/O控制方式
- 四、I/O通道控制方式
5.3 缓冲管理
为了缓和CPU和I/O设备速度不匹配的矛盾,提高CPU和I/O设备的并行性,在现代OS中,几乎所有的I/O设备与处理机交换数据时,都用了缓冲区。
一、缓冲的引入
引入缓冲区的主要原因归结为以下几点:
- 缓和CPU与I/O设备间速度不匹配的矛盾。
- 减少对CPU的中断频率,放宽对CPU中断响应时间的限制。
- 提高CPU和I/O设备之间的并行性。