计算机中缓冲的作用是什么,了解常说计算机的缓存是什么,深入学习计算机基础知识...

缓冲区,作为现代操作系统中所有I/O设备与处理机交换数据时的设备,一般用于对速度要求非常高的场合。而大多数缓冲区是由内存组成的,缓冲区管理的主要功能就是组织好这些缓冲区。

161173349_1_20190514115856285

缓冲区的引入,主要原因有:缓和CPU和I/O设备间速度不匹配的矛盾,设置缓冲区可以让输出设备慢慢从中取出数据,也不需要让CPU进行等待,提高了CPU的利用率。

减少CPU的中断频率,放宽了对CPU中断响应时间的限制,根本原因也是由于I/O设备的低速导致CPU经常会等待I/O操作,产生多次中断。

161173349_2_20190514115856707

解决数据粒度不匹配的问题,生产者和消费者彼此生产和消费的数据粒度不一样大,就可以使生产者多生产几个单元的数据或将生产的数据由消费者分几次取出,消费者反之亦然。

提高了CPU和I/O设备之间的并行性,缓冲区的引入可显著地提高CPU和I/O设备间的并行操作程度,提高系统的吞吐量和利用率。

161173349_3_20190514115856941

操作系统中若只设置单缓冲区,当一组数据输入到缓冲区后进行处理尚未输出,当第二组数据输出时,则用户进程就会陷入阻塞。而为了解决生产者和消费者在使用缓冲区时互斥的问题,为生产者和消费者设置两个缓冲区。当第一缓冲区装满后,便转向第二缓冲区,此时便可将第一缓冲区的数据移出。

而现在广泛流行的既可用于输入又可用于输出的公用缓冲池,与缓冲区最主要的区别在于,缓冲区仅仅是一组内存块的链表,缓冲池则包括了一个管理的数据结构及一组操作函数的管理机制。

161173349_4_20190514115857254

缓冲池中具有相同类型的缓冲区链接成一个队列,可形成三个队列:空白缓冲队列、输入队列和输出队列,还具有四种工作缓冲区:收容输入数据的工作缓冲区、提取输出数据的工作缓冲区、收容输出数据的工作缓冲区和提取输出数据的工作缓冲区。工作方式也是四种:收容输入、提取输入、收容输出和提取输出。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值