磁盘存储器的管理
改善磁盘性能的主要途径有选择好的磁盘调度算法、提高磁盘 I/O 速度、采取冗余技术。
1. 磁盘性能简述
磁盘可依次划分不同的盘面、磁道和扇区。
假设启动磁臂的时间为 s,磁头移动一条磁道需要时间为 m,磁盘需要移动 n 条磁道,则寻道时间 Ts=mn+s;设磁盘转速为 r,则平均旋转延迟时间 Tr=1/2r;设每次读取的字节数为 b ,一条磁道上的总字节数为 N,则传输时间 Tt=b/rN;磁盘访问时间 Ta=Ts+Tr+Tt
2. 磁盘调度算法
早期有先来先服务(FCFS)和最短寻道时间优先(SSTF)算法。
- 扫描(SCAN)算法为单向的 SSTF,到头便转向,能避免饥饿现象;
- 循环扫描(CSCAN)算法,也是单向的 SSTF,到头又重头开始,相比 SCAN 降低了请求延迟;
- NStepSCAN 算法,将磁盘请求队列分成若干个长度为 N 的子队列,磁盘调度按 FCFS 依次处理这些子队列,每个队列按 SCAN 算法处理,可避免沾着现象。
- FSCAN 是 N=2 的 NStepSCAN