假设磁盘头从磁道1开始;有 230 个轨道(从 1 到 230);一次查找需要 34 + 0.1*T 毫秒,其中 T 是要移动的磁道数;延迟为 12 毫秒; I/O传输需要3毫秒。以下是所有已在磁盘队列中的请求以及它们到达的时间(从时间 0 开始):
arrival time(ms): 0, 21, 23, 28, 32, 45, 58, 83, 89, 109
for track: 43, 132, 34, 23, 202, 175, 219, 87, 75, 182
计算以下每种磁盘调度算法处理请求的平均时间:SCAN、FCFS、SSTF。还显示每个算法的服务顺序。
扫描的答案:
1>23>34>43>75>87>132>175>182>202>219>230
average time = 10*49 + 0.1*218 = 51.18 ms
我不明白他们是如何计算平均时间的。 以上是他们展示的唯一作品。 他们从哪里得到平均时间公式中的 10 和 218?
FCFS的答案
1>43>132>34>23>202>175>219>87>75>182
average time = 490 + (42+89+98+11+179+27+44+132+12+107)*0.1 = 56.4ms
我知道他们从哪里得到 (42+89+98+11+179+27+44+132+12+107)*0.1
,但他们是如何得到 490 的?
最佳答案
对于扫描,移动的轨迹总数只是 1(磁头起始位置)和 219(最远轨迹)之间的差,因此移动过去轨迹所需的时间为 0.1*(219-1)。
寻道开销为 34,延迟为 12,传输开销为 3,总共 34+12+3 = 49。
因此总时间为10*49+0.1*218 = 490+21.8 = 511.8,平均51.18。
FCFS 的非移动时间为 490 毫秒。只是轨道移动时间不同。
关于algorithm - 磁盘调度算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13447974/