磁盘
1. 磁盘调度算法
读写一个磁盘的时间需要三个因素决定:
- 寻道时间(将磁盘臂移动到适当柱面所需时间)。
- 旋转延迟(等待适当扇区旋转到磁头下所需时间)。
- 实际数据传输时间。
对大多数磁盘而言,寻道时间占主导地位,所以减少平均寻道时间可以充分地改善系统性能够。
先来先服务算法(FCFS)
即按照接受请求的顺序完成请求。
最短寻道优先算法(SSF)
下一次总是处理与当前磁头距离最近的请求以使寻道时间最小化。但当正在处理请求时,可能不断有其他请求到达,如果磁盘负载很重,可能到时磁盘臂大部分时间停留在磁盘中部区域,而两端区域将一直等待,出现饥饿现象。
电梯调度算法
需要保存一个二进制位来记录当前移动方向,当一个请求处理完成后,磁盘检查该位,并处理当前移动方向上的另一个请求,如果该方向上没有请求,则方向取反,并移向最近位置。该算法的优良特性是,任意的一组给定请求,磁盘臂移动总次数的上界是固定的,即为柱面数两倍。
2. 错误处理
在磁盘制造时会有瑕疵,而这些瑕疵可能会引入坏扇区,也就是说,扇区不能正确地读回刚刚写到其上的值。
在控制器中进行处理
磁盘在从工厂出厂前要进行测试,并将一个坏扇区列表写在磁盘上,对于每一个坏扇区,将用一个备用扇区替换它。用两种方法可用来替换。
- 将备用扇区之一重映射为坏扇区(该方式在重写前导