知识点:操作系统 -> 设备管理 -> 磁盘调度 -> 旋转调度算法
这是软设书上一个几乎一模一样的例题,比书上的计算难度更简单,在222页。如果没看过可能根本不知道这题在讲什么。
读题:
题目的意思就是说有一个针一直在磁盘上不停的匀速旋转(画圆圈),在一些特定位置开始读取数据,在其他位置的时候就处理数据而不读取,处理完马上去找下一个物理块读取数据,接着循环,问什么时候才能全部处理完。
解题:第一空:
因为题目中说转一圈要10毫秒,那么经过一个物理块就需要1毫秒。也就是读取R1的时候需要1毫秒。
因为题目中说处理一个需要2毫秒,那么当读完R1那个针进入R2的时候就开始处理,出R3到R4的临界时候就把R1处理完了。因为题目要求是顺序处理,所以要求处理完R1的时候要来处理R2,所以现在那个针在R4上,所以需要等它匀速的转到R2的时候才开始读取R2。可以数一下它需要的时间是8毫秒。后面9个磁道全是这样的,所以加起来的时间是:第一个时间1+2+后面9个的时间9x(8+1+2)=D选项的时间。
第二空:需要优化一下他们的顺序,那么就是处理完R1就能马上处理R2,也就是R2应该放在4号物理块上,后面的以此类推。所以就是处理完1个就需要3毫秒,总共就需要30毫秒。