摘要:緩沖和緩存有一些相似之處,比如它們都需要一塊存儲區,而且它們的本質都與速度不一致有關,即便是緩存,如果計算速度和讀取緩存的速度差不多,那么它也毫無意義。
緩存的思想由來已久,簡單地說,緩存的目的就是把需要花費昂貴開銷的計算結果保存起來,在以后需要的時候直接取出,而避免重復計算,一切緩存的本質都是如此。計算機乃至互聯網,緩存的應用數不勝數,我們都知道CPU緩存,它是位于CPU和內存之間的臨時存儲器,它的容量不大,但是交換速度要高于內存,CPU將頻繁交換的數據放在緩存中,如果以后需要則直接讀取緩存,從而避免訪問速度較慢的內存,不可否認,盡管我們認為內存速度已經很快,但是在CPU緩存面前,它還是力不從心。
緩沖(buffer)。緩沖的原意出自物理學,那就是減緩沖擊力,在計算機應用場景中,我們使用它的引申含義,其目的在于改善各部件之間由于速度不同而引發的問題。比如將用戶態地址空間的數據寫入磁盤時,顯然內存的速度比磁盤速度要快得多,所以人們設計了磁盤緩沖區,讓數據源源不斷地流進緩沖區,再由緩沖區負責寫入磁盤,這樣內存便可以不必隨著磁盤的慢節奏來工作,所以磁盤緩沖區起到了將快速設備和慢速設備平滑銜接的作用,另外我們在線觀看視頻的時候,視頻緩沖區的意義也是如此。
緩沖和緩存有一些相似之處,比如它們都需要一塊存儲區,而且它們的本質都與速度不一致有關,即便是緩存,如果計算速度和讀取緩存的速度差不多,那么它也毫無意義。但是,緩存更加注重的是策略,也就是說緩存命中率,如果每次都能在緩存中找到需要的數據,那是最理想的結果,如果每次都在緩存中找不到需要的數據,那么緩存將變得毫無價值,并且還由于緩存的管理邏輯增加了新的開銷。所以凡是使用緩存,都一定要意識到命中率的重要性。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/61825.html
摘要:以一次網絡請求為例,如下圖。發出系統調用,導致應用程序空間到內核空間的上下文切換,將應用程序緩沖區的數據拷貝到網絡堆棧相關的內核緩沖區緩沖區。的大小一般為,在位系統上一般為,在位系統上一般為。利用及加速對持久化文件的讀寫操作。 Linux中傳統的I/O操作是一種緩存I/O,I/O過程中產生的數據傳輸通常需要在緩沖區中進行多...
摘要:以一次網絡請求為例,如下圖。發出系統調用,導致應用程序空間到內核空間的上下文切換,將應用程序緩沖區的數據拷貝到網絡堆棧相關的內核緩沖區緩沖區。在系統中,文件分為兩個層面,與,每個包含若干個。利用及加速對持久化文件的讀寫操作。 Linux中傳統的I/O操作是一種緩存I/O,I/O過程中產生的數據傳輸通常需要在緩沖區中進行多次...
摘要:以一次網絡請求為例,如下圖。發出系統調用,導致應用程序空間到內核空間的上下文切換,將應用程序緩沖區的數據拷貝到網絡堆棧相關的內核緩沖區緩沖區。在系統中,文件分為兩個層面,與,每個包含若干個。利用及加速對持久化文件的讀寫操作。 Linux中傳統的I/O操作是一種緩存I/O,I/O過程中產生的數據傳輸通常需要在緩沖區中進行多次...
摘要:理解緩存抽象緩存與緩沖區術語緩沖區和緩存往往可以互換使用,但是請注意,它們代表不同的東西。這個抽象是由和接口實現。要使用緩存抽象,你需要考慮兩個方面緩存聲明標識需要緩存的方法及其策略。緩存配置存儲數據并從中讀取數據的后備緩存。 理解緩存抽象 緩存與緩沖區 術語緩沖區和緩存往往可以互換使用,但是請注意,它們代表不同的東西。傳統上,緩沖區用作數據在快實體和慢實體之間的中間臨時存儲,由于一...
摘要:為了保證緩存的一致性,緩存控制器跟蹤每一個緩存行的狀態,這些狀態的數量是有限的。用來表示在體系中響應其他緩存的特定緩存。如今,內存控制器的流量使用一個單獨的總線來傳輸。用于緩存段的緩存控制器記錄了哪個核心可能改變自己的緩存行。 即使是資深的技術人員,我經常聽到他們談論某些操作是如何導致一個CPU緩存的刷新。看來這是關于CPU緩存如何工作和緩存子系統如何與執行核心交互的一個常見誤區。本文...
閱讀 885·2021-10-27 14:19
閱讀 1102·2021-10-15 09:42
閱讀 1526·2021-09-14 18:02
閱讀 738·2019-08-30 13:09
閱讀 2981·2019-08-29 15:08
閱讀 2084·2019-08-28 18:05
閱讀 948·2019-08-26 10:25
閱讀 2777·2019-08-23 16:28