cache与buffer的区别
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的区别的更多相关文章
- cache 和 buffer的区别
cache 和 buffer的区别: Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器.由于CPU的速度远高于主内存, CPU直接从内存中存取数据要等待一定时间周期,Cac ...
- Linux Free命令每个数字的含义 和 cache 、buffer的区别
Linux Free命令每个数字的含义 和 cache .buffer的区别 我们按照图中来一细细研读(数字编号和图对应)1,total:物理内存实际总量2,used:这块千万注意,这里可不是实际已经 ...
- Cache和Buffer的区别
一.研究数据库的人这样理解:http://wenku.baidu.com/view/32b8b13e376baf1ffc4fad7e.html Cache和Buffer是两个不同的概念,简单的说,Ca ...
- [转] Cache 和 Buffer的区别
程序员开发过程中经常会遇到“缓存”.“缓冲”等相似概念,之前没有特别关注,现在停下来做一下总结,才能更好地前行. 先来下枯燥的概念: 1.Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量 ...
- Cache 和 Buffer 的区别在哪里
Cache和Buffer是两个不同的概念,简单的说,Cache是加速“读”,而buffer是缓冲“写”,前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据.在很 ...
- Cache、Buffer的区别
什么是Cache?什么是Buffer?二者的区别是什么? Buffer和Cache的区别 buffer与cache操作的对象就不一样. 1.buffer(缓冲)是为了提高内存和硬盘(或其他I/O设备) ...
- Cache和Buffer的区别(转载)
1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚 ...
- 【linux】Cache和Buffer的区别
- cache和buffer区别探讨
一. 1.Buffer(缓冲区)是系统两端处理速度平衡(从长时间尺度上看)时使用的.它的引入是为了减小短期内突发I/O的影响,起到流量整形的作用.比如生产者——消费者问题,他们产生和消耗资源的速度大体 ...
随机推荐
- windows服务器下配置memcache最大内存值
windows服务器下修改memcache配置要求如下: 1.用内网ip的方式提供web应用服务器调用,不允许直接通过外网调用,如将memcache服务放在192.168.1.168的服务器上 2.修 ...
- tony_nginx_01_如何在linux系统下安装nginx、pcre、zlib、openssl工具
nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环 ...
- Redis之持久化和主从同步
Redis作为内存数据库,所有数据都保存在内存中, 一旦程序停止工作, 数据都将丢失. 需要我们重新从其他地方加载数据. 不过Redis提供了两种方式保存Redis中的数据一种是dump内存直接存入r ...
- Shift Register(Using Submodule)
/*************************************************** / Shift Register module by Submodule / Progra ...
- hdu 4821 字符串hash+map判重 String (长春市赛区I题)
http://acm.hdu.edu.cn/showproblem.php?pid=4821 昨晚卡了非常久,開始TLE,然后优化了之后,由于几个地方变量写混.一直狂WA.搞得我昨晚都失眠了,,. 这 ...
- intent 启动activity、service的方法
1.通过intent启动service. 通过传递一个Intent对象至Context.startService()将启动一个服务(或给予正在运行的服务以一个新的指令).Android调用服务的onS ...
- Django学习之raw()方法查询数据
我们经常有这种需求: 用sql来查询以及写入数据到数据库,Django当然也提供了这种方式,那就是通过raw方法: sql = "select * from blog_blog where ...
- MySQL修改参数不重启生效
地球人都知道,更新mysql配置my.cnf需要重启mysql才能生效,但是有些时候mysql在线上,不一定允许你重启,这时候应该怎么办呢? 看一个例子:mysql> show variable ...
- FastMethod和PropertyUtils两种反射方法的性能比较
这两个类都提供反射方法的实现,性能对比如下: 循环条件是:1亿次 结论:PropertyUtils提供的getXXX和setXXX反射方法的性能是FastMethod的三倍 以下是测试方法: 首先是F ...
- oracle高水位
oracle高水位http://www.cnblogs.com/chuyuhuashi/p/3548260.htmlhttp://blog.csdn.net/wyzxg/article/details ...