综合题
有一台磁盘机,其平均寻道时间为30ms,平均等待时间为10ms,数据传输率为500Byte/ms,磁盘机中随机存放着1000块,每块为3000Byte的数据。现欲把一块块数据取走,更新后再放回原地。假设一次取出或写入所需时间为:平均寻道时间+平均等待时间+数据传输时间。另外,使用CPU更新信息所需时间为4ms,并且更新时间同输入输出操作不相重叠。试问:
【正确答案】由于数据块是随机存放的,所以每取出或写入一块均要定位。 数据传输时间=3000Byte+500Byte/ms=6ms。 更新全部数据所需时间=2×1000×(平均寻道时间+平均等待时间+数据传输时间)+1000×CPU更新信息时间=2×1000×(30+10+6)+1000×4=96000ms=96s。
【答案解析】
问答题
若磁盘机旋转速度和数据传输率都提高一倍,更新全部数据需要多少时间?
【正确答案】磁盘机旋转速度提高一倍后,平均等待时间为5ms。 数据传输率提高一倍为1000Byte/ms,数据传输时间变为3000+1000Byte/ms=3ms。更新全部数据所需时间=2×1000×(30+5+3)+1000×4=80000ms=80s。
【答案解析】
问答题
试利用循环队列编写求k阶斐波那契序列中前n+1项(f
0,f
1,…,f
n)的算法,要求满足f
n≤max且f
n+1>max,其中max为某个约定的常数。循环队列的容量为k,因此,在算法执行结束时,留在循环队列中的元素应是所求k阶斐波那契序列中的最后k项f
n-k+1,…,f
n。
问答题
假定卫星信道的数据速率为100kbit/s,卫星信道的单程(即从发送方通过卫星到达接收方)传输时延为250ms,每个数据帧长均为2000bit,忽略误码、确认字长、首部、处理时间等开销,为达到传输的最大效率,帧的顺序号应为多少位?此时信道利用率是多少?
【正确答案】RTT=250×2ms=0.5s。 1个帧的发送时间=2000bit/100kbit/s=20×10-3s。 1个帧发送完后经过1个单程延迟到达接收方,再经过1个单程延迟发送方收到应答,从而可以继续发送,理想的情况是此时窗口信息刚发送完或还没有发送完。 假设窗口值等于x,令(2000bit×x)/(100kbit/s)=20×10-3s+RTT=20×10-3s+0.5s=0.52s。 解得x=26。 若要取得最大信道利用率,窗口值是26即可,在此条件下可以不间断地发送帧,故发送率保持在100kbit/s。 由于16<26<32,帧的顺序号应为5位。在使用后退N帧协议的情况下,最大窗口值是31,大于26,可以不间断地发送帧,此时信道利用率是100%。
【答案解析】