用循环扫描算法CSCAN计算假设每移动一个柱面需要2毫秒时间如果现在读写磁头正在50号柱面上执行输出操作而等待访问者依次要访问的柱面为130、199、32、159、15、148、61、99求平均寻道长度和总共花费的寻找时间。
首先,将等待访问的柱面按照升序排列:15、32、61、99、130、148、159、199。
然后,将柱面号限制在0到199之间,以50号柱面为起点开始扫描。扫描方向为向外,直到到达柱面199,然后立即返回50号柱面,继续向外扫描,直到到达第一个等待访问的柱面15,然后再改变方向,向内扫描,直到到达最后一个等待访问的柱面199。
在扫描过程中,记录前一个访问的柱面号,计算每次访问所需的寻道时间和总共花费的寻找时间。最后,将总共花费的寻找时间除以等待访问的柱面数,得到平均寻道长度。
具体计算过程如下:
起点:50
先向外扫描,到达199:
50 -> 51 -> ... -> 199 (150个柱面,需要300毫秒)
再返回50,继续向外扫描,到达15:
50 -> 49 -> ... -> 15 (35个柱面,需要70毫秒)
改变方向,向内扫描,到达199:
15 -> 14 -> ... -> 0 -> 199 (200个柱面,需要400毫秒)
最后一次访问的是199号柱面,总共花费的寻找时间为300+70+400=770毫秒。平均寻道长度为(199-50+15-0)*2/8=57.5个柱面
原文地址: https://www.cveoy.top/t/topic/fp8C 著作权归作者所有。请勿转载和采集!