介绍了磁盘的结构及调度算法
磁盘结构

- 盘片 (Platter):
- 就像叠在一起的 CD 光盘。
- 每个盘片有两个面 (Surface),都可以存数据。
- 盘片围绕主轴高速旋转(常见的转速有 5400 RPM, 7200 RPM, 15000 RPM)。
- 磁头 (Head):
- 每个盘面对应一个磁头,负责读写数据。
- 关键点: 磁头是悬浮在盘面上的,不直接接触。
- 磁臂 (Disk Arm):
- 控制磁头移动的机械臂。
- 所有盘面的磁头是固定在一个“梳子状”的组件上的,它们共进退。 这意味着:你不能让磁头 1 读内圈,同时让磁头 2 读外圈。它们必须停在同一个半径上。

- **磁道 (Track)
- 盘面被划分成无数个同心圆,每一个圆环叫一个磁道。
- 编号从外向内(0号磁道在最外圈)
- 密度差异: 外圈周长长,存的数据多;内圈周长短,存的数据少(但在老式磁盘中,为了简化控制,所有磁道的扇区数是一样的;现代磁盘采用“多带记录”技术,外圈扇区更多)。
- 扇区(Sector)
- 每个磁道被切分成若干个小段,叫扇区。
- 这是磁盘读写的物理最小单位。(操作系统读取数据时,哪怕你只想要 1 个字节,硬盘也必须把整个扇区(512B)读出来交给你)
- 如果每一圈磁道的扇区数量是固定的,内圈数据密度大,外圈数据密度小。
- 柱面 (Cylinder)
- 所有盘面上,半径相同的磁道,在这个垂直空间上组成了一个圆筒,叫柱面。
磁盘块寻址
- 要定位一个数据块,操作系统需要给硬盘发三个坐标参数,称为 CHS
- Cylinder (柱面号): 决定磁臂要把磁头挪到多远的半径(寻道,最慢)。
- Head (磁头号/盘面号): 决定激活哪一个磁头(电子切换,极快)。
- Sector (扇区号): 决定等待哪个扇区转到磁头底下(旋转延迟,中等)。
- 磁盘总容量 = 柱面数 × 盘面数 × 每道扇区数 × 扇区大小
一次磁盘读写时间

- 寻道时间 \(T_s\):将磁头移动到对应的磁道所需时间。启动磁头臂时间\(s\),跨越磁道数\(n\) ,平均跨越速度\(m\):\(T_s = s + n\times m\)
- 延迟时间 \(T_R\):通过旋转磁盘,将磁头定位到目标扇区所需时间。磁盘转速为\(r\),\(\frac{1}{r}\)是转一圈的时间,找到目标扇区的平均需要装半圈,\(T_R=\frac{1}{2r}\)
- 传输时间 \(T_t\):从磁盘读写数据要经历的时间。磁盘转速为\(r\),此次读写字节数为\(b\),每个磁道上字节数为\(N\),\(T_t = \frac{b}{rN}\)。
- 延迟时间和传输时间都与磁盘转速有关,是硬件的固有属性,操作系统无法优化。
- 操作系统根据磁盘调度算法优化寻道时间
磁盘调度算法
先来先服务FCFS

- 核心思想:根据进程请求访问磁盘的先后顺序进行调度。
- 缺点:如果大量进程竞争使用磁盘,请求磁道很分散,则性能很低,寻道时间长。
- 优点:实现简单。
最短寻找时间优先SSTF

- 核心思想:优先处理与当前磁头最近的磁道,类似贪心思想。
- 优点:性能较好,平均寻道时间短
- 缺点:可能产生饥饿现象(一直处理请求密集区,而不处理距离远的磁道,磁头在一个小区域内来回移动)。
扫描算法SCAN
- 核心思想:只有磁头移动到最外侧磁道时才能往内移动,移动到最内侧磁道时才能往外移动,也叫电梯算法。
- 优点:性能好,不产生饥饿现象
- 缺点:只有到达最边上的磁道才能改变磁头移动方向。对各个位置的磁道响应频率不平均。

LOOK调度
- 思想:在SCAN算法基础上改进,如果磁头在移动方向上没有别的请求,就立即改变磁头移动方向。
循环扫描算法CSCAN

- 思想:只有磁头朝某个方向移动时才处理访问请求,返回时快速移动到起始端,不处理任何请求。
- 优点:解决了SCAN对各个位置的磁道响应频率不平均的问题。
- 缺点:只有到达最边上的磁道才能改变磁头移动方向。
CLOOK算法
- 思想:在CSCAN算法的基础上,如果磁头在移动方向上没有别的请求,就立即让磁头返回,返回到最靠边缘的有磁道访问请求的位置即可
旋转调度
- 旋转调度的目标为:同一个柱面上的各个IO请求。
- 关注那些不同磁道的相同扇区号上的访问请求。

减少延迟时间
- 如果逻辑相邻的扇区在物理上也相邻,则读入几个连续的逻辑扇区,延迟时间可能会很长。因为磁头读入一个扇区后需要一小段时间处理,会错过要读入的下一个连续的扇区。
- 使用交替编号的策略:让编号相邻的扇区物理上不相邻,可以使得读取连续逻辑扇区的延迟时间更小。
- 使用错位命名的策略与交替编号类似:让相邻盘面的扇区编号错位,可降低延迟时间
posted @
2026-01-10 16:58
NightRainLone
阅读(
5)
评论()
收藏
举报