2010上半年数据库系统工程师上午试题卷第27题详细讲解
11.7号考试,今天刷题遇到了困难!询问了我超级喜欢的老师,过了一会老师给我发了一个超级详细的讲解,看完就懂了!!!
在老师同意的前提下,拿出来分享交流。我们老师说如果有什么错误的话可以指出(我看完觉得没有错误啊!!!)
下面上题目
如下图
圆环是一个磁道,分成 9 块,每块存储一个记录,磁头指向 R0 所在的块,准备读取 R0。读取 R0
完毕后,如下图:
磁头转一周需要 27ms,读取 R0 需要 1/9 周,所以需要 3ms。读取 R0 后,R0 将被送到缓冲区进行处理,缓冲区只能放一个记录,而磁头将继续向下旋转(磁头旋转和缓冲区处理是同步进行的)。缓冲区处理 R0 的时间需要 3ms,当 R0 处理完毕后,缓冲区清空,读取 R0 花了 3ms,处理 R0 也是 3ms,R0 共花了3+3=6ms,磁头转到了 R2 的开始处,虽然读了 R1,但是由于缓冲区被 R0 占了,R1 得不到处理。如下图:
因为 R0、R1……R8 是按顺序处理的,所以 R0 处理完毕后,需要处理 R1,而此时磁头又没指向 R1,所以只能等待磁头转到 R1 的开始处才能够读取和处理,如下图:
等待的时间是磁头转了 8/9 圈,共耗费 27*(8/9)=24ms, 此时读取 R1 进缓冲区,如下图:
R1 完全读取完毕后,磁头到达 R2 开始处,R1 进了缓冲区进行处理,处理需要 3ms,则 R1耗费的时间是等待时间 24ms,再加上处理时间 3ms,总共是 27ms,R1 处理完毕后,磁头旋转到了 R3 开始处(磁头旋转和缓冲区处理是同步进行的),如下图:
以同样的方式处理 R2,R3……R8, 从 R1 到 R8 这 8 个元素共耗费 8*27=216ms,再加上 R0 耗费的 6ms,一共是 216+6=222ms。
所以答案选择C!!!
是不是讲解的超级详细!看完立马就懂了!!
欢迎大家指正,但是我觉得应该没有什么错误吧。老师真的超级有实力而且低调负责有耐心,啊啊啊啊超级幸福啊,可惜他只教我数据结构不教我们其他的课程!
再次谢谢老师!软考的同学也要坚持刷题哦!加油!