计算机操作系统第6章-设备管理
六 设备管理
author: spongehah from:hut
作者个人博客:https://blog.hahhome.top/
参考视频: B站王道考研计算机操作系统
[TOC]
1 IO控制方式
1.1 程序直接控制方式
优点:实现简单。在读/写指令之后,加上实现循环检查的一系列指令即可(因此才称为“程序直接控制方式”)
缺点:CPU和I/O设备只能串行工作,CPU需要一直轮询检查长期处于“忙等”状态,CPU利用率低。
1.2 中断驱动方式
优点:IO控制器会通过中断信号通知IO已完成,CPU不用再不停的轮询,CPU和IO设备可并行工作,提高了CPU的利用率
缺点:每个字在I/O设备与内存之间的传输,都需要经过CPU。而频繁的中断处理会消耗较多的CPU时间。因为中断需要保存和恢复上下文环境
1.3 直接存储器存取DMA
优点:数据传输以“块”为单位,CPU介入频率进一步降低。数据的传输不再需要先经过CPU再写入内存,数据传输效率进一步增加。CPU和/IO设备的并行性进一步得到提升
缺点:CPU每发出一条I/O指令,只能读/写一个或多个连续的数据块。如果要读/写多个离散存储的数据块,或者要将数据分别写到不同的内存区域时,CPU要分别发出多条I/O指令,进行多次中断处理才能完成。
1.4 通道控制方式
优点:CPU、通道、I/O设备可并行工作,资源利用率很高。读取的一组数据块可以不连续,数据传输不需要经过CPU
缺点:实现复杂,需要专门的通道硬件支持
总结
2 设备的分配与回收
2.1 设备分配时应考虑的因素
1 设备的固有属性
2 设备的分配算法
3 设备分配中的安全性
2.2 静态分配与动态分配
使用动态分配时,可使用 银行家算法 进行检测,避免死锁
2.3 设备分配管理中的数据结构
2.4 设备分配的步骤
物理设备名 就是 设备标识符
注:只有设备、控制器、通道三者都分配成功时,这次设备分配才算成功,之后便可后动I/O设备进行数据传送
2.5 设备分配步骤的改进
逻辑设备名 即 设备类型
请求的东西 从 设备标识符 变成了 设备类型
逻辑设备表:
总结
3 缓冲区管理
3.1 缓冲区的概念
3.2 缓冲区管理的策略
1 单缓冲
若题目中没有特别说明,一个缓冲区的大小就是一个块
结论:采用单缓冲策略,处理一块数据平均耗时Max(C,T)+M
2 双缓冲
若题目中没有特别说明,一个缓冲区的大小就是一个块
结论:采用双缓冲策略,处理一个数据块的平均耗时为Max(T,C+M)
3 循环缓冲
了解大致原理即可
4 缓冲池
①输入进程请求输入数据
从空缓冲队列中取出一块作为收容输入数据的工作缓冲区(hin)。冲满数据后将缓冲区挂到输入队列队尾②计算进程想要取得一块输入数据
从输入队列中取得一块冲满输入数据的缓冲区作为“提取输入数据的工作缓冲区(sin)”。缓冲区读空后挂到空缓冲区队列③计算进程想要将准备好的数据冲入缓冲区
从空缓冲队列中取出一块作为“收容输出数据的工作缓冲区(hout)”。数据冲满后将缓冲区挂到输出队列队尾④输出进程请求输出数据
从输出队列中取得一块冲满输出数据的缓冲区作为提取输出数据的工作缓冲区(s0ut)”。缓冲区读空后挂到空缓冲区队列
总结
4 磁盘的结构
4.1 磁盘、磁道、扇区的概念
准确说应该是 每个扇区的每个磁道 存储的数据量相同
最内侧磁道上的扇区面积最小,因此数据密度最大
4.2 在磁盘中读 / 写数据
4.3 找到磁盘的物理地址
块号会被转换成 (柱面号,盘面号,扇区号) 的形式
柱面号是找磁道
盘面号是找磁盘
扇区号是找扇区
4.4 磁盘的分类
总结
5 磁盘调度算法
5.1 一次磁盘读 / 写 操作需要的时间
后两者只与磁盘转速有关,操作系统无法影响
操作系统只能影响寻道时间于是引出操作系统的磁盘调度算法
5.2 四种磁盘调度算法
1 先来先服务FCFS
2 最短寻找时间优先SSTF
3 扫描算法SCAN
优点:解决了SSTF的饥饿现象
两个缺点:
1 只有到达最边上才可以改变方向
2 边上的磁道响应频率高,中间的磁道响应频率低
改进:LOOK调度算法
解决了SCAN的缺点1,观察到方向上没有别的请求,就可以改变方向
若题目中无特别说明,则SCAN就是LOOK
4 循环扫描算法C-SCAN
解决了SCAN的缺点2
C-SCAN 的平均寻道时间 要长于 SCAN,因为要直接跨越到最起点
改进:C-LOOK调度算法
解决了SCAN的缺点1 和 缺点2
若题目中无特别说明,则 C-SCAN就是C-LOOK
总结
补充:减少磁盘延迟时间的方法
王道视频P71-72、74-77、83-84暂未观看