假定读/写磁头位于53号柱面,开始调度时,按顺序有98. 183、37、122、14、124、65、67等柱面提出1/0请求。分别按照FCFS、SSTF、SCAN和CSCAN的调度算法,计算磁头滑过的磁道总个数?
时间: 2023-10-20 16:58:35 浏览: 197
磁盘调度算法(FCFS,SSTF,SCAN)
5星 · 资源好评率100%
首先,我们需要知道磁头移动的距离是按照柱面号的差值来计算的。例如,磁头从某个柱面移到相邻的柱面,需要移动一个磁道的距离。
1. FCFS(先来先服务)调度算法
按照请求的先后顺序依次进行调度,因此磁头滑过的磁道总个数为:
|98-53| + |183-98| + |37-183| + |122-37| + |14-122| + |124-14| + |65-124| + |67-65| = 640
2. SSTF(最短寻道时间优先)调度算法
每次选择距离当前磁头位置最近的请求进行调度,因此磁头滑过的磁道总个数为:
|53-65| + |67-65| + |98-67| + |122-98| + |124-122| + |183-124| + |37-183| + |14-37| = 236
3. SCAN(电梯)调度算法
先将请求按照柱面号从小到大排序,然后磁头从当前位置开始沿着柱面号递增的方向移动,一直到最大的请求位置,然后调头,继续沿着递增方向移动,直到最小的请求位置。因此磁头滑过的磁道总个数为:
|53-37| + |98-37| + |122-98| + |124-122| + |183-124| + |183-65| + |67-65| + |14-67| = 312
4. CSCAN(循环扫描)调度算法
和SCAN算法类似,只不过当磁头到达最大请求位置后,不是直接调头回到最小请求位置,而是回到最小请求位置的磁道上,再沿着递增方向移动。因此磁头滑过的磁道总个数为:
|53-37| + |98-37| + |122-98| + |124-122| + |183-124| + |199-183| + |199-0| + |67-0| + |14-67| = 415
综上所述,FCFS算法磁头滑过的磁道总个数最多,SSTF算法磁头滑过的磁道总个数最少,而SCAN和CSCAN算法的磁头滑过的磁道总个数介于两者之间。
阅读全文