题7

题目

【2019 统考真题】某计算机系统中的磁盘有 300 个柱面,每个柱面有 10 个磁道,每个磁道有 200 个扇区,扇区大小为 512B。文件系统的每个簇包含 2 个扇区。请回答下列问题:

(1) 磁盘的容量是多少?

(2) 假设磁头在 85 号柱面上,此时有 4 个磁盘访问请求,簇号分别为 100260、60005、101660 和 110560。若采用最短寻道时间优先 (SSTF) 调度算法,则系统访问簇的先后次序是什么?

(3) 第 100530 簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是由 I/O 系统的什么程序完成的?

分析

题9
沟通操作系统地址空间和实际的硬件结构这个过程是设备驱动来做的

  1. 磁盘容量 = 磁盘的柱面数 x 每个柱面的磁道数 每个磁道的扇区数 每个扇区的大小 = KB KB。
  2. 磁头在 85 号柱面上,对 SSTF 算法而言,总是访问当前柱面距离最近的地址。注意每个簇包含 2 个扇区,通过计算得到,85 号柱面对应的簇号为 8500085999。通过比较得出, 系统最先访问离 8500085999 最近的 100260,随后访问离 100260 最近的 101660,然后访问 110560,最后访问 60005。顺序为 100260,101660, 110560, 60005。
  3. 第 100530 簇在磁盘上的物理地址由其所在的柱面号、磁头号、扇区号构成。
Misplaced &\text{柱面号 }&=\lfloor\text{簇号}/\text{每个柱面的簇数}\rfloor=\lfloor100530/(10\times200/2)\rfloor=100。\\ \text{磁头号 }&=\lfloor(\text{簇号}\%\text{每个柱面的簇数})/\text{每个磁道的簇数}\rfloor=\lfloor530/(200/2)\rfloor=5。\\ \text{扇区号 }&=\text{ 扇区地址}\%\text{每个磁道的扇区数 }=(530\times2)\%200=60。 \end{aligned}$$ 将[[簇]]号转换成磁盘物理地址的过程由磁盘[[设备驱动|驱动程序]]完成。