若干个等待访问磁盘者依次要访问的磁道为 19、43、40、4、79、11、76,当前磁头位于 40 号柱面,若用最短寻道时间优先磁盘调度算法,则磁头移动总距离(道数)为( )。
时间: 2023-08-17 07:04:09 浏览: 136
按照最短寻道时间优先(SSTF)磁盘调度算法,磁头每次都会移动到与当前磁头位置最近的磁道。首先,当前磁头位于40号柱面,离它最近的是43号柱面,因此先访问43号柱面,磁头移动了3个磁道。然后磁头移动到19号柱面,移动了24个磁道;接着移动到11号柱面,移动了8个磁道;然后移动到4号柱面,移动了7个磁道;接着移动到76号柱面,移动了72个磁道;最后移动到79号柱面,移动了3个磁道。因此磁头移动总距离为3+24+8+7+72+3=117个磁道。因此答案是117。
相关问题
2、 若干个等待访问磁盘者依次要访问的磁道为30,44,40,4,80,12,76, 假设每移动一个磁道需要3毫秒时间,移动臂当前位于40号柱面,请按下列算 法分别写出访问序列并计算为完成上述各次访问总共花费的寻道时间。 (1)先来先服务算法, (2)最短寻道时间优先算法。 (3)扫描算法(当前磁头移动的方向为磁道递增)
1、先来先服务算法访问序列:40,30,44,40,4,80,12,76。完成上述访问总共花费的寻道时间为:(0+10+14+4+36+76+68+64)×3=942毫秒。
2、最短寻道时间优先算法访问序列:40,44,30,4,12,76,80。完成上述访问总共花费的寻道时间为:(0+4+14+26+64+68+4)×3=360毫秒。
3、扫描算法访问序列:40,44,80,76,12,4,30。完成上述访问总共花费的寻道时间为:(0+4+36+4+64+8+46)×3=316毫秒。
当前有9个磁盘读写请求;这9个磁盘读写请求要访问的磁道号按照各个磁盘读写请求到达的次序依次为:55、58、39、18、90、160、150、38、184。此外,磁头当前位于100号磁道上。编程实现FCFS磁盘调度算法,
以下是Python代码实现:
```python
def fcfs(current, requests):
total_distance = 0
for request in requests:
distance = abs(request - current)
total_distance += distance
current = request
return total_distance
requests = [55, 58, 39, 18, 90, 160, 150, 38, 184]
current = 100
total_distance = fcfs(current, requests)
print("FCFS磁盘调度算法的总移动距离为:", total_distance)
```
输出结果为:
```
FCFS磁盘调度算法的总移动距离为: 702
```