在一个采用双缓冲的系统中,某用户程序运行时共产生两块数据,当第一块数据产生出来后即把它送入缓冲区,并启动磁盘将这块数据记盘;在记盘的同时用户程序继续运行以产生第二块数据,然后也要将这块数据记盘。若用户程序产生一块数据的时间为10ms,把一块数据从用户区送入缓冲区的时间为0.1ms,将缓冲区内容记盘所需时间为20ms,那么完成以上操作的总时间是多少?并说明这个总时间是由哪几个时问段组成的。
在一个采用双缓冲的系统中,某用户程序运行时共产生两块数据,当第一块数据产生出来后即把它送入缓冲区,并启动磁盘将这块数据记盘;在记盘的同时用户程序继续运行以产生第二块数据,然后也要将这块数据记盘。若用户程序产生一块数据的时间为10ms,把一块数据从用户区送入缓冲区的时间为0.1ms,将缓冲区内容记盘所需时间为20ms,那么完成以上操作的总时间是多少?并说明这个总时间是由哪几个时问段组成的。
【正确答案】:50,1ms
产生第一块数据用时10ms,将它从用户区送入缓冲区用时0.1ms; 产生第二块数据,并将它从用户区送入缓冲区的操作是与第一块数据的记盘同时进行的, 取其中费时长的,即记盘时间20ms; 将第二块数据记盘,费时20ms,故总时间为10+0.1+20+20。
Top