操作系统-设备管理

设备分类

按数据交换的单位分类

  • 块设备(Block Device):这种设备以块为单位组织数据和传送数据,用于存储信息,属于有结构设备。
  • 磁盘是典型的块设备,每个块的大小为512B~4KB,其基本特征是:传输速率高,通常每秒几兆位;可寻址,即可按地址随机地访问任意一块;其输入输出方式是采用DMA方式
  • 字符设备(Character Device):指以单个字符为单位来传送数据的设备。这类设备一般用于数据的输入输出,如交互式终端(键盘)、打印机。
  • 字符设备的基本特征是:传输速率低;不可寻址,即不能指定输入时的源地址或输出时的目标地址;输入输出方式采用中断方式

按设备共享属性分类

  • 独占设备:在一段时间内只允许一个用户(进程)访问的设备,如打印机。
  • 共享设备:在一段时间内允许多个进程访问的设备,如磁盘
  • 虚拟设备:通过虚拟技术将一台独占设备变换位若干台逻辑设备,共若干个进程同时使用,通常将这种经过虚拟技术处理后的设备称为虚拟设备

按传输速率设备

  • 低速设备:指传输速率为每秒钟几个字节到数百个字节的设别,如键盘,鼠标
  • 中速设备:传输速率在每秒数千字节到数万字节的设备,如激光打印机
  • 高速设备:指传输速率在每秒数十万字节到数兆字节的设备,如磁盘、光盘

设备管理

设备管理的任务

  • 记录和监控设备状态
  • 设备的分配和释放
  • 管理缓冲区
  • 实现I/O设备的物理操作
  • 为用户提供设备使用的接口
  • 设备的访问和控制
  • 输入输出缓冲和调度

缓冲技术

引入缓冲的原因

  • 缓冲技术可提高外设利用率,尽可能是外设处于忙状态。缓冲技术根据实现方式分为硬件缓冲和软件缓冲硬件缓冲是利用专门的硬件寄存器作为缓冲,而软件缓冲则是通过操作系统来实现的。
  • 引入缓冲技术的主要原因:
    • 缓和CPU和I/O设备之间速度不匹配的矛盾
    • 减少对CPU的中断频率,放宽对中断响应时间的限制
    • 提高CPU和I/O设备之间的并行性

缓冲的种类

  • 缓冲可分单缓冲、双缓冲和循环缓冲
    在这里插入图片描述

假脱机

什么是Spooling技术

  • 脱机输入输出技术:输入数据时,在输入外围机的控制下,将纸带上的数据或程序输入到高速外存如磁盘上,然后从外存上送往内存;输出时,由CPU直接高速地把数据从内存送到外存,再在输出外围机的控制下,将外存上的结果通过相应的输出设备输出。
  • Spooling是外围设备联机同时操作的缩写,常简称为Spooling技术或假脱机技术。利用该技术可使对外设的操作跟CPU对数据的处理同时进行。假脱机其实就是对上述的脱机输入输出工作的程序模拟。

Spooling系统的组成

  • Spooling系统主要有以下三部分组成:输入井、输出井和井管理程序;输入缓冲区和输出缓冲区;预输入程序和缓输出程序。 在这里插入图片描述

磁盘调度

先来先服务算法

  • 磁盘调度分为移臂调度和旋转调度两类,并且是先进行移臂调度然后进行旋转调度。
  • 先来先服务(FCFS)算法:根据进程请求访问磁盘的先后次序进行调度。 在这里插入图片描述

最短寻道时间优先算法

  • 最短寻道时间优先算法:该算法选择与当前磁头所在的磁道距离最近的那个磁道作为下一次要访问的磁道,即使得每次寻道时间最短,但并不能保证平均寻道时间最短
    在这里插入图片描述

扫描算法

  • 扫描(SCAN)算法:不仅考虑下一个要访问的磁道要离当前磁道距离最近,而且优先考虑磁头当前的移动方向,当沿一个方向走到尽头时,磁头就换向移动。其运行规律类似电梯,因此亦称电梯调度算法。
    *在这里插入图片描述

循环扫描算法

  • 循环扫描算法(CSCAN):在扫描算法的基础上,规定磁头只向一个方向移动,比如规定磁头只从里往外移动,移动到最外圈时再返回到最内圈磁道继续往外扫描。亦称单向扫描算法。
    在这里插入图片描述

旋转调度算法

  • 一般选择旋转延迟时间最短的进程对磁盘的扇区进行访问
    在这里插入图片描述
    在这里插入图片描述