题目
(考研真题)磁盘请求服务队列中要访问的磁道[1]分别为38、6、37、100、14、124、65、67,磁头[2]上次访问了20号磁道,当前处于30号磁道上,试采用FCFS、SSTF和SCAN调度算法,分别计算磁头移动的磁道数。
(考研真题)磁盘请求服务队列中要访问的磁道[1]分别为38、6、37、100、14、124、65、67,磁头[2]上次访问了20号磁道,当前处于30号磁道上,试采用FCFS、SSTF和SCAN调度算法,分别计算磁头移动的磁道数。
题目解答
答案
FCFS(先来先服务)算法是按照磁道请求的先后顺序进行访问,没有考虑磁道之间的距离。SSTF(最短寻找时间优先)算法是选择离当前磁头位置最近的磁道进行访问,每次选择离当前位置最近的磁道。SCAN(扫描)算法是磁头按照一个方向移动,直到到达最边缘,然后改变方向继续移动,按照这种方式往复进行。
根据给定的磁道序列和当前磁头位置,我们可以模拟执行FCFS、SSTF和SCAN算法,计算磁头移动的磁道数。以FCFS算法为例,按照磁道序列的顺序依次访问,计算磁头移动的磁道数。假设当前磁头位置为30号磁道,按照磁道序列依次访问,磁头移动的磁道数为|38-30| + |6-38| + |37-6| + |100-37| + |14-100| + |124-14| + |65-124| + |67-65| = 380。
类似地,我们可以按照SSTF和SCAN算法的原理进行模拟计算,得到磁头移动的磁道数。
最后,比较三种算法的结果。根据计算得到的磁头移动的磁道数,可以比较FCFS、SSTF和SCAN算法的性能。通常情况下,SSTF算法在磁头移动的磁道数上表现最好,因为它选择离当前位置最近的磁道进行访问,减少了磁头移动的距离。而FCFS算法和SCAN算法的性能相对较差,因为它们没有考虑磁道之间的距离。
解析
步骤 1:FCFS(先来先服务)算法
根据FCFS算法,磁头按照请求的顺序依次访问磁道。当前磁头位置为30号磁道,磁道请求队列为38、6、37、100、14、124、65、67。磁头移动的磁道数为|38-30| + |6-38| + |37-6| + |100-37| + |14-100| + |124-14| + |65-124| + |67-65| = 380。
步骤 2:SSTF(最短寻找时间优先)算法
根据SSTF算法,磁头选择离当前位置最近的磁道进行访问。当前磁头位置为30号磁道,磁道请求队列为38、6、37、100、14、124、65、67。首先访问37号磁道,然后依次访问38、6、14、65、67、100、124号磁道。磁头移动的磁道数为|37-30| + |38-37| + |6-38| + |14-6| + |65-14| + |67-65| + |100-67| + |124-100| = 236。
步骤 3:SCAN(扫描)算法
根据SCAN算法,磁头按照一个方向移动,直到到达最边缘,然后改变方向继续移动。当前磁头位置为30号磁道,磁道请求队列为38、6、37、100、14、124、65、67。首先向右移动,依次访问38、65、67、100、124号磁道,然后向左移动,依次访问37、14、6号磁道。磁头移动的磁道数为|38-30| + |65-38| + |67-65| + |100-67| + |124-100| + |37-124| + |14-37| + |6-14| = 246。
根据FCFS算法,磁头按照请求的顺序依次访问磁道。当前磁头位置为30号磁道,磁道请求队列为38、6、37、100、14、124、65、67。磁头移动的磁道数为|38-30| + |6-38| + |37-6| + |100-37| + |14-100| + |124-14| + |65-124| + |67-65| = 380。
步骤 2:SSTF(最短寻找时间优先)算法
根据SSTF算法,磁头选择离当前位置最近的磁道进行访问。当前磁头位置为30号磁道,磁道请求队列为38、6、37、100、14、124、65、67。首先访问37号磁道,然后依次访问38、6、14、65、67、100、124号磁道。磁头移动的磁道数为|37-30| + |38-37| + |6-38| + |14-6| + |65-14| + |67-65| + |100-67| + |124-100| = 236。
步骤 3:SCAN(扫描)算法
根据SCAN算法,磁头按照一个方向移动,直到到达最边缘,然后改变方向继续移动。当前磁头位置为30号磁道,磁道请求队列为38、6、37、100、14、124、65、67。首先向右移动,依次访问38、65、67、100、124号磁道,然后向左移动,依次访问37、14、6号磁道。磁头移动的磁道数为|38-30| + |65-38| + |67-65| + |100-67| + |124-100| + |37-124| + |14-37| + |6-14| = 246。