磁道优化分布的一道题

有人问的一个问题,发现在C站里也挂了很久,没人解答。

磁道优化分布计算处理时间的问题-CSDN社区

这里只解释一下第3题,第1题和第2题是同样的思路。前两题的用时只计算到 "全部读出",第3题的用时要计算到 "全部处理完",也就是差最后一个记录的处理时间1ms。

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| (3)假设每条磁道被分为8个扇区,每个扇区存放一个记录,处理程序顺序处理这8个记录L1,L2,...,L8。每次请求从磁盘上读一个记录,然后对读出的记录花1ms的时间进行处理,以后再读下一个记录进行处理。磁盘旋转一周花费16ms(即每读一个扇区需2ms)。若将这8个记录在一条磁道上进行优化分布,则全部处理完这8个记录至少需要多少ms? |

这个题,有人说可以用什么公式来计算,但计算的答案也不对。所以,还是从原理上进行分析。

这个题里,读每个扇面的用时是 16/8=2 ms。先将记录 L1 块放在下图中的OA扇区,读出L1的对应的时间段是从 t=0-2ms;然后程序开始处理L1,花费1 ms,对应的时间段是从 t=2-3 ms。在 t=3时点,磁盘一直在旋转,磁头位于AB之间,且还有1ms到达B点。因此,优化分布的结果,一定是把记录L2在BC扇区(如下图右侧图所示)。1ms后(也就是 t=4ms 时点)磁头到达B点,然后开始读取L2,对应的时间段从 t=4 - 6ms。

随后,t=6ms时L2记录被读取完,磁头到达C点。然后程序开始处理L2,花费1 ms,对应的时间段是从 t=6-7 ms。在 t=7 ms 时点,磁盘在继续旋转,磁头位于CD之间,且还有1ms到达D点。因此,优化分布的结果,一定是把记录L3放在DE扇区(如下图右侧图所示)。1ms后(也就是 t=8ms 时点)磁头到达D点,然后开始读取L3,对应的时间段从 t=8-10ms。

随后,t=10ms时L3记录被读取完,磁头到达E点。然后程序开始处理L2,花费1 ms,对应的时间段是从 t=10-11 ms。在 t=11 ms 时点,磁盘在继续旋转,磁头位于EF之间,且还有1ms到达F点。因此,优化分布的结果,一定是把记录L4放在FG扇区(如下图右侧图所示)。1ms后(也就是 t=12ms 时点)磁头到达F点,然后开始读取L4,对应的时间段从 t=12-14ms。

随后,t=14ms时L4记录被读取完,磁头到达G点。然后程序开始处理L4,花费1 ms,对应的时间段是从 t=14-15 ms。在 t=15 ms 时点,磁盘在继续旋转,磁头位于GO之间,且还有1ms到达O点。因此,优化分布的结果,本来一定是把记录L5放在OA扇区,但因为OA扇区已有L1,所以一定是把记录L5不得不放在AB扇区(如下图右侧图所示,这里一定要注意!)。1ms后(也就是 t=16ms 时点)磁头到达O点,继续在t=16-18ms 这段时间转到A点。然后开始读取L5,对应的时间段从 t=18-20ms。

随后,恢复正常,t=20ms时L5记录被读取完,磁头到达B点。然后程序开始处理L5,花费1 ms,对应的时间段是从 t=20-21 ms。在 t=21 ms 时点,磁盘在继续旋转,磁头位于BC之间,且还有1ms到达C点。因此,优化分布的结果,一定是把记录L6放在CD扇区(如下图右侧图所示)。1ms后(也就是 t=22ms 时点)磁头到达C点,然后开始读取L6,时间从 t=22-24ms。

同样道理,L7放在EF扇区,L8放在GO扇区。直到 L8 在GO扇区被读取完,再花费1ms进行处理。

因此,实际上的总用时就是磁盘旋转了2圈后磁头又位于O点的用时,再加上最后1ms的处理时间,一共是16*2+1=33ms。

如果这道题像前两道题那样,只是问"全部读出的时间",那就不算最后的1ms的处理时间,也就是32ms,这就是第3题与前两题的差别。

相关推荐
网硕互联的小客服7 分钟前
没有公网IP,如何让外网访问内网服务器?
运维·服务器
布裘8 分钟前
【银河麒麟】服务器系统开机黑屏故障排查与修复
linux·运维·服务器·银河麒麟·无法启动
凌风的跨境分享19 分钟前
Temu店群运维提效:定时策略自动化任务全场景实操指南
大数据·运维·前端·人工智能·架构·自动化
Zenova EdgeOS23 分钟前
Linux iotop:工业边缘 I/O 高级分析实战
linux·运维·服务器
Black蜡笔小新24 分钟前
运维提效!视频汇聚平台EasyCVR视频质量诊断,掉线花屏自动预警
运维·安全·音视频
又見山26 分钟前
Codex 实战:用 AI 写运维脚本
运维·人工智能
Elastic 中国社区官方博客28 分钟前
Elasticsearch 向量数据库:几分钟内完成部署,以经济高效的方式扩展至数千亿规模
大数据·运维·数据库·elasticsearch·搜索引擎·ai·全文检索
新兴AI民工39 分钟前
【Linux内核三十九】进程管理模块:CFS负载均衡(四):find_busiest_group决策矩阵与calculate_imbalance
linux
LongRunning1 小时前
【linux】RK3568(五)云服务器-视频推流
linux
赵民勇1 小时前
resolvectl命令详解
linux·运维