在講緩衝區之前,我們要先介紹下記憶體的作用。
記憶體是計算機中重要的部件之一,它是與cpu進行溝通的橋梁。計算機中所有程式的執行都是在記憶體中進行的,其作用是用於暫時存放cpu中的運算資料,以及與硬碟等外部儲存器交換的資料。也就是說:只要計算機在執行中,cpu就會把需要運算的資料調到記憶體中進行運算,當運算完成後cpu再將結果傳送出來,記憶體的執行也決定了計算機的穩定執行。
我們平常使用的程式,如windows作業系統、打字軟體、遊戲軟體等,一般都是安裝在硬碟等外存上的,但僅此是不能使用其功能的,必須把它們調入記憶體中執行,才能真正使用其功能,我們平時輸入一段文字,或玩乙個遊戲,其實都是在記憶體中進行的。
cache(快取)則是系統兩端處理速度不匹配時的一種折衷策略。因為cpu和硬碟之間的速度差異越來越大,所以人們充分利用資料的區域性性特徵,通過使用儲存系統分級的策略來減小這種差異帶來的影響。
它位於cpu與記憶體之間,是乙個讀寫速度比記憶體更快的儲存器。當cpu向記憶體中寫入或讀出資料時,這個資料也被儲存進高速緩衝儲存器中。當cpu再次需要這些資料時,cpu就從高速緩衝儲存器讀取資料,而不是訪問較慢的記憶體,當然,如需要的資料在cache中沒有,cpu會再去讀取記憶體中的資料。
buffer(緩衝區)是系統兩端處理速度平衡(從長時間尺度上看)時使用的。它的引入是為了減小短期內突發i/o的影響,起到流量整形的作用。比如生產者——消費者問題,他們產生和消耗資源的速度大體接近,加乙個buffer可以抵消掉資源剛產生/消耗時的突然變化。
緩衝區的理解
這裡所說的緩衝區指的是為標準輸入與標準輸出設定的緩衝區,為什麼要設定乙個標準輸入緩衝區主要是從效率上來考慮的,如果不設緩衝區會降低cpu的效率,因為它總是會在使用者輸入之後馬上會去執行某些指令,導致多次io開銷!同樣設定乙個標準輸出緩衝區是為了解決列印的問題!總之這樣做的目的就是為了效率!比如如果沒...
緩衝區的個人理解
緩衝區的個人理解 這裡所說的緩衝區指的是為標準輸入與標準輸出設定的緩衝區,為什麼要設定乙個標準輸入緩衝區主要是從效率上來考慮的,如果不設緩衝區會降低cpu 的效率,因為它總是會等待使用者輸入完之後才會去執行某些指令!同樣設定乙個標準輸出緩衝區是為了解決列印的問題!總之這樣做的目的就是為了效率!接下來...
C 緩衝區的理解
下面介紹緩衝區的知識。一 什麼是緩衝區 緩衝區又稱為快取,它是記憶體空間的一部分。也就是說,在記憶體空間中預留了一定的儲存空間,這些儲存空間用來緩衝輸入或輸出的資料,這部分預留的空間就叫做緩衝區。緩衝區根據其對應的是輸入裝置還是輸出裝置,分為輸入緩衝區和輸出緩衝區。二 為什麼要引入緩衝區 我們為什麼...