Appearance
题目
下列选项中,不能改善磁盘设备 I/O 性能的是( )。
错因
A
A 是对的——重排 I/O 请求次序就是磁盘调度算法(SSTF / SCAN / CSCAN 等)做的事,按磁头位置 / 寻道距离重新安排请求顺序,直接减少寻道时间。题问"不能改善",A 能改善,不是答案。
C
C 也是对的——预读(提前读后续可能用到的块到缓存)+ 滞后写(写操作先入缓存、批量回盘)都能减少磁盘实际 I/O 次数,是经典 I/O 优化手段。
D
D 也是对的——文件物理块分布均匀(如连续簇分配 / 减少碎片)能让顺序读写寻道时间最小化,是磁盘性能优化的基础策略。
总解析
题问"不能改善"。先理清磁盘 I/O 性能的优化路径:
| 优化目标 | 具体手段 |
|---|---|
| 减少寻道时间 | 重排请求次序(A)、优化文件块分布(D) |
| 减少实际 I/O 次数 | 预读 + 滞后写(C)、磁盘高速缓存 |
| 提高吞吐 | DMA、通道、多磁盘 RAID |
B 设置多个分区和上面三类都不沾:
- 分区是逻辑划分——把一块磁盘划成几个逻辑区域,每区可独立装文件系统
- 分区不改变物理布局——磁头还是要跨柱面寻道
- 分区不改变 I/O 调度——所有请求最终都到同一个物理磁头
- 分区不改变缓存策略——OS 还是按文件做缓存
设置分区的目的是逻辑组织(隔离系统盘和数据盘、装多 OS、便于管理),跟 I/O 性能没关系。多分区甚至可能让性能略变差——跨分区文件访问要在不同磁道间跳,比单一文件系统连续布局更碎。
| 选项 | 描述 | 是否改善 I/O 性能? |
|---|---|---|
| A | 重排 I/O 请求次序 | ✓ 减少寻道时间 |
| B | 设置多个分区 | ✗ 逻辑划分,不影响物理 I/O 性能 |
| C | 预读和滞后写 | ✓ 减少实际 I/O 次数 |
| D | 优化文件物理块分布 | ✓ 减少寻道 |
区分钥匙:磁盘 I/O 性能由"寻道时间 + 旋转延迟 + 传输时间"和"实际访问次数"决定。优化要么作用在这几个量上(A D 减寻道、C 减次数),要么不影响(B 是逻辑划分而非物理优化)。
最终答案是 B。