缓冲

缓冲的引入

  1. 缓和CPU和I/O设备间的速度不匹配
  2. 减少对CPU的中断频率,放宽对CPU中断时间的限制
    例如:如果从远地终端发来的数据仅用一位缓冲来接收,则必须在每收到一位数据时便中断一次CPU,对于速率9.6kb/s的数据通信来说,就意味着其中断CPU的频率也是9.6kb/s,即每100us就要中断一次CPU,而且CPU必须在100us内予以相应,否则缓冲区的数据会被冲刷掉。
    如果设置一个具有8位的缓冲寄存器,则可使CPU被中断的频率降低为原来的1/8。
    若再设置一个8位寄存器,可以把CPU对中断的响应时间从100us放宽到800us。
  3. 解决数据粒度不匹配的问题
    缓冲区可用于解决生产者和消费者之间交换的数据粒度(数据单元大小)不匹配的问题。例如生产者所生产的数据粒度比消费者消费的数据粒度小时,生产者进程可以一连生产多个数据单元的数据,当其总和已达到消费者进程所要求的数据单元大小时,消费者便可从缓冲区中取出消费。
    反之,如果生产者的生产的数据粒度比消费者消费的数据粒度大时,生产者每次生产的数据消费者可以分几次从缓冲区中取出消费。
  4. 提高CPU和I/O设备间的并行性
    在CPU(生产者)和打印机(消费者)之间设置缓冲区之后,生产者在生产了一部分数据后,把它们放入缓冲区,便可立即去进行下一次的生产。同时,消费者可以从缓冲区中取出数据消费,可以使CPU与打印机处于并行工作状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饼干饼干圆又圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值