操作系统(8) 磁盘的结构 磁道磁盘 扇区 磁盘调度算法 减少磁盘延迟时间的方法 交替编号 错位命名

磁盘管理

一、磁盘的结构

1. 磁盘、磁道、扇区

在这里插入图片描述

2. 如何在磁盘中读写数据

需要把磁头移动到想要读写的扇区所在的磁道,磁盘会转动起来,让目标扇区从磁头下面划过, 即可完成对磁盘的读写操作

3. 磁盘的物理地址

在这里插入图片描述
在这里插入图片描述

4. 知识回顾

在这里插入图片描述

二、磁盘调度算法

1. 一次磁盘读写操作需要的时间

所需要的时间 = 寻道时间 + 延迟时间 + 传输时间

(1) 寻道时间:读写数据之前,将磁头移动到指定磁道所花的时间

(2) 延迟时间:通过旋转磁盘,将磁头定位到目标扇区开始处所需要的时间

(3) 传输时间:磁盘转动,从磁盘的目标扇区中读写数据经历的时间

2. 先来先服务(FCFS)

根据进程请求访问磁盘的先后顺序进行调度
在这里插入图片描述

3. 最短寻找时间优先(SSTF)

优先处理的磁道是与当前磁头最近的磁道
在这里插入图片描述

优点:性能好,平均寻道时间短
缺点:磁头可能在一小块区域中来回移动,可能产生饥饿现象

4. 扫描算法(SCAN)

只有磁头移动到最外侧磁道的时候才能往内移动,移动到最内侧磁道的时候才能往外移动

在这里插入图片描述

缺点:

(1) 只有到达最外侧才可改变磁头移动方向,事实上当184访问完之后,不需要再访问200 磁道就可以返回了,可以使用LOOK算法解决这个问题:如果磁头移动方向上已经没有 别的请求,就可以立即改变磁头移动方向

(2) 磁道各个位置的响应频率不平均:离端点近的很快会被访问第二次

5. 循环扫描算法(SCAN)

磁头朝着指定方向移动时才处理磁道访问请求,返回时直接快速移动到始端而不处理任何请求

在这里插入图片描述

缺点:无需移动到最右端才返回到始端,可以使用C - LOOK算法解决这个问题

6. 知识回顾

在这里插入图片描述

三、减少磁盘延迟时间的方法

  1. 磁头读入一个扇区的数据之后需要一小段时间的处理,也就是说读完一个扇区之后无法连续读 取相邻的下一个扇区

  2. 减少延迟时间的方法 - 交替编号

让逻辑上相邻的扇区在物理上有一定的间隔
在这里插入图片描述

  1. 减少延迟时间的方法 - 错位命名

将相邻盘面相对位置相同处扇区编号错位命名

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49343190/article/details/111790640