设备管理主要管理I/O操作的设备(鼠标、键盘等)、设备控制器、中断控制器、I/O处理机等。
(一)设备管理概述
在计算机系统中,将负责管理设备和输入/输出的机构称为I/O系统。
I/O系统由设备、控制器、通道、总线和I/O软件组成。
1.设备的分类
- 按数据组织分类
- 块设备,以数据块为单位来组织和传送数据信息的设备,如磁盘。
- 字符设备,以单个字符为单位来传送数据信息的设备,如交互式终端、打印机等。
- 按设备的功能分类
- 输入设备
- 输出设备
- 存储设备
- 网络联网设备
- 供电设备
- 从资源分配角度分类
- 独占设备
- 共享设备
- 虚拟设备
- 按数据传输率分类
- 低速设备,速率为每秒几个字节到数百个字节的设备,如键盘、鼠标等。
- 中速设备,每秒数千个字节到数十千个字节的设备,如激光打印机等。
- 高速设备,每秒数百千个字节到数兆字节的设备,如磁带机、光盘机等。
2.设备管理的目标与任务
目标: 提高设备的利用率。
任务: 保证在多道程序环境下,当多个进程竞争使用设备时,按一定的策略分配和管理各种设备,控制设备的各种操作,完成I/O设备与主存之间的数据交换。
主要功能: 动态地掌握并记录设备的状态、设备分配和释放、缓冲区管理、实现物理I/O设备的操作、提供设备使用的用户接口及设备的访问和控制。
(二)I/O软件
设备管理软件的设计水平决定了设备管理的效率。
设计I/O软件的主要目标是设备独立性和统一命名。
I/O设备管理软件一般分为四层:
- 中断处理程序
- 设备驱动程序
- 与设备无关的系统软件
-
用户级软件
I/O系统的层次结构与每层的主要功能
(三)设备管理采用的相关技术
1.通道技术
引入通道的目的是使数据的传输独立于CPU,使CPU从繁琐的I/O工作中解脱出来。设置通道后,CPU只需向通道发出I/O命令,通道收到命令后,从主存中取出本次I/O要执行的通道程序并执行,仅当通道完成了I/O任务后才向CPU发出中断信号。
根据信息交换方式的不同,通道分为:
- 字节多路通道
- 数组选择通道
- 数组多路通道
2.DMA技术
直接主存存取(DMA)是指数据在主存与I/O设备间直接成块传送,即在主存与I/O设备间传送一个数据块的过程中不需要CPU的任何干涉,只需要CPU在过程开始启动与过程结束时的处理,实际操作由DMA硬件直接执行完成,CPU在此传送过程中可做别的事情。
3.缓冲技术
缓冲技术可提高外设利用率,尽可能使外设处于忙状态。
缓冲技术可分为:
- 硬件缓冲
- 软件缓冲
引入缓冲的原因:
- 缓和
CPU与I/O设备间速度不匹配的矛盾; - 减少对
CPU的中断频率,放宽对中断响应时间的限制; - 提高
CPU和I/O设备间的并行性。
4.Spooling技术
Spooling中文名称是“外围设备联机操作”。该技术实际上是用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术。

(四)磁盘调度
1.磁盘驱动调度
常用算法:
- 先来先服务(根据进程请求访问磁盘的先后次序进行调度)
- 最短寻道时间优先(要求访问的磁道与当前磁头所在磁道距离最近,使得每次寻道时间最短)
- 扫描算法(磁头移动的规律类似电梯的运行,又称为电梯调度算法)
- 单向扫描调度算法(规定磁头只能单向移动)
2.旋转调度算法
旋转调度要解决的问题是:当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序。
