首先實名Diss百度百科中 緩沖區分析 中對於 電腦緩沖區:緩沖區又稱為緩存 這一基礎概念的錯誤。然后我在詳細查閱資料和結合個人理解后,說說自己對於緩沖區的理解。
在講緩沖區之前,我們要先介紹下內存的作用。
內存是計算機中重要的部件之一,它是與CPU進行溝通的橋梁。計算機中所有程序的運行都是在內存中進行的,其作用是用於暫時存放CPU中的運算數據,以及與硬盤等外部存儲器交換的數據。也就是說:只要計算機在運行中,CPU就會把需要運算的數據調到內存中進行運算,當運算完成后CPU再將結果傳送出來,內存的運行也決定了計算機的穩定運行。
我們平常使用的程序,如Windows操作系統、打字軟件、游戲軟件等,一般都是安裝在硬盤等外存上的,但僅此是不能使用其功能的,必須把它們調入內存中運行,才能真正使用其功能,我們平時輸入一段文字,或玩一個游戲,其實都是在內存中進行的。
Cache(緩存)則是系統兩端處理速度不匹配時的一種折衷策略。因為CPU和硬盤之間的速度差異越來越大,所以人們充分利用數據的局部性特征,通過使用存儲系統分級的策略來減小這種差異帶來的影響。
它位於CPU與內存之間,是一個讀寫速度比內存更快的存儲器。當CPU向內存中寫入或讀出數據時,這個數據也被存儲進高速緩沖存儲器中。當CPU再次需要這些數據時,CPU就從高速緩沖存儲器讀取數據,而不是訪問較慢的內存,當然,如需要的數據在Cache中沒有,CPU會再去讀取內存中的數據。
Buffer(緩沖區)是系統兩端處理速度平衡(從長時間尺度上看)時使用的。它的引入是為了減小短期內突發I/O的影響,起到流量整形的作用。比如生產者——消費者問題,他們產生和消耗資源的速度大體接近,加一個buffer可以抵消掉資源剛產生/消耗時的突然變化。