Buffer和Cache的区别

之前没有细究系统的Buffer和Cache的区别,最近面试的时候被问及这个问题,过后查了一下:

其实,buffer与cache设计的初衷就不一样:


buffer(缓冲):是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的速度而设计的。 (写)
cache(缓存):是为了提高cpu和内存之间的数据交换速度而设计的(读)

两者都是RAM中的数据。简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的


       sync命令用来flush文件系统buffer,这样数据才会真正的写到磁盘中,并且buffer才能够释放出来,flush就是用来清空buffer。sync命令会强制将数据写入磁盘中,并释放该数据对应的buffer,所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘。 如果不去手动的输入sync命令来真正的去写磁盘,linux系统也会周期性的去sync数据。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章