问题
问答题
在某系统中,数据从磁盘读入缓冲区,然后从缓冲区传入用户区,再在用户区中处理。假设该磁盘系统中文件在磁道上非连续存放,磁头从一个磁道移至另一个磁道需要时间t1,逻辑上相邻数据块的平均距离为d磁道,每块的旋转延迟时间及传输到缓冲区的传输时间分别为t2和t3。问读取N个数据块的磁盘访问时间一共是多少另外,假设将缓冲区的数据传送到用户区所花费的时间为t4且t4远远小于读取一个数据块的磁盘访问时间,CPU对一块数据进行处理的时间为t5。问分别在单缓冲和双缓冲情况下,一块数据的总处理时间是多少
答案
参考答案:根据题意,可以很容易地看出读取1个数据块的时间为t1×d+t2+t3。由于每个数据块之间不连续,N个数据块的读写互相独立,因此Ⅳ个数据块的磁盘访问时间为(t1×d+t2+t3)×N。在单缓冲情况下,一块数据的总处理时间为t1×d+t2+t3+t4+t5。如果是双缓冲区,则由于从缓冲区到用户区的传送时间远远小于读取一个数据块的磁盘访问时间,可以忽略不计,总时间降为t1×d+t2+t3+t5。