跳到主要内容

设备管理

概述

设备是计算机与外界交互的工具,具体负责计算机与外部的输入/输出工作,所以常称为外部设备(简称外设)

在计算机系统,将负责管理设备和输入/输出的机构称为 I/O 系统。因此,I/O 系统由设备、控制器、通道(具有通道的计算机系统)、总线和 I/O 软件组成。

设备的分类

  • 按数据组织分类:块设备、字符设备。
  • 按照设备功能分类: 输入设备、输出设备、存储设备、网络联网设备、供电设备。
  • 资源分配角度分类: 独占设备、共享设备和虚拟设备。
  • 数据传输速率分类: 低速设备、中速设备、高速设备。

设备管理的任务和目标

设备管理的任务是保证在多道程序环境下,当 多个进程竞争使用设备时,按一定的策略分配和管理各种设备,控制设备的各种操作,完成 I/O 设备与主存之间的数据交换。

设备管理的主要功能是动态地掌握并记录设备的状态、设备分配和释放、缓冲区管理、实现物理 I/O 设备的操作、提供设备使用的用户接口及设备和控制。

I/O 软件

I/O 设备管理软件的所有层次及每一层功能如下图:

实例:当用户程序试图读一个硬盘文件时,需要通过操作系统实现这一步骤,与设备无关软件检查高速缓存中有无要读的数据块,若没有,则调用设备驱动程序,向 I/O 硬件发出一个请求。然后,用户进程阻塞并等待磁盘操作的完成,当 磁盘操作完成时,硬件产生一个中断,转入中断处理程序。中断处理程序检查中断的原因,认识到 这时磁盘读取操作已经完成,于是唤醒用户进程取回从磁盘读取的信息,从此结束此次 I/O 请求。用户进程在得到了所需的磁盘内容之后继续运行。

设备管理技术

一台设备独占,在同一时间只能由一个进程使用,其它进程只能等待,且不知道什么时候打印机空闲,此时,极大浪费了外设的工作效率。

引入 SPOOLING(外围设备联机操作)技术,就是在外设上建立两个数据缓冲区,分别称为输入井和输出井,这样,无论多少进程,都可以共用这一台打印机,只需要将打印命令发出,数据就会排队在缓冲区,打印机会自动按顺序打印,实现了物理外设的共享,使得每个进程都感觉在使用一个打印机,这就是物理设备的虚拟化。如下图所示:

提示

SPOOLING 技术将独占设备转变为了共享设别,虽然只是虚拟共享。