我是靠谱客的博主 健忘香菇,最近开发中收集的这篇文章主要介绍Buffer,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1, 缓冲区的概念

缓冲区(Buffer)是一个临时存储数据的区域,等待着被转移到另一个地方,通常存在于RAM中,因为其速度远远快于硬盘1。缓冲区的概念是为了防止从输入端口到输出端口的数据拥塞。在某种情况下,好多重复动作的事情堆在一起做,这样效率会快,而不是来一件事情就去解决。电脑内存架构如图所示。尺寸和容量越小,价格越高,速度越快。
在这里插入图片描述
冯诺依曼结构体系中,如图所示,CPU包含两个部分:控制单元和算数逻辑单元 (ALU),前者控制CPUmemory之间的数据传输,后者执行数据的算数和逻辑计算。
在这里插入图片描述

2, 缓冲区的类型

2.1 按照数据类型分类:所有的基本数据的缓冲区都存在,网络编程的缓冲区涉及的缓冲区通常是字节缓冲区,一般地,几乎所有的基本类型的缓冲区都可以用字节缓冲区来表达。
2.2 按照输入输出分类:可以分为输入缓冲区和输出缓冲区。输出缓冲区用来执行系统写操作,输入缓冲区用来执行读操作。

3, 缓冲区的实现
  1. 缓冲区地实现是在硬件中固定的内存区域,或者用软件中的虚拟数据缓存——指向硬件memory中的位置。不管何种情形,缓冲区的数据总会存在物理存储介质上。很多缓冲区都是用软件来实现,和硬盘相比,RAM访问时间更快,所以用其来存储临时数据。
  2. 缓冲区通常通过在存储器中实现队列(或FIFO)算法来调整定时,同时以一种速率将数据写入队列并以另一速率读取它。
4, 缓冲区的比喻

在游乐园中过山车的线路有许多相似之处。乘坐过山车的人以一种未知且往往可变的速度进入,但是过山车将能够连续地装载人(当过山车到达并装载时)。队列区域充当缓冲区 ——一个临时空间,那些希望骑车的人等到乘车可用。缓冲区通常用于FIFO(先进先出)方法,按照到达的顺序输出数据。

5, 缓冲区的用途

缓冲区的常见用途是提高设备的整体性能。几乎所有硬盘都使用缓冲区来方便数据检索。任何类型的内存处理和数据存储服务也将使用某种缓冲区。即使CPU最基本的任务也需要使用缓冲区以寄存器的形式运行,其中操作数和运算符之类的数据在处理之前就已存储。

6, 缓冲区的技术

单缓冲、双缓冲以及多缓冲(循环缓冲)。


  1. storage(存储)常用来表示掉电数据仍在的媒介,memory(内存)指的是掉电数据丢失的媒介 ↩︎

最后

以上就是健忘香菇为你收集整理的Buffer的全部内容,希望文章能够帮你解决Buffer所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部