缓冲的引入 缓和CPU外设的速度矛盾 减少中断频率 提高CPU外设并行程度 9.6kb/s 1位缓冲 9.6kb/s 一8位缓冲
缓冲的引入 • 缓和CPU-外设的速度矛盾 • 减少中断频率 • 提高CPU-外设并行程度 9.6kb/s 9.6kb/s 1位缓冲 8位缓冲
缓冲区的种类 单缓冲 双缓冲 循环缓冲 缓冲池
缓冲区的种类 • 单缓冲 • 双缓冲 • 循环缓冲 • 缓冲池
单缓冲 single buffer 用户进程 处理C 工作区 缓冲区 外设 传送M 输入T T1 T2 T3 M2 M3 C1 C2 C3 数据处理时间=max(C,T+M
单缓冲single buffer 工作区 缓冲区 外设 传送M 输入T 处理C 用户进程 T1 M1 C1 T2 M2 C2 T3 M3 C3 数据处理时间=max(C,T)+M
双缓冲 double buffer 用户进程 缓冲区1 工作区 外设 缓冲区1 T1 T2 T1 M2 C1 C2 B 数据处理时间=max(C+M,T)
双缓冲double buffer 工作区 缓冲区1 外设 用户进程 T1 M1 C1 T2 M2 C2 T1 数据处理时间=max(C+M,T) 缓冲区1 A B
循环缓冲 °R空缓冲 G满缓冲 nexti °C正在计算的缓冲 R °Nexi下个计算的缓冲 G Nextg下个输入的缓冲 °C正在计算的缓冲 RIC G current G next
循环缓冲 • R空缓冲 • G满缓冲 • C正在计算的缓冲 • Nexti下个计算的缓冲 • Nextg下个输入的缓冲 • C正在计算的缓冲 R R C G G G nextg nexti current