磁盘管理
文章目录
一、磁盘的结构
1. 磁盘、磁道、扇区
2. 如何在磁盘中读写数据
需要把磁头移动到想要读写的扇区所在的磁道,磁盘会转动起来,让目标扇区从磁头下面划过, 即可完成对磁盘的读写操作
3. 磁盘的物理地址
4. 知识回顾
二、磁盘调度算法
1. 一次磁盘读写操作需要的时间
所需要的时间 = 寻道时间 + 延迟时间 + 传输时间
(1) 寻道时间:读写数据之前,将磁头移动到指定磁道所花的时间
(2) 延迟时间:通过旋转磁盘,将磁头定位到目标扇区开始处所需要的时间
(3) 传输时间:磁盘转动,从磁盘的目标扇区中读写数据经历的时间
2. 先来先服务(FCFS)
根据进程请求访问磁盘的先后顺序进行调度
3. 最短寻找时间优先(SSTF)
优先处理的磁道是与当前磁头最近的磁道
优点:性能好,平均寻道时间短
缺点:磁头可能在一小块区域中来回移动,可能产生饥饿现象
4. 扫描算法(SCAN)
只有磁头移动到最外侧磁道的时候才能往内移动,移动到最内侧磁道的时候才能往外移动
缺点:
(1) 只有到达最外侧才可改变磁头移动方向,事实上当184访问完之后,不需要再访问200 磁道就可以返回了,可以使用LOOK算法解决这个问题:如果磁头移动方向上已经没有 别的请求,就可以立即改变磁头移动方向
(2) 磁道各个位置的响应频率不平均:离端点近的很快会被访问第二次
5. 循环扫描算法(SCAN)
磁头朝着指定方向移动时才处理磁道访问请求,返回时直接快速移动到始端而不处理任何请求
缺点:无需移动到最右端才返回到始端,可以使用C - LOOK算法解决这个问题
6. 知识回顾
三、减少磁盘延迟时间的方法
-
磁头读入一个扇区的数据之后需要一小段时间的处理,也就是说读完一个扇区之后无法连续读 取相邻的下一个扇区
-
减少延迟时间的方法 - 交替编号
让逻辑上相邻的扇区在物理上有一定的间隔
- 减少延迟时间的方法 - 错位命名
将相邻盘面相对位置相同处扇区编号错位命名