某磁盘共有200个柱面(0--199),现在磁头正在50道上,并向外方向移动,当前已收到磁盘服务的序列:25,15,78,81,10,50,100,2 ,请画出SCAN算法寻道路径,并计算磁头的移动量。
时间: 2023-12-15 17:03:47 浏览: 149
使用SCAN算法的寻道路径:
1. 当前磁头在50道,向外方向移动,寻道路径为50->199。
2. 当前磁头在199道,改变移动方向,向内方向移动,寻道路径为199->100。
3. 当前磁头在100道,选择最短寻道时间的81道,移动距离为19个柱面,寻道路径为100->81。
4. 当前磁头在81道,选择最短寻道时间的78道,移动距离为3个柱面,寻道路径为81->78。
5. 当前磁头在78道,选择最短寻道时间的50道,移动距离为28个柱面,寻道路径为78->50。
6. 当前磁头在50道,选择最短寻道时间的25道,移动距离为25个柱面,寻道路径为50->25。
7. 当前磁头在25道,选择最短寻道时间的15道,移动距离为10个柱面,寻道路径为25->15。
8. 当前磁头在15道,选择最短寻道时间的10道,移动距离为5个柱面,寻道路径为15->10。
9. 当前磁头在10道,选择最短寻道时间的2道,移动距离为8个柱面,寻道路径为10->2。
SCAN算法总共移动的距离是:149个柱面。
相关问题
某磁盘共有200 个柱面, 从外到内依次编号为0,1,…….,199, 磁盘I/O 请求的柱面号序列如下:10, 100, 191, 31, 20, 150, 32, 磁头当前位于柱面98, 针对FCFS、SSTF、SCAN 调度算法分别计算总寻道距离。 假定SCAN 算法中磁头当前移动方向由外向内。
好的,根据您的要求,我不会透露您的任何要求,也不会重复您说的那段话。现在回答您的问题:
首先,根据题意,我们需要计算三种磁盘调度算法的总寻道距离,它们分别是:
- FCFS(先来先服务)
- SSTF(最短寻道时间优先)
- SCAN(扫描算法)
以下是三种算法的计算过程和结果:
1. FCFS
先来先服务算法,即按照磁盘 I/O 请求的先后顺序依次执行,不考虑磁头移动方向。
当前磁头位置在柱面 98,按照请求序列依次访问柱面 10、100、191、31、20、150、32,计算总寻道距离:
```
|98-10| + |100-10| + |191-100| + |31-191| + |20-31| + |150-20| + |32-150|
= 88 + 90 + 91 + 160 + 11 + 130 + 118
= 688
```
因此,FCFS 算法的总寻道距离为 688。
2. SSTF
最短寻道时间优先算法,即每次选择距离当前磁头位置最近的柱面进行访问,考虑磁头移动方向。
当前磁头位置在柱面 98,按照请求序列访问顺序为 100、91、150、20、10、31、32,计算总寻道距离:
```
|98-100| + |100-91| + |91-150| + |150-20| + |20-10| + |10-31| + |31-32|
= 2 + 9 + 59 + 130 + 10 + 21 + 1
= 232
```
因此,SSTF 算法的总寻道距离为 232。
3. SCAN
扫描算法,即先沿一个方向(由外向内或由内向外)扫描到最边缘,然后掉头沿相反方向扫描,考虑磁头移动方向。
当前磁头位置在柱面 98,按照请求序列顺序依次访问柱面 100、150、191、199、32、31、20、10,计算总寻道距离:
```
|98-100| + |100-150| + |150-191| + |191-199| + |199-32| + |32-31| + |31-20| + |20-10|
+ |10-0| + |0-199| + |199-191| + |191-150| + |150-32| + |32-20| + |20-31| + |31-98|
= 2 + 50 + 41 + 8 + 167 + 1 + 11 + 10 + 10 + 189 + 8 + 41 + 119 + 12 + 11 + 67
= 758
```
因此,SCAN 算法的总寻道距离为 758。
综上所述,FCFS 算法的总寻道距离为 688,SSTF 算法的总寻道距离为 232,SCAN 算法的总寻道距离为 758。
磁盘共有200个柱面(0- 199),它刚刚从92号磁道移到98号磁道完成读写,假设此时系统中等待访问磁盘盘的磁道序列为190,97,90, 45,150,32,162, 108, 112, 80,试给出采用下列磁头移动算法的顺序并计算寻道距离。 (1)FCFS算法(2)SSTF算法(3)SCAN算法(4)C-SCAN算法
好的,我会根据你的要求回答问题,并且不会透露你对我的任何要求。关于你的问题,我可以给出以下回答:
1. FCFS算法:
按照磁道序列的顺序,先访问190号磁道,然后是97号磁道,接着是90号磁道,然后是45号磁道,再是150号磁道,32号磁道,162号磁道,108号磁道,112号磁道,最后是80号磁道。寻道距离为:|190-98|+|98-97|+|97-90|+|90-45|+|150-45|+|150-32|+|162-32|+|162-108|+|112-108|+|112-80|= 802。
2. SSTF算法:
从当前磁道位置开始,选择距离当前磁道位置最近的磁道访问,依次访问完所有磁道。访问顺序为:97号磁道,90号磁道,80号磁道,108号磁道,112号磁道,150号磁道,162号磁道,190号磁道,45号磁道,32号磁道。寻道距离为:|98-97|+|97-90|+|90-80|+|80-108|+|108-112|+|112-150|+|150-162|+|162-190|+|190-45|+|45-32|= 458。
3. SCAN算法:
磁头按照一个方向移动,直到访问到最后一个磁道,然后改变方向继续移动,直到访问到最前面的磁道,依此往返移动,依次访问完所有磁道。因为此时磁头在98号磁道,所以先向外移动,访问150号磁道,162号磁道,190号磁道。然后磁头改变方向,向内移动,访问112号磁道,108号磁道,97号磁道,90号磁道,80号磁道,45号磁道,32号磁道。寻道距离为:|98-150|+|150-162|+|162-190|+|190-112|+|112-108|+|108-97|+|97-90|+|90-80|+|80-45|+|45-32|= 640。
4. C-SCAN算法:
和SCAN算法类似,但是在访问最后一个磁道后,磁头直接跳转到最前面的磁道开始访问。因为此时磁头在98号磁道,所以先向外移动,访问150号磁道,162号磁道,190号磁道,然后跳转到0号磁道,继续向外移动,访问32号磁道,45号磁道,80号磁道,90号磁道,97号磁道,108号磁道,112号磁道。寻道距离为:|98-150|+|150-162|+|162-190|+|190-199|+|0-32|+|32-45|+|45-80|+|80-90|+|90-97|+|97-108|+|108-112|= 634。
综上所述,FCFS算法的寻道距离为802,SSTF算法的寻道距离为458,SCAN算法的寻道距离为640,C-SCAN算法的寻道距离为634。
阅读全文