4.什么是电梯调度算法?假设原来磁盘请求队列已经有请求磁道号为 99, 87,134,66,磁头正从外向里移动(从80移动到了99,磁盘编号是从外到里由小到大编号), 此时768盘块(对应的磁道号为76)加入磁盘的请求队列中,根据电梯调度算法,则接下来磁头移动向哪个磁道?假设每个磁道的移动时间为1ms,则访问76号磁道上的数据还需要多长时间?
时间: 2024-04-01 11:32:10 浏览: 154
电梯调度算法是一种磁盘调度算法,它的基本思想是让磁头按照一个方向移动,直到该方向上没有请求为止,然后改变方向继续移动。这样可以提高磁盘的访问效率,减少磁头的移动次数。
在这个例子中,磁头正从外向里移动,已经访问了磁道号为99的数据,下一个访问的磁道号应该是134。但是此时新的请求队列中加入了磁道号为76的请求,根据电梯调度算法,磁头应该继续向里移动,直到访问到磁道号为76为止。
因此,磁头会继续向里移动,访问磁道号为134,66,76这三个磁道,然后再改变方向,向外移动,依次访问磁道号为87和99的数据。
假设每个磁道的移动时间为1ms,则访问76号磁道上的数据需要移动的距离为|80-76|=4个磁道,因此需要4ms的时间。
相关问题
假设磁盘有400个磁道,磁盘请求队列中是一些随机的1/O请求,它们按照到达的次序分别处于110、116、78、36、180、320、300、76、368号磁道上,当前磁头在200号磁道上,并向磁道号增加的方向上移动,请给出按下列算法进行磁盘调度时满足请求的磁头移动的次序。 (1)最短寻道时间优先调度(SSTF) (2)扫描算法(电梯调度算法SCAN) (3)循环扫描算法(CSCAN)
好的,我会回答你的问题。下面分别介绍三种磁盘调度算法的实现过程和磁头移动次序。
1. 最短寻道时间优先调度(SSTF)
SSTF算法会选择距离当前磁头最近的请求进行服务。首先,我们需要计算当前磁头和每个请求的距离,然后按照距离从小到大的顺序依次服务请求。
按照这个算法,服务请求的顺序为:180、116、110、76、78、36、300、320、368。
磁头移动的次序为:200 → 180 → 116 → 110 → 76 → 78 → 36 → 300 → 320 → 368,总共移动了640个磁道。
2. 扫描算法(电梯调度算法SCAN)
SCAN算法会按照磁头移动的方向服务请求,直到服务到最边缘,然后改变移动方向服务请求。
按照这个算法,服务请求的顺序为:180、116、110、78、76、36、300、320、368。
磁头移动的次序为:200 → 180 → 116 → 110 → 78 → 76 → 36 → 300 → 320 → 368 → 400 → 0,总共移动了1040个磁道。
3. 循环扫描算法(CSCAN)
CSCAN算法和SCAN算法类似,但是在到达最边缘后,会直接移动到另一端继续服务请求。
按照这个算法,服务请求的顺序为:180、116、110、78、76、36、368、320、300。
磁头移动的次序为:200 → 180 → 116 → 110 → 78 → 76 → 36 → 368 → 400 → 0 → 320 → 300,总共移动了1048个磁道。
综上所述,三种算法中,SSTF算法的磁头移动次数最少,为640个磁道。
假设有11个进程先后提出磁盘I/O请求,当前磁头正在110磁道处,并预向磁道号增加的方向移动。请求队列顺序为 30, 145, 120, 78, 82, 140, 20, 42, 165, 55, 65。请问:1. 用FCFS 调度算法,第一个访问的磁道为( )最后一个访问的磁道为( ) 平均移动磁道数为 ( )。 2. 用SCAN调度法,第一个访问的磁道为( )最后一个访问的磁道为( ), 平均移动磁道数为 ( )
1. FCFS调度算法的顺序是按照请求的顺序进行访问的。因此,第一个访问的磁道是30,最后一个访问的磁道是65,平均移动磁道数为:
```
(145-30) + (145-120) + (120-78) + (82-78) + (140-82) + (140-20) + (42-20) + (165-42) + (165-55) + (65-55)
= 1150
```
2. SCAN调度算法按照磁头移动的方向访问请求队列中的请求。在本题中,初始方向是向上移动,因此先访问大于等于110的请求。SCAN调度算法的第一个访问的磁道是120,最后一个访问的磁道是165,平均移动磁道数为:
```
(120-110) + (145-120) + (165-145) + (165-140) + (140-82) + (78-42) + (55-30) + (20-0)
= 630
```
阅读全文