【答案解析】[解析]
磁盘调度分为移臂调度和旋转调度两类,并且是先进行移臂调度,然后再进行旋转调度。由于访问磁盘最耗时的是寻道时间,因此,磁盘调度的目标应是使磁盘的平均寻道时间最少。
为存取磁盘上的一个物理记录,必须给出三个参数:柱面号、磁头号(盘面号)和扇区号。磁盘机根据柱面号控制移动臂作径向运动,带动读写头到达所需的柱面;从磁头号可确定哪一个磁头来读写数据,然后便等待访问的信息块旋转到读写头下时进行存取。磁盘机实现这些功能的操作是:查找(将读写头定位到指定柱面并选择指定磁头)、搜索(指定磁头寻找访问的记录块)、读、写和控制等。
当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序?这就是旋转调度要考虑的问题。显然系统应该选择延迟时间最短的进程执行。当有若干等待进程请求访问磁盘上的信息时,旋转调度应考虑如下情况。
(1)进程请求访问的是同一磁道上的不同编号的扇区。
(2)进程请求访问的是不同磁道上的不同编号的扇区。
(3)进程请求访问的是不同磁道上具有相同编号的扇区。
对于(1)与(2),旋转调度总是让首先到达读写磁头位置下的扇区先进行传送操作;对于(3),旋转调度可以任选一个读写磁头位置下的扇区进行传送操作。
选项A所花费的移动磁臂的总和为(20-18)+(20-20)+(40-20)+(40-15)+(15-15)+ (15-15)+(15-8)+(8-6)=56。
选项B所花费的移动磁臂的总和为(18-6)+(8-6)+(15-8)+(15-15)+(15-15)+(20-15)+ (20-20)+(40-20)=46。
选项C所花费的移动磁臂的总和为(18-15)+(15-15)+(15-15)+(15-8)+(8-6)+(20-6)+ (40-20)+(40-20)=66。
选项D所花费的移动磁臂的总和为(18-6)+(8-6)+(15-8)+(15-15)+(15-15)+(20-15)+ (20-20)+(40-20)=46。
由于选项B和选项D的移臂总量都相等,所以需要计算读写操作(旋转延迟或等待时间)所花费的时间,但实际上只要计算相同柱面的即可。
| 请求序列 |
柱面号 |
磁头号 |
扇区号 |
请求序号 |
柱面号 |
磁头号 |
扇区号 |
| ① |
15 |
8 |
9 |
⑤ |
15 |
8 |
4 |
| ② |
20 |
6 |
3 |
⑥ |
6 |
3 |
10 |
| ③ |
20 |
9 |
6 |
⑦ |
8 |
7 |
9 |
| ④ |
40 |
10 |
5 |
⑧ |
15 |
10 |
4 |
选项B所花费的读写操作的时间:15号柱面先防问的是请求序列①(磁头8,扇区 9)→请求序列⑤(磁头8,扇区4)→请求序列⑧(磁头10,扇区4);20号柱面先访问的是请求序列②(磁头6,扇区3)→请求序列③(磁头9,扇区6)。需要旋转4圈才可完成。
选项D所花费的读写操作的时间:15号柱面先访问的是请求序列⑧(磁头10,扇区4)→请求序列①(磁头8,扇区9)→请求序列⑤(磁头8,扇区4):20号柱面先访问的是请求序列②(磁头6,扇区3)→请求序列③(磁头9,扇区6)。需要旋转3圈才可完成。