cache和buffer的區別
阿新 • • 發佈:2018-12-11
1.cache是為了彌補高速裝置和低速裝置的鴻溝而引入的中間層,最終起到“加快訪問速度”的作用。
2.buffer的主要目的進行流量整形,把突發的大數量較小規模的I/O整理成平穩的小數量較大規模的I/O,以“減少響應次數”
3.Buffer(緩衝區)是系統兩端處理速度平衡(從長時間尺度上看)時使用的。它的引入是為了減小短期內突發I/O的影響,起到流量整形的作用。比如生產者——消費者問題,他們產生和消耗資源的速度大體接近,加一個buffer可以抵消掉資源剛產生/消耗時的突然變化。 4.Cache(快取)則是系統兩端處理速度不匹配時的一種折衷策略。因為CPU和memory之間的速度差異越來越大,所以人們充分利用資料的區域性性(locality)特徵,通過使用儲存系統分級(memory hierarchy)的策略來減小這種差異帶來的影響。 5.假定以後儲存器訪問變得跟CPU做計算一樣快,cache就可以消失,但是buffer依然存在。比如從網路上下載東西,瞬時速率可能會有較大變化,但從長期來看卻是穩定的,這樣就能通過引入一個buffer使得OS接收資料的速率更穩定,進一步減少對磁碟的傷害。 6.TLB(Translation Lookaside Buffer,翻譯後備緩衝器)名字起錯了,其實它是一個cache.