设备管理主要管理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.旋转调度算法
旋转调度要解决的问题是:当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序。
网友评论