Buffer

简介: Buffer

1, 缓冲区的概念


缓冲区(Buffer)是一个临时存储数据的区域,等待着被转移到另一个地方,通常存在于RAM中,因为其速度远远快于硬盘1。缓冲区的概念是为了防止从输入端口到输出端口的数据拥塞。在某种情况下,好多重复动作的事情堆在一起做,这样效率会快,而不是来一件事情就去解决。电脑内存架构如图所示。尺寸和容量越小,价格越高,速度越快。

image.png

冯诺依曼结构体系中,如图所示,CPU包含两个部分:控制单元和算数逻辑单元 (ALU),前者控制CPU和memory之间的数据传输,后者执行数据的算数和逻辑计算。

image.png


2, 缓冲区的类型


2.1 按照数据类型分类:所有的基本数据的缓冲区都存在,网络编程的缓冲区涉及的缓冲区通常是字节缓冲区,一般地,几乎所有的基本类型的缓冲区都可以用字节缓冲区来表达。

2.2 按照输入输出分类:可以分为输入缓冲区和输出缓冲区。输出缓冲区用来执行系统写操作,输入缓冲区用来执行读操作。


3, 缓冲区的实现


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


4, 缓冲区的比喻


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


5, 缓冲区的用途


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


6, 缓冲区的技术


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


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


相关文章
|
存储 Java 索引
43 # buffer 的应用
43 # buffer 的应用
66 0
|
2月前
|
JavaScript 前端开发 网络协议
Buffer
【10月更文挑战第23天】
41 3
|
4月前
|
数据库 关系型数据库 MySQL
innodb_buffer_pool_size
【8月更文挑战第13天】
42 1
|
7月前
|
存储 算法 关系型数据库
Buffer Pool
Buffer Pool
66 1
|
SQL 缓存 算法
缓冲池(buffer pool),这次彻底懂了!!!
缓冲池(buffer pool)是一种常见的降低磁盘访问的机制。
4019 0
缓冲池(buffer pool),这次彻底懂了!!!

热门文章

最新文章