Buffer与Cache的理解

Linux与Windows内存
Linux系统的内存机制是优先使用物理内存,当物理内存还有空闲时,Linux系统是不会释放内存的,即使使用过内存的程序已经被关闭,这部分内存就用来做缓存了。换句话说,即使你有很大的内存,用过一段时间后,也会被占满。这样做的好处是,启动那些刚开启过的程序、或是读取刚存取过得数据会比较快,所以Linux系统作为稳定的服务器是非常适合的。而Windows系统则总是给内存留下一定的空闲空间,即时内存有空闲也会让程序使用一些虚拟内存,这样做的好处是,启动新的程序比较快,直接分配新的内存给新的程序,而Linux系统呢?由于内存经常处于全部被使用的状态,则要先清理出一块内存,再分配给新的程序使用,因此,新程序的启动会慢一些。

Buffer,Cache与内存
储器的高速缓冲存储器存储了频繁访问的RAM位置的内容及这些数据项的存储地址。当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保存该地址,则进行常规的存储器访问。因为高速缓冲存储器总是比主RAM存储器速度快,所以当RAM的访问速度低于微处理器的速度时,常使用高速缓冲存储器。Buffer:即缓冲寄存器,简称缓冲器,分为输入缓冲器和输出缓冲器。Cache:即高速缓冲存储器,是一种特殊的存储器子系统,其中复制了频繁使用的数据以便于CPU能够快速地访问。简而言之Buffer和Cache是一种内存技术,降低CPU调用存储器的性能瓶颈,那两者之间是否有什么关系呢?

Buffer与Cache关系
相同点:与CPU交互,减少存储器的I/O读写瓶颈的内存技术,都是内存中的一块区域。
不同点:Buffer为了让不同速度的设备能够同步,建立的一个缓冲区域,写进Buffer的数据是为了从中拿出写入其他设备。Cache是为了提高读取速度,将经常或马上需要的数据预读到缓存中,写进Cache的数据是为了其他设备从中去读取。

猜你喜欢

转载自www.cnblogs.com/zhouzhifei/p/11577012.html