首页 > 试题广场 >

假设磁头当前位于116道,正在向磁道序号增加的方向移动。现有

[单选题]
假设磁头当前位于116道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为48, 59, 37, 81, 125, 195, 185, 205采用电梯调度SCAN算法得到的磁道访问序列是:
  • 125, 185, 195, 205, 81, 59, 48, 37
  • 125, 185, 195, 205, 37, 48, 59, 81
  • 37, 48, 59, 81, 125, 185, 195, 205
  • 125, 195, 185, 205, 48, 59, 37, 81
这题我把电梯调度与循环扫描算法给记混了。。。
其实很简单,电梯算法的核心就是尽可能的不让磁头的方向发生翻转。当前处于116道且磁头朝增加的方向,那么根据电梯扫描算法,磁头会一直朝着增加方向走,直到到达磁盘的一端。在到达磁盘的一端后,磁头掉头,再朝着磁盘另一端去扫描。这个过程就跟电梯一样所以叫电梯扫描算法。
因此,磁道访问序列为:116->125->185->195->205->81->59->48->37
发表于 2021-08-20 12:02:45 回复(0)
这种题要怎么计算呀。。软件工程专业表示完全不知道这方面的知识。。
发表于 2023-07-24 10:41:56 回复(0)
我理解的是就像跑马拉松,116的首先慢慢的追上最大值,然后最后停下被后面的依次追上,更逻辑清晰的我就不清楚了,欢迎大佬解答
发表于 2021-08-03 16:01:58 回复(1)
我靠,原来这么简单。下面是GPT的解释。
电梯调度算法(SCAN算法)模仿了电梯的工作方式,磁头从一端移动到另一端,途中访问所有请求的磁道,到达末端后,磁头改变方向继续服务请求,直到没有未处理的请求为止。根据题目给定条件,磁头当前位于116道,并向磁道序号增加的方向移动。

首先,我们将所有的磁道请求按照数值大小排序:37, 48, 59, 81, 125, 185, 195, 205。然后,根据SCAN算法,在磁头朝一个方向移动的过程中,它会依次处理所有在这个方向上的请求,直到达到磁盘的一端或者没有更多的请求需要服务。在本例中,因为磁头正在向磁道序号增加的方向移动,所以它会先处理所有大于或等于当前位置(116)的请求,然后当它到达最远端时(或者在这个例子中是序列中的最大值),它将改变方向,开始处理小于当前位置的请求。

因此,根据这个逻辑,我们得到以下的磁道访问序列:

1. 首先,处理所有大于或等于116的请求:125, 185, 195, 205。
2. 然后,假设磁头到达了磁盘的最大端(或序列中的最大值205),它将反转方向并开始处理剩下的请求:81, 59, 48, 37。

最终的磁道访问序列将是:125, 185, 195, 205, 81, 59, 48, 37。

请注意,如果磁盘有明确的最大和最小磁道数限制,那么当磁头达到这些限制时就会改变方向。但是在这个问题中,我们只考虑给定的请求序列,所以一旦最大的请求被服务完(即205),我们就假定磁头改变方向来服务剩余的请求。

发表于 2024-12-28 19:48:03 回复(0)
电梯调度,结合生活中的例子。电梯在5层,你在3层按了下去的电梯,4层也有人按了下去的电梯,那电梯会因为你3层是先按的先服务你吗?肯定是先服务近的啦。
发表于 2024-10-15 11:10:11 回复(0)
我在做这道题是时还不知道电梯调度SCAN算法,我是觉得顾名思义,跟电梯的上下行原理应该相关,所以对于这道题,我当时是这样想的,我现在在116层,电梯正在上升,然后现在48, 59, 37, 81, 125, 195, 185, 205这几层都有人按电梯,那这个时候电梯的上升顺序应该就是125, 185, 195, 205, 81, 59, 48, 37。瞎猫碰上死耗子,真正的原理我不清楚,有没有大佬讲解一下
发表于 2024-10-06 14:16:52 回复(0)