Buffer Cache notes

Buffer(緩衝)是爲了提高內存和硬盤(或其他I/O設備)之間的數據交換的數據而設計的。
Cache(緩存)是爲了提高CPU和內存之間的數據交換而設計的,一級、二級、三級緩存...

CPU在執行程序所用的指令和讀數據都是針對內存的,由於讀寫數據慢,爲了提高CPU和內存之間數據交換的速度在CPU和內存之間增加了Cache,它的速度比內存快,但造價高,又由於在CPU內不能集成太多電路,所以一般Cache比較小,以後Intel公司爲了進一步提高數據,又增加了二級Cache,甚至三級Cache,它是根據程序的局部性原理而設計的,就是CPU執行的指令和訪問的數據往往在集中的某一塊,所以把這塊內容放入Cache後CPU就不用再訪問內存了,這就提高了速度(當然若Cache中沒有CPU所需要的內容,還是要訪問內存的)

 

Buffer是根據磁盤的讀寫設計的,把分散的寫操作集中進行,減少磁盤碎片和磁盤的反覆尋道,從而提高系統性能。

Cache位於應用程序與物理數據源之間,用於臨時存放複製數據的內存區域,目的是爲了減少應用程序對物理數據源訪問的次數,從而提高應用程序的運行性能。

 

簡單的說,Buffer是即將被寫入磁盤的,而Cache是被從磁盤中讀出來的。

 

Buffer是由各種進程分配的,被用在如輸入隊列等方面,例子:某個進程要求有多個字段讀入,在所有字段被讀入完整之前,進程把先讀入的字段放在Buffer中保存。

Cache經常被用在磁盤的I/O請求上,如果有多個進程都要訪問某個文件,於是該文件便被做成Cache以方便下次被訪問,這樣可提高系統性能。

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