2.7.1 磁盘管理-01
本课核心知识点整理
本节导学
磁盘既是外存的一部分,也常被放到设备管理里讨论。字幕里说得很直接:磁盘管理既有存储管理属性,也有设备管理属性。软件设计师考试常见三类题:磁盘存取时间计算、单/双缓冲区处理、磁盘调度算法。
理解磁盘题,要先理解它为什么慢。磁盘访问慢的主要原因不是 CPU 算不动,而是机械定位需要时间:磁头要移动到目标磁道,盘片要转到目标扇区,然后才开始传输数据。
磁盘结构
| 结构 | 含义 |
|---|---|
| 盘面 | 一个磁盘可有多个盘面 |
| 磁道 | 盘面上的同心圆轨迹,通常由外向内编号递增 |
| 扇区 | 磁道再划分出的扇形区域,是常见读写单位 |
| 柱面 | 多个盘面上相同编号磁道组成的“柱状”集合 |
| 磁头 | 负责移动到目标磁道并读写数据 |
读写时通常先完成“寻道”,即磁头移动到目标磁道/柱面;再等待目标扇区随盘片旋转到磁头下;最后进行实际数据传输。
磁盘访问时间
磁盘访问通常包括:
寻道时间是磁头移动到目标磁道的时间;旋转延迟是等待目标扇区转到磁头下的时间;传输时间是数据真正读写的时间。题目给转速时,平均旋转延迟通常取旋转一周时间的一半。
如果磁盘转速为每分钟
平均旋转延迟为:
为什么需要缓冲与调度
磁盘和 CPU、内存之间速度差异明显。缓冲区可以让数据读入、送入用户区、用户处理这几个阶段部分重叠,减少等待。双缓冲比单缓冲更容易形成流水式重叠:一个缓冲区向用户区传送时,另一个缓冲区可以继续接收磁盘数据。
调度算法则通过改变请求服务顺序,减少磁头来回移动。磁头移动越少,寻道时间越小,整体访问性能越好。
做题路线
- 访问时间题先拆三部分:寻道、旋转、传输。
- 平均旋转延迟通常取半圈时间。
- 缓冲题要看哪些阶段能并行,单缓冲和双缓冲不要按完全串行算。
- 调度题先把当前磁头位置和请求柱面画到数轴上。
- 磁盘调度优化的核心通常是减少磁头移动距离。
例题
单选
磁盘访问时间通常由哪几部分组成?
单选
磁盘调度算法主要优化的是:
单选
若题目问平均旋转延迟,通常取:
自查要点
- 磁道、扇区、柱面分别是什么?
- 为什么磁盘访问时间不能只算传输时间?
- 磁盘调度为什么要减少磁头移动?