家庭作业

3.70

http://www.cnblogs.com/javajy/p/4915911.html(与贾瑗合作)

6.25

假设1mb=1000kb(为了好算)
3mb=310001024b
所以需要3*1000个扇区/500=6个磁道
1.最好情况

T_avg rotation=1/2*1/RPM*60/1min=1/2*(60secs)/12000RPM*1000ms/sec=2.5ms
T_avg transfer=1/RPM*1/(平均扇区数/磁道数)*60secs/1min
=60/12000RPM*1/500*1000ms/sec
=0.01ms

*这里两项跟着书上392,393算就好啦.

由题所示

第一个块的读写时间=T_avg seek+T_avg rotation
T_avg seek=3ms

最优情况是:当大家都在一个柱面上(这时只需要寻一次道即可),顺序存储

T_best= T_avg seek+T_avg rotation+3000*T_avg transfer
=3+2.5+3000*0.01=35.5ms

2.随机情况
我认为是在最短时间与最长时间的范围内,所以接下来计算最长的时间
在最混乱的情况里,每一个扇区与下一个存储的扇区都不在一起,即不管是想要存储时,每一次都要经历寻道,和作为第一个块的读写头时间

T_worst=3000*(T_avg seek+T_avg rotation+T_avg transfer)
       =3000*(3+2.5+0.01)
       =16530ms

6.33

由6.31可知 b = 2, s = 3, t = 13-b-s = 8

	1.先通过s个组索引位找到这个字必须存储在哪个组中
	2.然后t个标记位告诉我们这个组中的哪一行包含这个字(当且仅当设置了有效位并且该行的标记位与地址中的标记位相匹配时)
	3.b个块偏移位给出来在B个字节的数据块中的字偏移

*摘自笔记
看6.31 的图,我们并没有找到想要的东西,没有命中

原文地址:https://www.cnblogs.com/midori/p/4931997.html