题目:
假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。逻辑记录R0,R1, · · ·,R9,R10存放在同一个磁道上,记录的存放顺序如下表所示:
物理块 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|
逻辑记录 | R0 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | R8 | R9 | R10 |
如果磁盘的旋转周期为 33 ms,磁头当前处在 R0 的开始处。若系统使用单缓冲区顺序处理这些记录,每个记录处理时间为 3 ms,则处理这11个记录的最长时间为 (48);若对信息存储进行优化分布后,处理11个记录的最少时间为(49)。
(48)A. 33ms B. 336ms C. 366ms D. 376ms
(49)A. 33ms B. 66ms C. 86ms D. 93ms
解题:
(1)分析:
考察知识点:存取时间 = 寻道时间 + 等待时间(平均定位时间+旋转延迟时间,又称为旋转延迟时间)
一个磁道划分为11个物理块,每块存放一个逻辑记录,而存储的逻辑记录从 R0 到 R10 一共11个,所以正好成为一个回环。如下图所示
磁盘旋转是一个不会停下来的匀速旋转的过程,所以周期为 33ms时,平均每个物理块的读取时间为33/11=3ms. 这 3ms 即为平均定位时间。
单缓冲区意味着一次只能处理一个记录,等处理完成释放缓冲区才能进行下一个操作。
(2)解答:
1)我们来看到48题,处理这11个记录的最长时间,不要被“最长”这两个字误导,其实就是要你求处理11个记录的时间。我可以算出来,当读取R0时,用时 3ms ,加载到单缓冲区完成处理,用时 3ms ,这时候,磁头的位置应处于R2的开始处。但我们需要读取的记录是R1,因此,我们要等待到磁头旋转到R1的位置时才能继续处理记录。也就是说,处理一个记录的时候,磁头需要转一个周期还要多一个物理块才能读到下一个记录。易得出,等待时间为33+3=36ms.
由于最后一个的位置特殊,读取完后,不需要等待磁头转到下个记录这部分时间,因而R10的处理时间为 读取的时间+处理的事件,即3ms+3ms=6ms.
所以处理这11个记录的时长为:36 x 10 + 6 = 366ms.
答案是C.
2)49题:
若对信息存储进行优化分布后,处理11个记录的最少时间。做完48题的时候你就明白了,最理想的信息存储分布就是,当读取完一个记录,执行完后立刻能读取下一个记录这样的布局是最快的。如下图所示
易得出,处理一个记录的用时仅为6ms,一共有11条记录,11 x 6 = 66ms.
答案选择B.
总结:
此类题主要考察计算机磁盘工作原理,属于原理性很强的题目,难度较大,需要认真把握。