【问题思考】为什么SCAN CSCAN会导致磁臂黏着而FCFS不会导致磁臂黏着?

请添加图片描述

问题

这道18年的真题引起了我的疑惑,SCAN和CSCAN我认为应该也不会导致磁臂黏着,因为他们对于一个访问序列,比如19,24,52,现在正往外走,但是来了一个12的,不是早晚会往回走?

思考

我考虑到可能有一个缓冲区,而SCAN类型的算法从来都是在缓冲区里进行分配。比如考虑10个磁道,缓冲区大小为5,现在正在往大磁道号上走:
【4,6,7,9,2】,
当访问完9后,缓冲区如下:
【2】,
然而这时可能出现一种情况,就是又来了很多9:
【2,9,9,9,9】,
那么磁臂就会黏着在9(挑选缓冲区中最近的,符合当前磁臂运动方向的磁道)。
而FCFS算法则是【2,9,9,9,9】,直接访问2,
变成【9,9,9,9,9】,因为2是先到的,不考虑缓冲区,只考虑先后顺序,
因此,FCFS不会造成磁臂黏着。

本文为个人猜想,欢迎博友一起讨论!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: FCFS:先来先服务,是一种调度算法,按照作业到达的顺序进行调度。 SSTF:最短寻道时间优先,是一种磁盘调度算法,按照磁头距离最近的磁道进行调度。 SCAN:扫描算法,是一种磁盘调度算法,磁头按照一个方向移动,直到到达磁盘的一端,然后改变方向继续移动。 CSCAN:循环扫描算法,是一种磁盘调度算法,磁头按照一个方向移动,直到到达磁盘的一端,然后回到磁盘的另一端继续移动。 ### 回答2: FCFS(先来先服务)是一种最基本的磁盘调度算法,它按照磁盘请求的先后顺序来安排磁盘访问,不会对请求的位置进行任何优化,也无法避免磁盘头的寻道移动,因此造成长等待时间和低效率的情况。FCFS适用于只有一个程序在磁盘上读写且磁盘访问请求较少的情境。 SSTF(最短寻道时间优先)算法是一种更高效的磁盘调度算法,它通过计算相邻请求磁道与当前磁头的距离来决定下一次磁头移动方向,从而使得磁头在磁盘上移动的距离最小。但是SSTF并不能避免饥饿问题,当存在大量服务请求时,它可能无法及时响应部分请求,从而使得磁头移动距离增加。 SCAN(扫描)算法也是一种磁盘调度算法,它是按磁头扫描方向进行调度的,当磁头到达一侧边界时,磁头反向扫描,这样可以使得磁盘上的请求得到均匀的调度。但是SCAN算法也存在一定的缺点,当请求比较密集时,磁头来回移动的次数增加影响磁盘的性能。 CSCAN(循环扫描)算法是SCAN算法的改进版,它能够有效地减少磁头在磁盘上移动的距离。CSCAN算法也是按磁头扫描方向进行调度,当磁头到达一侧边界时,它直接返回到另一端进行扫描,这样可以避免磁头反向移动。这种算法适用于请求比较密集的情境,能够合理调度磁盘读写请求,提高磁盘调度效率。 总之,不同的磁盘调度算法都有其适用的情境和优劣点,需要根据实际情况进行选择。 ### 回答3: FCFS、SSTF、SCAN、C-SCAN是磁盘调度算法,用于指导磁盘按照何种顺序读写数据。 FCFS(First-Come-First-Serve)算法是最简单的磁盘调度算法,它按照请求的先后顺序进行读写。但是,FCFS算法存在低效问题,当磁盘读写密度大、请求并发高时,平均等待时间变得十分长。 SSTF(Shortest-Seek-Time-First)算法是一种优化算法,它总是选择最短路径的读写请求。SSTF能极大地减小平均寻道时间,提高磁盘读写效率。但是SSTF算法优先考虑寻找靠近当前磁道的读写请求,可能出现在磁盘的某个区域形成“饥饿”现象。 SCAN算法(又叫电梯算法)是按照一个方向前进处理磁盘读写请求,直到该方向无请求之后,再改变方向处理请求。SCAN算法的特点是避免了“饥饿”现象,其缺点在于在每次改变方向时需要退回至磁盘的最大磁道。 C-SCAN(Circular-SCAN)算法是SCAN算法的进一步改进。C-SCAN的处理方式是,在磁盘某一磁道没有读写请求时,将磁头移动到磁盘的最小或最大磁道,继续处理请求。C-SCAN算法适用于具有轴对称特点的磁盘系统,能够让磁头遍历磁盘并进行全部请求读写操作。 综上所述,FCFS适用于请求较少的情况,SSTF适用于需要高效处理寻道时间的情况,SCAN适用于请求密集且磁盘范围较大的情况,C-SCAN适用于在请求密集的情况下同时保证磁盘访问范围较小的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值