【软考】单双缓冲区的时间计算

📌 经典例题

假设磁盘块与缓冲区大小相同,每个盘块:

  • 读入缓冲区的时间 T = 10 微秒(μs)
  • 由缓冲区送至用户区的时间 M = 5 微秒(μs)
  • 在用户区内处理该数据块的时间 C = 2 微秒(μs)

用户需要将一个包含 10 个磁盘块 的文件逐块从磁盘读入缓冲区,并送至用户区进行处理。

问:

  1. 使用 单缓冲区 时,总共需要多少时间?
  2. 使用 双缓冲区 时,总共需要多少时间?

✅ 解题思路与公式

一、单缓冲区(Single Buffer)
  • 特点:I/O 操作和 CPU 处理不能完全并行。必须等当前块从缓冲区送到用户区并处理完后,才能开始读取下一块。
  • 总时间公式
    总时间=n×(T+M)+C \text{总时间} = n \times (T + M) + C 总时间=n×(T+M)+C
    其中:
    • nnn 是磁盘块数
    • 最后一块处理完才算结束,所以加一次 C

⚠️ 注意:有些资料写成 (T+M+C)+(n−1)(T+M)(T + M + C) + (n - 1)(T + M)(T+M+C)+(n−1)(T+M),其实等价于上面公式。

代入数值:
10×(10+5)+2=150+2=152 μs 10 \times (10 + 5) + 2 = 150 + 2 = \boxed{152\ \mu s} 10×(10+5)+2=150+2=152 μs


二、双缓冲区(Double Buffer)
  • 特点 :可以实现 I/O 与 CPU 处理的部分重叠。当一个缓冲区在向用户区传送/被处理时,另一个缓冲区可以同时从磁盘读入下一块数据。
  • 前提条件 :通常要求 M+C≤TM + C \leq TM+C≤T,这样 I/O 才不会等待 CPU(本题满足:5+2=7 < 10)
  • 总时间公式
    总时间=T×n+M+C \text{总时间} = T \times n + M + C 总时间=T×n+M+C

解释:

  • 第一块:读入(T)→ 送用户区(M)→ 处理(C)
  • 从第二块开始,每块只需 T 时间(因为送用户区和处理可以在下一块读入时并行完成)
  • 最后仍需加上最后一次的 M 和 C(因为最后一块读完后还要送和处理)

代入数值:
10×10+5+2=100+7=107 μs 10 \times 10 + 5 + 2 = 100 + 7 = \boxed{107\ \mu s} 10×10+5+2=100+7=107 μs


🔍 答案总结

缓冲方式 总耗时(微秒)
单缓冲区 152 μs
双缓冲区 107 μs

💡 节省时间 :152 − 107 = 45 微秒


📚 考点提示(软考重点)

  • 理解单/双缓冲的工作流程(画时间线图最直观)
  • 掌握两个核心公式
  • 注意题目是否满足双缓冲并行条件(即 M + C ≤ T),若不满足,双缓冲优势会减弱,计算方式可能不同(但软考一般默认满足)
相关推荐
谙弆悕博士6 小时前
系统集成项目管理工程师教程(第3版)笔记——第17章:法律法规和标准规范
笔记·职场和发展·学习方法·业界资讯·软考·法律·法规
@insist12311 小时前
信息系统管理工程师-数字化转型成熟度模型核心考点解析
大数据·人工智能·软考·软件水平考试·信息系统管理工程师·软考信管
@insist1231 天前
系统规划与管理师-流程评价与持续改进核心知识-终章
大数据·人工智能·软考·系统规划与管理师·软件水平考试·系统规划与管理工程师
@insist1232 天前
信息系统管理工程师-数字化转型核心知识与应试要点
大数据·软考·信管·软件水平考试·信息系统管理工程师
ttod_qzstudio3 天前
【软考备考】软件工程详解:四大开发模型、黑盒白盒测试、McCabe 环路复杂度(附 10 道练习)
软件工程·软考·黑盒·白盒·mccabe 环路复杂度
谙弆悕博士4 天前
系统集成项目管理工程师教程(第3版)笔记——第2章:信息技术发展
笔记·计算机网络·信息安全·学习方法·业界资讯·软考·系统分析师
ttod_qzstudio4 天前
【软考备考】计算机网络详解:OSI/TCP-IP 分层 + IP 子网划分,一篇拿下网络模块(附 10 道练习)
网络·tcp/ip·计算机网络·软考
ttod_qzstudio5 天前
【软考备考】软件工程收官篇:耦合与内聚、维护四类型、关键路径计算(附 10 道练习)
软件工程·软考·耦合·内聚
ttod_qzstudio6 天前
【软考备考】存储管理详解:分页地址转换 + 页面置换缺页率,画张表格就得分(附 10 道练习)
存储管理·软考
ttod_qzstudio8 天前
【软考算法】软件设计师下午第四题之动态规划:0-1 背包与最长公共子序列的“填表艺术“
算法·动态规划·软考