磁盘调度
存取时间 = 寻道时间 + 等待时间 + 读取时间
- 寻道时间:磁头移动到目标磁道所需的时间(找磁道的时间)。
- 等待时间:等待目标扇区旋转到磁头下方的时间(即旋转延迟,找扇区的时间)。
- 读取时间:数据从磁盘传输到内存的时间(传输时间)。
多个磁片的同一个磁道会形成一个柱面,因此有时磁道也被称为柱面。
在同一扇区内读取数据属于顺序读取,而跨扇区读取则属于随机读取。
磁盘调度算法
磁盘调度分为移臂调度(找磁道)和旋转调度(找扇区)两类,通常先进行移臂调度,再进行旋转调度。
- 先来先服务(FCFS):按照请求到达的先后顺序处理磁盘访问请求。优点是公平、实现简单;缺点是寻道时间可能较长,尤其是在请求分布较分散时。
- 最短寻道时间优先(SSTF):优先处理与当前磁头位置距离最近的请求。优点是能减少平均寻道时间;缺点是可能导致某些距离较远的请求长期得不到处理(饥饿现象)。
- 扫描算法(SCAN):磁臂从磁盘的一端出发,向另一端移动,途中处理所有经过磁道的请求;到达另一端后,反转方向继续处理。因类似电梯运行模式,也称为电梯算法。优点是避免了饥饿现象,寻道效率较稳定;缺点是对两端的请求处理可能存在延迟。
- 循环扫描算法(CSCAN):磁臂只沿一个方向移动(如从里向外),处理途中所有请求;到达最外端后,直接快速返回到最内端的起始位置,再沿原方向继续处理。优点是使不同位置的请求响应时间更均匀;缺点是返回到起始位置时不处理任何请求,可能浪费部分时间。
先来先服务(FCFS)和最短寻道时间优先(SSTF)在处理请求时,可能会频繁改变磁臂的移动方向,而扫描算法(SCAN)和循环扫描算法(CSCAN)的磁臂移动方向相对固定
v1.3.10