1. 磁盘结构
- 盘面(Platter): 一个磁盘有多个盘面。
- 磁道(Track): 盘面上的圆形带状区域,一个盘面有多个磁道。
- 柱面: 处于同一垂直区域的磁道,叫做柱面。
- 扇区(Track Sector): 磁道上一个弧段,一个磁道可以有多个扇区,它是最小的物理存储单位。目前主要有
512 byte
和4 kb
两种大小。 - 磁头(Head): 与盘面非常接近,能够将盘面上的磁场转换为电信号(读),或者将电信号转换为盘面上的磁场(写)。
- 制动手臂(Actuator Arm): 用于在磁道之间移动磁头。
- 主轴(Spindle): 使整个盘面转动。
2. 磁盘调度策略
① 先进先出(FIFO)
- 先进先出: 按照磁盘请求顺序进行调度。
- 优点: 简单、公平
- 缺点: 未对寻道做任何优化,导致平均寻道时间可能比较长。
② 最短服务时间优先(SSTF)
- 最短服务时间优先: 选择是磁头从当前位置移动最少的磁盘请求。
- 虽然平均寻道时间比较低,但是不够公平。可能使先到达的磁盘请求一直等待,出现饥饿现象。两端的磁道请求更容易出现饥饿现象。
③ 电梯算法(SCAN)
- 电梯算法: 让磁头沿着一个方向运动,直到该方向上没有磁盘请求,然后改变方向。
- 注意: 这里磁盘请求是针对磁道而言,比如先从
1
运动到10
,最后从10
向1
进行反向扫描。- - 电梯算法考虑了方向,所有的磁盘请求最终都会满足,解决了SSTF优先策略中的饥饿问题。