单选题 某操作系统采用双缓冲区传送磁盘上的数据。设从磁盘将数据传送到缓冲区所用的时间为T1,将缓冲区中的数据传送到用户区所用的时间为T2(T2很小,可忽略不计),CPU处理数据所用的时间为T3,则处理该数据,系统所用总时间约为______。
  • A.T1
  • B.T3
  • C.T1+T3
  • D.MAX(T1,T3)
【正确答案】 D
【答案解析】系统采用双缓冲区传送某磁盘数据: 如果T3>T1,即CPU处理数据比数据传送慢,此时CPU不需要等待I/O设备,时间的花费取决于CPU最大花费时间,则系统所用时间为T3。 如果T3<T1,即CPU处理数据比数据传送快,此时CPU需要等待I/O设备,则花费时间取决于磁盘将数据传送到缓冲区所用时间T1。 知识点回顾: 1)单缓冲:在设备和处理器之间仅设置一个缓冲区。设备和处理器交换数据时,先把被交换的数据写入缓冲区,然后需要数据的设备或处理器从缓冲区取走数据。由于只设置了一个缓冲区,因而设备与处理器对缓冲区的操作是串行的。 2)双缓冲:在设备输入时,输入设备先将第一个缓冲区装满数据,在输入设备装填第二个缓冲区的同时,处理器可以从第一个缓冲区中取走数据供用户进程处理;当第一个缓冲区中的数据处理完后,若第二个缓冲区已填满,则处理器又可以从第二个缓冲区中取出数据进行处理,而输入设备又可以填装第一个缓冲区。 双缓冲的使用提高了处理器和输入设备并行操作的程度。当两个缓冲区都已满,且进程还要提取数据时,则该进程被迫等待。