当进程请求读磁盘时,操作系统(48)。假设磁盘每磁道有10个扇区,移动臂位于18号柱面上,且进程的请求序列如表1所示。那么,最省时间的响应序列为(49)。

admin2009-03-23  27

问题 当进程请求读磁盘时,操作系统(48)。假设磁盘每磁道有10个扇区,移动臂位于18号柱面上,且进程的请求序列如表1所示。那么,最省时间的响应序列为(49)。


选项 A、②③④⑤⑧①⑦⑥
B、⑥⑦①⑤⑧②③④
C、⑤⑧①⑦⑥②④③
D、⑥⑦⑧①⑤②③④

答案D

解析 磁盘调度分为移臂调度和旋转调度两类,并且是先进行移臂调度,然后再进行旋转调度。由于访问磁盘最耗时的是寻道时间,因此,磁盘调度的目标应是使磁盘的平均寻道时间最少。
   为存取磁盘上的一个物理记录,必须给出三个参数:柱面号、磁头号(盘面号)和扇区号。磁盘机根据柱面号控制移动臂作径向运动,带动读写头到达所需的柱面;从磁头号可确定哪一个磁头来读写数据,然后便等待访问的信息块旋转到读写头下时进行存取。磁盘机实现这些功能的操作是:查找(将读写头定位到指定柱面并选择指定磁头)、搜索(指定磁头寻找访问的记录块)、读、写和控制等。
   当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序?这就是旋转调度要考虑的问题。显然系统应该选择延迟时间最短的进程执行。当有若干等待进程请求访问磁盘上的信息时,旋转调度应考虑如下情况。
   (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的移臂总量都相等,所以需要计算读写操作(旋转延迟或等待时间)所花费的时间,但实际上只要计算相同柱面的即可。

选项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圈才可完成。
转载请注明原文地址:https://kaotiyun.com/show/P9LZ777K
0

最新回复(0)