假定一磁盘有100个柱面,编号为0~99,当前存取臂的位置在5号柱面上,并刚完成了10号柱面的服务请求,如果此时请求队列的先后顺序是:80,20,90,40,70,60;请分别给出FCFS算法、电梯调度算法的存取臂移动顺序以及采用两种算法的存取臂移动总量。
时间: 2024-04-05 18:34:36 浏览: 41
FCFS算法的存取臂移动顺序是:5 -> 80 -> 20 -> 90 -> 40 -> 70 -> 60。
存取臂移动总量为:
$$(80-5)+(80-20)+(90-20)+(90-40)+(90-70)+(90-60)=545$$
电梯调度算法的存取臂移动顺序是:5 -> 40 -> 20 -> 60 -> 70 -> 80 -> 90 -> 90。
存取臂移动总量为:
$$(40-5)+(40-20)+(60-20)+(70-60)+(80-70)+(90-80)+(90-90)=215$$
因此,电梯调度算法的存取臂移动总量较小,效率更高。
相关问题
假定磁盘有200个柱面,编号0~199,当前存取臂的位置在143号柱面上,并刚刚完成了125号柱面的服务请求,如果请求队列的先后顺序是:86,147,91,177,94,150,102,175,130;试问:为完成上述请求,下列算法存取臂
的移动距离最短?
1. 先来先服务算法 (FCFS):
存取顺序为:143, 86, 147, 91, 177, 94, 150, 102, 175, 130
移动距离为:125 + 57 + 61 + 56 + 86 + 83 + 56 + 48 + 73 = 645
2. 最短寻道时间优先算法 (SSTF):
存取顺序为:143, 147, 150, 175, 177, 130, 102, 94, 91, 86
移动距离为:125 + 4 + 3 + 25 + 2 + 47 + 72 + 8 + 3 + 5 = 292
3. 扫描算法 (SCAN):
存取顺序为:143, 175, 177, 199, 150, 130, 102, 94, 91, 86, 0, 1, 2, 3, ..., 85, 84
移动距离为:125 + 32 + 2 + 22 + 49 + 20 + 32 + 8 + 3 + 5 + 86 + 1 + 1 + 1 + ... + 85 = 1942
因此,最短寻道时间优先算法 (SSTF) 的移动距离最短。
c++模拟磁盘移臂调度前存取臂的位置在143号柱面上,并刚刚完成了128号柱面的服务请
模拟磁盘移臂调度是指对磁盘存取操作进行调度,以提高磁盘的访问效率。根据题目的描述,我们可以得知当前磁盘移臂的位置在143号柱面上,并且刚刚完成了128号柱面的服务。
在进行下一个存取操作前,我们需要确定下一个应该访问的柱面号。常用的磁盘调度算法有很多,比如FCFS(先来先服务)、SSTF(最短寻道时间优先)、SCAN(电梯算法)等等。根据具体的调度算法不同,下一个应该访问的柱面号也会有所不同。
如果使用FCFS算法,则下一个应该访问的柱面号不受前一个访问操作的影响,按照存取请求的顺序进行访问。在这种情况下,我们无法确定下一个具体的柱面号。
但是如果使用某些启发式的调度算法,比如SSTF算法,下一个应该访问的柱面号是距离当前位置最近的未访问柱面号。在本题中,我们可以考虑下一个应该访问的柱面号是143号柱面左右两侧最近的柱面号。
总之,在没有具体的调度算法信息时,我们无法确定下一个应该访问的柱面号。