Buffer
缓冲数据的冲击。把小规模的IO整理成平稳的较大规模的IO,较少磁盘的随机读写次数。
比如从网上下载大资料,不可能一次下了一点几兆就写入硬盘,而是积攒到一定的数据量再写入,上传文件也是类似,而buffer的作用就是积攒这个数据。
Cache
为了解决高速设备和低速设备读写速度之间的速度差距而引入的,主要利用的是局部性原理。
两者区别
Buffer是对磁盘(块设备文件)数据的缓存,而Cache是对文件(普通文件)数据的缓存。
如果某一个天读取磁盘速度变得也很快,那么cache可能就没有必要存在了,但是buffer却会依然存在。buffer的存在会使得数据变得平稳。cache中的数据读取具有随机性,而buffer中的数据是有顺序的。
例子
Read Cache和Read Buffer:
读缓存的时候,如果缓存中没有,则读取实际数据,然后将数据加入到cache,先进入cache中的数据不一定先被读取。
而读buffer不一样,先进入buffer中的数据一定会被先读取出来,具有顺序访问的特点。