buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域,通过缓冲区,可以使进程之间的等待时间变少,从而使从速度慢的存储设备上读数据时,速度快的设备操纵进程不发生间断
cache:高速缓冲存储器,位于cpu和内存之间的一种容量较小的但是速度很高的存储器。由于cpu的速度远高于内存,cpu直接从内存中读取数据需要等待一定的时间周期,cache中保存中cpu刚刚使用过的或者被循环使用的一部分数据,当cpu再次使用时可以直接从cache中调用该数据,大大减少了cpu等待的时间,提高了系统的效率。
不同:
buffer着中在硬件,buffer是即将要写入磁盘的,buffer是由各种进程分配的,被用在输入队列等方面
cache着中在软件,cache是被从磁盘中读取出来的,cache经常被用在磁盘的io请求上
相同:
两者都是RAM中的数据
简单事例:
如果一个进程要求读入所有的字段数据,在所有的字段数据完整读入之前,进程先把先前已经读入的字段数据保存在buffer中,全部读取后呈现
如果有多个进程要访问某个文件,于是该文件会被做成cache,以方便下次被访问,这样可提高系统的性能
原文地址:http://www.cnblogs.com/jsh-tianshi/p/3748067.html