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

1.[单选题]假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为100us,缓冲区送用户区的时间是60us,系统对每个磁盘块数据的处理时间为50us。若用户需要将大小为10个磁盘块的File1文件逐块从磁盘读入缓冲区,并送用户区进行处理,那么采用单缓冲需要花费的时间为(1)us;采用双缓冲需要花费的时间为(2)us。
  • A.11000
  • B.1110
  • C.1650
  • D.2100
2.[单选题]假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为100us,缓冲区送用户区的时间是60us,系统对每个磁盘块数据的处理时间为50us。若用户需要将大小为10个磁盘块的File1文件逐块从磁盘读入缓冲区,并送用户区进行处理,那么采用单缓冲需要花费的时间为(1)us;采用双缓冲需要花费的时间为(2)us。
  • A.1000
  • B.1110
  • C.1650
  • D.2100
参考答案: C,B
解题思路:

本题考查的是操作系统中文件读取方面的知识。但在解题过程中,我们可以发现需要用到计算机组成原理中的流水线知识。因为进行处理时,每个数据要经过3个步骤:读入缓冲区、送用户区、处理。这三个步骤中,有两个步骤是需要用到缓冲区的,这两个步骤执行时,缓冲区都不可以开始下一个磁盘区的处理工作,所以三个步骤可合并为两个:读入缓冲区并送用户区、处理。此时,可应用流水线的方式来提升效率。所以用户将大小为10个磁盘块的File1文件逐块从磁盘读入缓冲区,并送用户区进行处理,采用单缓冲时需要花费的时间为:
(100+60+50)+(10-1)*(100+60)=1650us
若增加一个缓冲区,情况如图所示。
11图片1.png
从图可知,使用双缓冲区时,从磁盘向缓冲区中传送数据的工作可通过两个缓冲区持续交替进行,所以计算方式为:
100*10+60+50=1110us

>>>立即刷题