Cache vs Buffer 高速缓存和缓冲区

缓存区cache和缓冲区buffer都是临时存储区,但它们在许多方面有所不同。缓冲区buffer主要存在于RAM中,作为CPU暂时存储数据的区域,例如,当计算机和其他设备具有不同的速度时, buffer存储着缓冲的数据, 这样计算机就可以完成其他任务了。另一方面,高速缓存cache是一种高速存储区域,可以是主存或硬盘等其他独立存储区域的一部分。这两种缓存方法分别被称为内存缓存和磁盘缓存。

cache在cpu和内存之间,它的速度比内存快,但是造价高 
为了确保高速,缓存cache是由静态RAM而不是动态RAM。这个区域用来存储几乎所有程序在运行时所访问的信息,这使得它更快,而不是每次程序运行时从磁盘中搜索这些信息,因为这将慢得多。缓冲区buffer是由普通RAM的计算机上运行,并跟踪正在运行的程序发生变化的暂时存储在变化最终被保存在磁盘上,例如,文字处理器的任务被写入首先读取从存储在缓冲区中的数据,和然后文字处理器更新在缓冲区的内容。

缓冲区buffer主要用于输入/输出(I/O)过程,例如,在打印中。当一个发送给打印机打印的文件时,信息被存储在一个缓冲区中,然后打印机就可以按照自己的步调访问这些信息,这样可以释放CPU来执行其他任务。在将一些信息(burning information)存储到光盘上时,也会使用缓冲区,其中被数据首先存储在缓冲区中,然后在过程中将其传输到磁盘。缓存buffer主要用于读取和写入主磁盘过程中,通过使不同程序所使用的类似数据易于访问而使进程更快。

缓存Cache可以是RAM的一部分,也可以是磁盘的一部分。当主磁盘用作缓存时,该过程称为磁盘缓存,这也用作内存缓存,其中最近使用的数据存储在磁盘缓存中。如果正在运行的程序希望从磁盘访问数据,它首先检查磁盘缓存,如果磁盘缓存中所需数据不可用,则只检查磁盘。这使得数据访问过程快得多,因为从磁盘访问速度慢得多。缓冲区Buffer只能是RAM的一部分。

总结:

1、Cache是高速存储区域,而Buffer是RAM的临时存储的正常存储区域。

2、Cache是由静态RAM构成的,它比Buffer较慢的动态RAM更快。

3、Buffer主要用于输入/输出过程,而Cache则用于从磁盘读取和写入进程。

4、Cache也可以是磁盘的一部分,而Buffer只是RAM的一部分。

5、在Cache不能使用的情况下,可以在键盘中使用Buffer来编辑打字错误。

原文:http://www.differencebetween.net/technology/hardware-technology/difference-between-cache-and-buffer/

cache与buffer的区别的更多相关文章

  1. cache 和 buffer的区别

    cache 和 buffer的区别: Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器.由于CPU的速度远高于主内存, CPU直接从内存中存取数据要等待一定时间周期,Cac ...

  2. Linux Free命令每个数字的含义 和 cache 、buffer的区别

    Linux Free命令每个数字的含义 和 cache .buffer的区别 我们按照图中来一细细研读(数字编号和图对应)1,total:物理内存实际总量2,used:这块千万注意,这里可不是实际已经 ...

  3. Cache和Buffer的区别

    一.研究数据库的人这样理解:http://wenku.baidu.com/view/32b8b13e376baf1ffc4fad7e.html Cache和Buffer是两个不同的概念,简单的说,Ca ...

  4. [转] Cache 和 Buffer的区别

    程序员开发过程中经常会遇到“缓存”.“缓冲”等相似概念,之前没有特别关注,现在停下来做一下总结,才能更好地前行. 先来下枯燥的概念: 1.Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量 ...

  5. Cache 和 Buffer 的区别在哪里

    Cache和Buffer是两个不同的概念,简单的说,Cache是加速“读”,而buffer是缓冲“写”,前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据.在很 ...

  6. Cache、Buffer的区别

    什么是Cache?什么是Buffer?二者的区别是什么? Buffer和Cache的区别 buffer与cache操作的对象就不一样. 1.buffer(缓冲)是为了提高内存和硬盘(或其他I/O设备) ...

  7. Cache和Buffer的区别(转载)

    1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而  Cache保存着CPU刚 ...

  8. 【linux】Cache和Buffer的区别

  9. cache和buffer区别探讨

    一. 1.Buffer(缓冲区)是系统两端处理速度平衡(从长时间尺度上看)时使用的.它的引入是为了减小短期内突发I/O的影响,起到流量整形的作用.比如生产者——消费者问题,他们产生和消耗资源的速度大体 ...

随机推荐

  1. 轻松学习JavaScript十四:JavaScript的RegExp对象(正則表達式)

    一RegExp对象概述 RegExp对象表示正則表達式,RegExp是正則表達式的缩写.它是对字符串运行模式匹配的强大工具. RegExp 对象用于规定在文本中检索的内容. 当您检索某个文本时.能够使 ...

  2. 字符串算法之 AC自己主动机

    近期一直在学习字符串之类的算法,感觉BF算法,尽管非常easy理解,可是easy超时,全部就想学习其它的一些字符串算法来提高一下,近期学习了一下AC自己主动机.尽管感觉有所收获,可是还是有些朦胧的感觉 ...

  3. Centos7使用LVM扩容磁盘(测试成功)

    1.新增加了一块200G大小的磁盘/dev/sdb fdisk -l 2. pvcreate /dev/sdb 3. pvdisplay 查看添加成功的/dev/sdb的大小为200G 4. vgex ...

  4. Atitit.eclipse comment  template注释模板

    Atitit.eclipse comment  template注释模板 1. Code templet1 1.1. Settpath1 1.2. 设置存储1 1.3. 导出设置1 2. Java d ...

  5. Codeforces Round #277 (Div. 2)---A. Calculating Function (规律)

    Calculating Function time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. 关于top按钮的网页设置

    方法一: 直接用html实现,没有缓冲的效果,直接彪到顶部. HTMl: <a id="return-top" href="#top"> <s ...

  7. Django数据库表的关联问题

    Django模型中,比较难以理解的要数表和表之间相关联的部分,下面主要说说外键-ForeignKey和ManyToManyField2个字段类型. 我们知道ForeignKey说的是“一对多”,那么问 ...

  8. 读写文件,用代码在讲html文件转为jsp文件

    package my.testguava; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputSt ...

  9. 关于WPF界面框架MahApps.Metro的一个BUG

    碰到了这个问题,记录一下,以便以后查阅: 在一个WPF项目中使用MahApps.Metro界面框架,其中有一个功能是嵌入一个带句柄的标记. 首先WPF是出了窗体和WebBrowser带有句柄外,其他控 ...

  10. 《转》Ubuntu14.04 openstack juno配置之 ceilometer遥測模块安装配置

    (一)在控制节点上 1.安装的遥測服务 apt-get install -y ceilometer-api ceilometer-collector ceilometer-agent-central ...