设备管理

1、概念编程

分类操作系统

一、按交互对象分类对象

  • 人机交互设备
  • 与CPU等交互的设备
  • 计算机间通讯设备

二、按交互方向分类接口

  • 输入设备
  • 输出设备
  • 双向设备

三、按外设特性分类进程

  • 使用特征
  • 数据传输率
  • 信息组织特征

设备管理的功能内存

  1. 设备分配
  2. 设备映射
  3. 设备驱动

 

设备分配原理

是设备管理的基本任务软件

设备分配程度按照必定的策略,为申请设备的进程分配设备,记录设备的使用状况配置

 

设备映射硬件

物理设备(实际设备)     逻辑设备(软件使用的设备)

功能:

  • 设备管理模块将逻辑设备映射到物理设备的功能
  • 从应用软件的角度,逻辑设备是一类物理设备的抽象
  • 从设备管理程序的角度来看,物理设备是逻辑设备的实例

设备独立性

  • 物理设备对用户透明,用户使用统一规范的方式使用设备
  • 用户编程时使用设备的逻辑名,有系统实现逻辑设备到物理设备的转换

 

设备驱动

  • 对物理设备控制
  • 接收应用的服务请求,转换成具体的I/O指令,控制设备完成相关操做
  • 向用户提供统一接口

特色

  • 设备驱动程序与硬件密切相关
  • 每类设备都要配置特定的驱动程序
  • 驱动程序通常有设备厂商根据操做系统要求编写
  • 操做系统仅对设备驱动的接口提出要求

 

2、Spooling系统

设备分配方法

  • 独占设备分配
  • 共享设备分配
  • 虚拟分配

独占设备使用过程:申请——使用——释放

  1. 进程申请设备
  2. 系统分配设备
  3. 进程发送使用命令
  4. 系统将转到设备驱动模块完成一次I/O传输
  5. 进程释放设备
  6. 系统回收设备

从进程申请成功,直到释放完以前,独占设备

 

共享型设备的分配

  • 进程使用共享型设备不须要申请,固然也就不存在占用或释放设备的问题
  • 进程使用共享型设备以前,会隐含的使用申请命令,使用完毕后隐含使用释放命令,目的保证排他性,保证操做的正常进行
  • 使用共享型设备的过程当中,进程彻底有可能进入阻塞等待状态

 

虚拟分配

虚拟技术

在一类物理设备上模拟另外一类物理设备的技术

  • 记住辅存部分区域模拟独占设备,将独占设备转化为共享设备

虚拟设备

  • 用来模拟独占设备的部分辅存称为虚拟设备,虚拟独占设备
  • 输入井:模拟输入设备的辅存区域
  • 输出井:模拟输出设备的辅存区域

虚拟分配

当进程须要与独占设备交换信息时,就采用虚拟技术将与该独占设备所对应的虚拟设备(部分辅存)分配给它。

Spooling系统是虚拟技术和虚拟分配的实现

 

Spooling结构

输入井和输出井

磁盘上开辟两个存储区域

  • 输入井模拟脱机输入时的磁盘
  • 输出井模拟脱机输出时的磁盘

输入缓冲区和输出缓冲区

内存中开辟的存储区域

  • 输入缓冲区:暂存输入数据,之后再传送到输入井
  • 输出缓冲区:暂存输出数据,之后再传送到输出设备

原理小结

任务执行前:预先将程序和数据输入到输入井中

任务运行时:使用数据时,从输入井中取出

任务运行时:输出数据时,把数据写入输出井

任务运行完:外设空闲时输出所有数据和信息

特色

提升了I/O速度

将独占设备改造为“共享”设备(实现了虚拟设备功能)