这道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不会造成磁臂黏着。
本文为个人猜想,欢迎博友一起讨论!