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數據。


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