数据存储在磁盘上的排列方式会影响I/O服务的总时间。假设每个磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…,R10存放在同一个磁道上,记录的安排顺序如下表所示。
逻辑记录在磁盘中的安排顺序表
物理块 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
逻辑记录 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 | R10 |
假定磁盘的旋转速度为20ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为4ms,则处理这10个记录的最长时间为______;若对信息存储进行优化分布后,处理10个记录的最少时间为______。
A.180ms
B.200ms
C.204ms
D.220ms
参考答案:C
解析: 根据题意“每个磁道划分成10个物理块,每块存放1个逻辑记录”和“磁盘的旋转速度为20ms/周”得,系统读取每一个逻辑记录的时间t1=20ms/10=2ms。
如果逻辑记录R1~R10按表1所示的顺序存放在同一个磁道时,根据题意“系统使用单缓冲区,每个记录处理时间为4ms”,那么当系统读出并处理完逻辑记录R1,所花费的时间为t2=2ms+4ms=6ms。
由于处理完逻辑记录R1之后,此时磁头已转到记录R4的开始处,因此为了读出逻辑记录R2,磁盘必须继续转到逻辑记录R2的开始处,这一过程磁头将经过8个逻辑记录,所花费的时间为t3=16ms。
由此可见,系统从处理完逻辑记录R1到处理完逻辑记录R2所花费的时间为t4=16ms+2ms+4ms=22ms。
对于逻辑记录R3~R10处理时间的分析过程类似逻辑记录R2的分析过程,因此,处理按如表1所示的顺序存放的R1~R10这10个记录的总时间t5=t2+t4×9=6ms+22ms×9=204ms。
若要求对信息存储进行优化分布使处理10个逻辑记录的时间最少,那么就必须满足当读出前一个逻辑记录(如R1)并处理结束后,磁头刚好转到下一个记录(如R2)的开始处。
由读取一个逻辑记录的时间为2ms,处理一个逻辑记录的时间为4ms可推理出,如逻辑记录R1~R10按下表所示进行分布优化时,处理10个记录的时间最少。
逻辑记录在磁盘中的安排顺序表 | ||||||||||
物理块 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
逻辑记录 | R1 | R8 | R5 | R2 | R9 | R6 | R3 | R10 | R7 | R4 |