Skip to content
难度基础(★)
建议时长45分钟

2.7.1 磁盘管理-01

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

本节导学

磁盘既是外存的一部分,也常被放到设备管理里讨论。字幕里说得很直接:磁盘管理既有存储管理属性,也有设备管理属性。软件设计师考试常见三类题:磁盘存取时间计算、单/双缓冲区处理、磁盘调度算法。

理解磁盘题,要先理解它为什么慢。磁盘访问慢的主要原因不是 CPU 算不动,而是机械定位需要时间:磁头要移动到目标磁道,盘片要转到目标扇区,然后才开始传输数据。

磁盘结构

结构含义
盘面一个磁盘可有多个盘面
磁道盘面上的同心圆轨迹,通常由外向内编号递增
扇区磁道再划分出的扇形区域,是常见读写单位
柱面多个盘面上相同编号磁道组成的“柱状”集合
磁头负责移动到目标磁道并读写数据

读写时通常先完成“寻道”,即磁头移动到目标磁道/柱面;再等待目标扇区随盘片旋转到磁头下;最后进行实际数据传输。

磁盘访问时间

磁盘访问通常包括:

访问时间=寻道时间+旋转延迟+传输时间

寻道时间是磁头移动到目标磁道的时间;旋转延迟是等待目标扇区转到磁头下的时间;传输时间是数据真正读写的时间。题目给转速时,平均旋转延迟通常取旋转一周时间的一半。

如果磁盘转速为每分钟 r 转,则一圈时间为:

60r 秒

平均旋转延迟为:

30r 秒

为什么需要缓冲与调度

磁盘和 CPU、内存之间速度差异明显。缓冲区可以让数据读入、送入用户区、用户处理这几个阶段部分重叠,减少等待。双缓冲比单缓冲更容易形成流水式重叠:一个缓冲区向用户区传送时,另一个缓冲区可以继续接收磁盘数据。

调度算法则通过改变请求服务顺序,减少磁头来回移动。磁头移动越少,寻道时间越小,整体访问性能越好。

做题路线

  1. 访问时间题先拆三部分:寻道、旋转、传输。
  2. 平均旋转延迟通常取半圈时间。
  3. 缓冲题要看哪些阶段能并行,单缓冲和双缓冲不要按完全串行算。
  4. 调度题先把当前磁头位置和请求柱面画到数轴上。
  5. 磁盘调度优化的核心通常是减少磁头移动距离。

例题

单选
磁盘访问时间通常由哪几部分组成?
单选
磁盘调度算法主要优化的是:
单选
若题目问平均旋转延迟,通常取:

自查要点

  1. 磁道、扇区、柱面分别是什么?
  2. 为什么磁盘访问时间不能只算传输时间?
  3. 磁盘调度为什么要减少磁头移动?