磁道优化分布的一道题

有人问的一个问题,发现在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题与前两题的差别。

相关推荐
Lsetea7 小时前
curl指定--tlsv1.2仍连接TLS1.3:最低版本与tls-max排查
linux·https·ssl证书·curl·tls
Lsetea7 小时前
curl访问HTTPS报47 Too many redirects:重定向循环与max-redirs排查
linux·http·https·ssl证书·curl
OnlyEasyCode7 小时前
IIS开放端口转发后端
运维·服务器
合合技术团队7 小时前
合合信息旗下TextIn面向全球市场推出文档处理自动化公有云服务
运维·自动化
分布式存储与RustFS8 小时前
机器要下线,数据先线上搬家:RustFS 存储池退役实操
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
9624568 小时前
一次 Dell PowerEdge R750xs 启动故障复盘:从 iDRAC 带外管理到 Linux 多内核回退与 initramfs 重建
linux·运维·服务器
Flynn Liang9 小时前
MQTT 共享订阅$share/原理:怎么用它给消费端水平扩容做负载均衡
运维·物联网·mqtt·iot·mqtt broker
Zevalin爱灰灰9 小时前
Linux入门第一部分(Ubuntu入门篇) 第二章 浅尝Ubuntu(二)
linux·嵌入式·1024程序员节
海宇AI9 小时前
零信任架构实战:基于海宇行驶OCR证识别构建自动化租车车队行驶证电子档案网关
运维·人工智能·架构·自动化·1024程序员节
北京中科新远科技10 小时前
高速接口兼容排查实战:OSFP、QSFP112与QSFP56如何逐层验证
linux·运维·网络