题目详情

假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区时间为15μs,由缓冲区送至用户区时间是5μs,在用户区内系统对每块数据处理时间为1μs。若用户需要将大小为10个磁盘块Doc1文件逐块从磁盘读入缓冲区,并送至用户区进行处理,那么采用单缓冲区需要花费时间为______μs;采用双缓冲区需要花费时间为(请作答此空)μs。

  • A.150
  • B.151
  • C.156
  • D.201

正确答案及解析

正确答案
C
解析

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

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师章节

单缓冲工作过程图当第一块数据送入用户工作区后,缓冲区是空闲可以传送第二块数据。这样第一块数据处理C1与第二块数据输入T2是可以并行,依次类推,如下图所示。系统对每一块数据处理时间为:Max(C, T)+M。因为,当T>C时,处理时间为M+T;当T<C时,处理时间为M+C。本题每一块数据处理时间为15+5=20,Doc1文件处理时间为20×10+1。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师章节

单缓冲并行工作示意图双缓冲工作方式基本方法是在设备输入时,先将数据输入到缓冲区1,装满后便转向缓冲区2。此时系统可以从缓冲区1中提取数据传送到用户区,最后由系统对数据进行处理,如下图所示。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师章节

双缓冲工作过程图双缓冲可以实现对缓冲区中数据输入T和提取M,与CPU计算C,三者并行工作,如下图所示。从图中可以看出,双缓冲进一步加快了I/O速度,提高了设备利用率。在双缓冲时,系统处理一块数据时间可以粗略地认为是Max(C, T)。如果C<T,可使块设备连续输入;如果C>T,则可使系统不必等待设备输入。本题每一块数据处理时间为10,采用双缓冲需要花费时间为15×10+5+1=156。

中级嵌入式系统设计师,章节练习,基础复习,中级嵌入式系统设计师章节

双缓冲并行工作示意图

你可能感兴趣的试题

单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.0
  • B.1
  • C.2
  • D.3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.1、1
  • B.1、2
  • C.2、2
  • D.2、3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.3
  • B.4
  • C.5
  • D.6
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.V(S3)和V(S5)V(S6)
  • B.P(S3)和V(S5)V(S6)
  • C.V(S3)和P(S5)P(S6)
  • D.P(S3)和P(S5)P(S6)
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.243ms
  • B.246ms
  • C.254ms
  • D.280ms
查看答案

相关题库更多 +