版权声明:文章编写不易,转载请注明原链接 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 旋转调度算法
当移臂定位后,有多个进程访问该柱面时,应让如何决定哪个进程的访问顺序?
情况 | 进程存取优先级 |
---|---|
进程访问同一磁道不同编号的扇区 | 先到磁头位置的扇区先传送 |
进程访问不同磁道不同编号的扇区 | 先到磁头位置的扇区先传送 |
进程访问不同磁道相同编号的扇区 | 任选一个传送 |