1.2.5存储结构-磁盘管理:磁盘优化分布存储、磁盘优化分布存储例题
磁盘优化分布存储
假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。逻辑记录R0,R1,…,R9,R10存放在同一个磁道上,记录的存放顺序如下表:
物理块 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
逻辑记录 | R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 |
如果磁盘的旋转周期为33ms,磁头当前处在R0的开始处。若系统使用单缓冲区顺序处理这些记录,每个记录处理时间为3ms,则处理这11个记录的最长时间为(366ms);若对信息存储进行优化分布后,处理11个记录的最少时间为(66ms)。
假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录:意思就是磁道划分了11个扇区,每个扇区有一个物理块,每块存放1个逻辑记录,以此来进行分割。
逻辑记录R0,R1,…,R9,R10存放在同一个磁道上:表示后面的计算不需要考虑寻道时间的计算
磁盘的旋转周期为33ms:旋转周期就是旋转一圈的时间
使用单缓冲区顺序处理这些记录:表示只有一个缓冲区存放记录。单缓冲区存在一个情况,如果已经有了数据,比如读取R0的逻辑记录,读完之后,数据上传到单缓冲区,这个时候,如果想要读取下一个,比如R1,这样是不安全的,因为同一时间有读有写,容易出错。因此,单缓冲区同一时刻只能让同一个进程来用,因此R0处理完之前,R1是不能往里面写的,所以R1在3ms之后,并没有直接往单缓冲区内读写,而是等着单缓冲区对R0数据进行处理,处理完毕,R1才能开始写入。
每个记录处理时间为3ms:表示数据的处理时间是3ms
对信息存储进行优化分布:之所以顺序读取很慢,是因为旋转延迟时间,如何优化?使磁盘读取处理完R0之后,磁头正好位于磁盘的起始位置,因此调整对应的存放位置,从而优化逻辑记录在物理上的分布,就叫做优化分布。
如下图:
处理这11个记录的最长时间为:
R0=读取耗时+单缓冲区处理逻辑记录耗时=3ms+3ms
其余物理块耗时=磁盘旋转延迟耗时+单缓冲区处理自己所在块逻辑记录耗时+单个物理块读取耗时
=(3ms×10)+3ms+3ms
=36ms
总耗时=R0+其余物理块读取耗时
=6ms+(36ms*10)
=366ms
处理这11个记录的最短时间为:
总耗时=单块物理块读取处理耗时×物理块
=(3ms+3ms)×11
=66ms