软件设计师考试 | 第四章 操作系统知识 | 设备管理

设备管理主要管理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.缓冲技术

缓冲技术可提高外设利用率,尽可能使外设处于忙状态。
缓冲技术可分为:

  • 硬件缓冲
  • 软件缓冲

引入缓冲的原因:

  • 缓和CPUI/O设备间速度不匹配的矛盾;
  • 减少对CPU的中断频率,放宽对中断响应时间的限制;
  • 提高CPUI/O设备间的并行性。

4.Spooling技术

Spooling中文名称是“外围设备联机操作”。该技术实际上是用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术。

Spooling系统的组成和结构


(四)磁盘调度

1.磁盘驱动调度

常用算法:

  • 先来先服务(根据进程请求访问磁盘的先后次序进行调度)
  • 最短寻道时间优先(要求访问的磁道与当前磁头所在磁道距离最近,使得每次寻道时间最短)
  • 扫描算法(磁头移动的规律类似电梯的运行,又称为电梯调度算法)
  • 单向扫描调度算法(规定磁头只能单向移动)

2.旋转调度算法

旋转调度要解决的问题是:当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序。


你可能感兴趣的:(软件设计师考试 | 第四章 操作系统知识 | 设备管理)