磁盘调度算法
一次磁盘读/写操作需要的时间
寻找时间(寻道时间):启动磁臂,移动磁头所花的时间(磁盘调度算法影响的指标)。
延迟时间:将目标扇区转到磁头下面所花的时间。
传输时间:读/写数据花费的时间。
磁盘调度算法
先来先服务(FCFS):
按访问请求到达的先后顺序进行处理。
最短寻找时间优先(SSFS):
每次都优先响应距离磁头最近的磁道访问请求。
贪心算法的思想,能保证眼前最优,但无法保证总的寻道时间最短。
缺点:可能导致饥饿。
扫描算法(电梯算法,SCAN):
只有磁头移动到最边缘的磁道时才可以改变磁头移动方向。
缺点:对各个位置磁道的响应频率不平均。
循环扫描算法(C-SCAN):
只有磁头朝某个方向移动时才会响应请求,移动到边缘后立即让磁头返回起点,返回途中不响应任何请求。
低频考点:
LOOK算法:SCAN算法的改进,只要在磁头移动方向上不再有请求,就立即改变磁头方向。
C-LOOK算法:C-SCAN算法改进,只要在磁头移动方向上不再有请求,就立即让磁头返回。
减少延迟时间的方法
交替编号:
具体做法:让编号相邻的扇区在物理上不相邻。
原理:读取完一个扇区后需要一段时间处理才可以继续读入下一个扇区。
错位命名:
具体做法:让相邻盘面的扇区编号错位。
原理:与交替编号的原理相同,错位命名法可降低延迟时间。
磁盘地址结构的设计:
理解为什么要用(柱面号,盘面号,扇区号)的结构,而不是(盘面号,柱面号,扇区号)的结构?
答:读取地址连续的磁盘号时,采用前者的地址结构可以减少磁头移动消耗的时间。
磁盘的管理
磁盘初始化:
低级格式化/物理格式化:划分扇区。
磁盘分区(C盘,D盘,E盘)。
逻辑格式化:建立文件系统(建立根目录文件,建立用于存储空间管理的数据结构)。
引导块:
计算机启动时需要运行初始化程序(自举程序)来完成初始化。
ROM中存放很小的自举装入程序。
完整的自举程序存放在初始块(引导块)中。
坏块的管理:
简单的磁盘:逻辑格式化时将坏块标记出来。
复杂的磁盘:磁盘控制器维护一个坏块链,并管理备用扇区。