软件设计师6--OS设备管理

版权声明:文章编写不易,转载请注明原链接 https://blog.csdn.net/u012184539/article/details/84249693

操作系统设备管理

设备管理包括实际IO操作的设备(如磁盘及、打印机)、设备控制器、DMA控制器、中断控制器和IO处理机(通道)等支持设备。

1. 设备的分类

  • 按数据组织分类。分为块设备和字符设备。块设备是以数据块为单位进行组织和传输数据信息的单位(磁盘);字符设备是以单个字符为单位传输数据信息(终端、打印机)。
  • 从资源分配角度分类。分为独占设备、共享设备和虚拟设备。
  • 按传输与速率分类。低速设备、中速设备和高速设备。

2. IO软件

把设备管理软件的组织分为一系列的层次。其中,低层与硬件相关,高层提供友好的、清晰统一的接口个用户使用。IO设备管理软件一般分为四个层次。
在这里插入图片描述

3. 设备管理使用的相关缓冲技术

  • 通道技术。通道自动完成IO数据传输,不需要消耗CPU,通道价格昂贵。
  • DMA技术。
  • 缓冲技术。解决CPU和IO设备的速度匹配问题;减少CPU中断频率(输入更多内容才产生中断);提高CPU和IO设备之间的并行性。分为单缓冲、双缓冲、多缓冲和环形缓冲。
  • Spooling技术。是一种虚拟物理设备技术,可以把独占设备变成多台虚拟设备。

4. 磁盘调度

磁盘在同一时间只能与一个进程进行IO操作,其他进程只能等待IO释放后进行。磁盘调度是使各进程对磁盘的访问时间最少的技术。访问磁盘最耗时的是寻道,因此,磁盘调度的目标是使寻道时间最少。磁头移动到某柱面(移臂),选择数据寻道最短的进程执行服务。理解下面的磁盘调度原理需要了解磁盘硬件的基本结构,查看我的这篇博客

磁盘的基本原理: https://blog.csdn.net/u012184539/article/details/84257877

调度方式 顺序
移臂调度
旋转调度

4.1 磁盘驱动调度

常用调度算法有:

  • 先来先服务。
  • 最短寻道时间。要访问的数据距离磁头最近,寻道时间最短的进程的IO请求优先执行。
  • 扫描调度算法。优先考虑数据的位置符合当前磁头移动的方向(由内向外、由外向内)的进程,其次考虑数据距离当前磁道最近的的进程。磁头的移臂(切换方向)是不变的(由内到最外后,反向由外向内,以此循环),选择服务进程是根据方向相同且距离当前磁道最近的进程来执行IO。
  • 单向扫描调度算法。扫描不切换方向,由里到外后,切换到最里,继续由里到外。

4.2 旋转调度算法

当移臂定位后,有多个进程访问该柱面时,应让如何决定哪个进程的访问顺序?

情况 进程存取优先级
进程访问同一磁道不同编号的扇区 先到磁头位置的扇区先传送
进程访问不同磁道不同编号的扇区 先到磁头位置的扇区先传送
进程访问不同磁道相同编号的扇区 任选一个传送

猜你喜欢

转载自blog.csdn.net/u012184539/article/details/84249693