假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为100gs,缓冲区送入用户区的时间是60us,系统对每个磁盘块数据的处理时间为50gs。若用户需要将大小为10个磁盘块的Filel文件逐块从磁盘读入缓冲区,并送用户区进行处理,那么采用单缓冲需要花费的时

admin2014-08-23  37

问题 假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为100gs,缓冲区送入用户区的时间是60us,系统对每个磁盘块数据的处理时间为50gs。若用户需要将大小为10个磁盘块的Filel文件逐块从磁盘读入缓冲区,并送用户区进行处理,那么采用单缓冲需要花费的时间为(51)μs;采用双缓冲需要花费的时间为(52)μs。
(52)

选项 A、1000
B、11 10l
C、1650
D、2100

答案B

解析 在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T,缓冲区中的数据传送到用户工作区的时间为M,而系统处理(计算)的时间为C,如图(a)所示:

当第一块数据送入用户工作区后,缓冲区是空闲的可以传送第二块数据。这样第一块数据的处理C1与第二块数据的输入T2是可以并行的,依次类推,如图(b)所示。系统对每一块数据的处理时间为:Max(C,T)+M。因为,当T>C时,处理时间为M+T;当T
双缓冲工作方式基本方法是在设备输入时,先将数据输入到缓冲区1,装满后便转向缓冲区2。此时系统可以从缓冲区1中提取数据传送到用户区,最后由系统对数据进行处理,如下图(c)所示:

双缓冲可以实现对缓冲区中数据的输入T和提取M,与CPU的计算C,三者并行工作,如下图(d)所示。所以双缓冲进一步加快了I/O的速度,提高了设备的利用率。在双缓冲时,系统处理一块数据的时间可以粗略地认为是Max(C,T)。
如果CT,则可使系统不必等待设备输入。本题每一块数据的处理时间为100,采用双缓冲需要花费的时间为100"10+50+60=1110。
转载请注明原文地址:https://jikaoti.com/ti/NIJ7FFFM
0

最新回复(0)