当前位置: 技术问答>linux和unix
处理完5个记录的总时间是多少?
来源: 互联网 发布时间:2016-04-17
本文导语: 有5个记录A、B、C、D、E存放在某磁盘的某一磁道上,假定这个磁道划分为5块,每块存放一个记录,现在要顺序处理这5个记录,如果磁盘旋转速度为20ms转1周,处理程序每读出一个记录后花6ms进行处理。试问(1)处理...
有5个记录A、B、C、D、E存放在某磁盘的某一磁道上,假定这个磁道划分为5块,每块存放一个记录,现在要顺序处理这5个记录,如果磁盘旋转速度为20ms转1周,处理程序每读出一个记录后花6ms进行处理。试问(1)处理完5个记录的总时间是多少?(2)为减少盘旋转的周数,应如何安排这5个记录,并计算优化分布处理这5个记录的总时间。
|
访问一个扇区的时间 = 寻道时间 + 旋转时间 + 传输时间 !
你的条件貌似还不够? 寻道时间呢? 现代磁盘寻道时间平均一般6-9ms,最大也能到20多ms!如果不考虑寻道时间,我来给你算算!
Q1: (假设ABCDE是任意排列在磁道上的)
t = 寻道时间 + 旋转时间 + 传输时间 = 寻道时间 +(20/2)*5 + 6*5 = 寻道时间 + 50 + 30
其中,20/2为平均旋转时间,再乘以5就是访问5个扇区的平均旋转时间
Q2:我认为是顺序安排ABCDEF到磁道上,此时的时间为
t = 寻道时间 + 旋转时间 + 传输时间 = 寻道时间 + [20+(20+4)+(20+8)+(20+12)+(20+16)]/5 + 6*5 =寻道时间 + 28 + 30
欢迎大家继续拍砖! GOOD LUCK!
建议去看下深入理解计算系统(CS:APP)这本书,里面有一些对磁盘的介绍!
你的条件貌似还不够? 寻道时间呢? 现代磁盘寻道时间平均一般6-9ms,最大也能到20多ms!如果不考虑寻道时间,我来给你算算!
Q1: (假设ABCDE是任意排列在磁道上的)
t = 寻道时间 + 旋转时间 + 传输时间 = 寻道时间 +(20/2)*5 + 6*5 = 寻道时间 + 50 + 30
其中,20/2为平均旋转时间,再乘以5就是访问5个扇区的平均旋转时间
Q2:我认为是顺序安排ABCDEF到磁道上,此时的时间为
t = 寻道时间 + 旋转时间 + 传输时间 = 寻道时间 + [20+(20+4)+(20+8)+(20+12)+(20+16)]/5 + 6*5 =寻道时间 + 28 + 30
欢迎大家继续拍砖! GOOD LUCK!
建议去看下深入理解计算系统(CS:APP)这本书,里面有一些对磁盘的介绍!
|
2楼的你的算法好像复杂了,俺认为题目的意思就是随机读一条记录要花20ms,虽然你考虑的是实际情况。
按俺的理解,读一条花20ms,处理花6ms,再读又得等14ms,所以处理一条是40ms,所以随机处理5条共花200ms.
如果5条连续着,则读进来共花20ms,处理共花30ms,共需要50ms。
也欢迎大家继续拍砖。
按俺的理解,读一条花20ms,处理花6ms,再读又得等14ms,所以处理一条是40ms,所以随机处理5条共花200ms.
如果5条连续着,则读进来共花20ms,处理共花30ms,共需要50ms。
也欢迎大家继续拍砖。