假定磁盘有200个磁道,当前有8个进程先后提出I/O操作,需要访问的磁道分别为:98,183,37,122,14,124,65,67,当前读写头起始位置为53,正在向小号移动。请采用扫描算法,计算总的磁头移动次数是多少?
时间: 2024-04-07 15:28:25 浏览: 159
根据扫描算法,磁头按一个方向移动,直到到达磁盘的一端,然后改变方向,继续移动,直到到达另一端。在这个过程中,磁头会经过所有需要访问的磁道。
根据题目,当前读写头起始位置为53,正在向小号移动,因此我们需要先将需要访问的磁道按照距离当前位置的距离从小到大排序。排序后的磁道为:65,67,37,14,98,122,124,183。
然后我们按照扫描算法的规则,从当前位置53开始,向小号方向移动,直到到达磁盘的一端,再改变方向,继续移动,直到经过所有需要访问的磁道。在这个过程中,磁头移动的距离就是总的磁头移动次数。
具体计算过程如下:
1. 从53到0,移动距离为53。
2. 从0到14,移动距离为14。
3. 从14到37,移动距离为23。
4. 从37到65,移动距离为28。
5. 从65到98,移动距离为33。
6. 从98到122,移动距离为24。
7. 从122到124,移动距离为2。
8. 从124到183,移动距离为59。
9. 从183到200,移动距离为17。
10. 从200到67,移动距离为133。
11. 从67到53,移动距离为14。
总的磁头移动距离为:53+14+23+28+33+24+2+59+17+133+14=380。
因此,总的磁头移动次数为380。
相关问题
用操作系统的知识回答:、请简述设备分配过程 二、假定有一个具有200个磁道(0-199磁道)的移动头磁盘,在完成了125磁道的请求后,当前正在磁道143处为一个请求服务。若请求队列请求的读写磁道为: 86,147,91,177,94,150,102,175,130,对于下列每种磁盘调度算法FCFS,SSTF,SCAN,C-SCAN,求磁头总寻道长度、平均寻道长度各是多少?
一、设备分配过程指操作系统对于设备的分配和管理过程。它包括请求、分配、使用和释放四个阶段。请求阶段是用户进程向操作系统发出请求,分配阶段是操作系统根据设备管理策略为请求进程分配设备,使用阶段是进程使用设备进行I/O操作,释放阶段是进程释放设备并通知操作系统。
二、FCFS(先来先服务)算法:
磁头总寻道长度 = |125 - 86| + |86 - 147| + |147 - 91| + |91 - 177| + |177 - 94| + |94 - 150| + |150 - 102| + |102 - 175| + |175 - 130| = 782
平均寻道长度 = 782 / 9 = 86.89
SSTF(最短寻道时间优先)算法:
磁头总寻道长度 = |125 - 130| + |130 - 147| + |147 - 150| + |150 - 177| + |177 - 175| + |175 - 94| + |94 - 91| + |91 - 102| + |102 - 86| = 313
平均寻道长度 = 313 / 9 = 34.78
SCAN(电梯)算法:
先将请求队列排序为升序:86,91,94,102,130,147,150,175,177
磁头总寻道长度 = |125 - 130| + |130 - 147| + |147 - 150| + |150 - 175| + |175 - 177| + |177 - 199| + |199 - 94| + |94 - 91| + |91 - 86| = 694
平均寻道长度 = 694 / 9 = 77.11
C-SCAN(循环扫描)算法:
先将请求队列排序为升序:86,91,94,102,130,147,150,175,177
磁头总寻道长度 = |125 - 130| + |130 - 147| + |147 - 150| + |150 - 175| + |175 - 177| + |177 - 199| + |199 - 0| + |0 - 86| + |86 - 91| = 878
平均寻道长度 = 878 / 9 = 97.56
假定有一个具有200个磁道(0-199磁道)的移动头磁盘,在完成了125磁道的请求后,当前正在磁道143处为一个请求服务。若请求队列请求的读写磁道为: 86,147,91,177,94,150,102,175,130,对于下列每种磁盘调度算法FCFS,SSTF,SCAN,C-SCAN,求磁头总寻道长度、平均寻道长度各是多少?
首先,我们需要将磁道请求按照访问顺序进行排序。
按照 FCFS 算法,磁头按照请求的先后顺序进行访问,因此磁头总寻道长度为:
125-86+147-86+147-91+177-91+177-94+150-94+150-102+175-102+175-130 = 1107
平均寻道长度为:1107/9 = 123
按照 SSTF 算法,磁头按照距离当前磁道最近的请求进行访问,因此我们需要先计算当前磁头位置与请求磁道的距离,然后按照距离从小到大进行排序。计算距离后,请求队列变为:
86,91,94,102,130,147,150,175,177
磁头总寻道长度为:
143-147+147-150+150-175+175-177+177-86+86-91+91-94+94-102+102-130 = 684
平均寻道长度为:684/9 = 76
按照 SCAN 算法,磁头按照一个方向进行访问,直到到达最后一个请求,然后改变方向继续访问,直到访问完所有请求。由于当前磁头位置在请求队列的中间,我们需要先将请求分为两部分,左边请求按照递减顺序排序,右边请求按照递增顺序排序。请求队列变为:
177,175,150,147,130,91,86,94,102
磁头总寻道长度为:
177-125+175-86+150-86+147-86+130-86+91-86+94-91+102-94 = 746
平均寻道长度为:746/9 = 83
按照 C-SCAN 算法,磁头按照一个方向进行访问,直到到达最后一个请求,然后磁头返回到最开始的磁道,继续访问剩余请求,直到访问完所有请求。和 SCAN 算法类似,我们需要将请求分为两部分,左边请求按照递减顺序排序,右边请求按照递增顺序排序。请求队列变为:
177,175,150,147,130,102,94,91,86
磁头总寻道长度为:
177-125+199-175+150-86+147-86+130-86+102-86+94-91+91-0+86-0 = 943
平均寻道长度为:943/9 = 105
因此,FCFS 的平均寻道长度是 123,SSTF 的平均寻道长度是 76,SCAN 的平均寻道长度是 83,C-SCAN 的平均寻道长度是 105。从结果可以看出,SSTF 算法的效果最好,FCFS 算法的效果最差。
阅读全文