當前位置:首頁 » 硬碟大全 » 緩存和緩沖區概念
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

緩存和緩沖區概念

發布時間: 2023-03-19 18:33:35

❶ 緩沖區(或緩存)是不是指內存啊

分類: 電腦/網路 >> 軟體
問題描述:

使用快車下載東西時,聽說會先放在緩沖區里(好象是緩存,我也記不大清楚了),這里的緩沖區(或緩存)是不是就是指內存?誰幫我解釋一下!

解析:

1,高速緩存(者渣Cache),全稱「高速緩沖存儲器」。

2,例如:當CPU處理數據時,它會先到高速緩存中去尋找,如果數據因之前的操作已經讀取而被暫存其中,就不需要再從主內存中讀取數據——由於CPU的運行速度一般比主內存快,因此若要經常存取主內存的話,就必須等待數個CPU周期從而造成浪費。

3,提供「高速緩存」的目的是為了讓數據存取的速度適應CPU的處理速度,其基於的原理是內存中「程序執行與數據訪問的局域性行為」。

4,現在Cache的概念已經被擴充了:不僅在CPU和主內存之間有Cache,而且在內存和硬碟之間也有Cache(磁碟高速緩存),乃至在硬碟與網路之間也有某種意義上的「Cache」(Inter臨時文件夾)。

5,凡是位於速度相差較大的兩種硬體之間的,用於協調兩者數據傳輸速度差異的結構,均可稱之為Cache。

6,所以硬碟和內存之間隱嫌瞎的Cache就叫做磁碟高速緩存。它是在內存中開辟一塊位置,來臨時存取硬碟中的數據。這項技術可使計算機讀寫時的存儲系統平均數據傳輸率提高5-10倍,適應了當前激增的海量數據存儲需求。

7,在DOS時代,我們用:

*** artdrv 內存容量

命令來載入硬碟高速緩存。自從有了Windows後,我們就不需要載入硬碟高速緩存了,因為Windows本身有自己的高速緩存管理單元,如果強行使用 *** artdrv命令載入,反而會影響Windows的性能。

8,我們在用硬碟安裝Win2000/XP時候,系統會提示載入高速緩存,這是因為在安裝的初期還是DOS操作,所以為了達到讀存的速度灶空,安裝程序要求載入高速緩存。

❷ 緩沖區和磁碟緩存,分別是啥含義我怎麼覺得差不多呢

一般編程所說的緩沖區指的是內存緩沖區,這是程序所設置的一塊內存區域,用來暫存從其他設備讀入的數據或即將寫入其他設備的數據。
而硬碟緩沖區有兩種:
一是上面說的內存緩沖區,只是它是專門為讀取或寫入硬碟而設置的,因此可以簡稱為硬碟緩沖區。這個的例子是很多下載軟體如迅雷中都有的磁碟緩存設置,即先將數據下載到內存中緩存起來,達到一定數量後再寫到硬碟里,從而減少了讀寫硬碟的次數,達到保護硬碟的目的。
另一種是硬碟本身攜帶的一塊隨機存儲器,大小通常為數MB到幾十MB,這個是固化在硬碟內部的。它的作用和前一種類似,也是為了增加讀寫效率和保護硬碟,只是它是系統中所有程序所共用的,並且除了驅動程序外,通常的程序無法控制它,因此很多程序還會從內存中再設置一塊緩存供自己使用。

❸ 我想問一下什麼叫作緩沖,什麼是緩存,還有它們各自的作用又是什麼呀,嘻嘻~~~教教我好嗎

緩沖應該說是動詞,緩存則是個概念名次。所以我們經常說,正在進行緩沖,清除緩存這樣的話。
而緩沖器相當於一個寄存器,暫時保存數據。緩沖區是內存中存放數據的地方。在程序試圖將數據放到機器內存中的某一個位置的時候,因為沒有足夠的空間就會發生緩沖區溢出。而人為的溢出則是有一定企圖的,攻擊者寫一個超過緩沖區長度的字元串,然後植入到緩沖區,而再向一個有限空間的緩沖區中植入超長的字元串可能會出現兩個結果,一是過長的字元串覆蓋了相鄰的存儲單元,引起程序運行失敗,嚴重的可導致系統崩潰;另有一個結果就是利用這種漏洞可以執行任意指令,甚至可以取得系統root特級許可權。大多造成緩沖區溢出的原因是程序中沒有仔細檢查用戶輸入參數而造成的。
緩沖區是程序運行的時候機器內存中的一個連續塊,它保存了給定類型的數據,隨著動態分配變數會出現問題。大多時為了不佔用太多的內存,一個有動態分配變數的程序在程序運行時才決定給它們分配多少內存。這樣想下去的話,如果說要給程序在動態分配緩沖區放入超長的數據,它就會溢出了。一個緩沖區溢出程序使用這個溢出的數據將匯編語言代碼放到機器的內存里,通常是產生root許可權的地方,這就不是什麼好現象了。僅僅就單個的緩沖區溢出惹眼,它並不是最大的問題根本所在。但如果溢出送到能夠以root許可權運行命令的區域,一旦運行這些命令,那可就等於把機器拱手相讓了。
緩存:它事實上相當於一個臨時倉庫。每次打開一個網頁,IE會自動創建一份該網頁文字和圖像的緩存文件(一個臨時副本)。當再次打開該頁時,IE會檢查網站伺服器上該頁的變化。如果頁面變化了,IE從網路上重新下載新的網頁。如果該頁面沒有變化,IE就從內存或硬碟上使用緩存中的臨時復本來顯示它。
IE會在緩存中保留網頁到硬碟,直到各自的緩存占滿空間;IE則根據網頁的時間和空間來向下取捨。這樣設計的目的是為了更快地裝載頁面。
緩存不僅可以用來加快網頁載入速度,而且當需要查看以前看過的網頁時,還可以無需驅動「小貓」,只需單擊IE上的「文件→離線工作」菜單命令,然後單擊工具欄上的「歷史」按鈕,即可方便地進行瀏覽。
既然IE緩存有這個妙處,那自然應該共享它了。除了直接復制緩存文件的方法外,還有大搬家—更改IE緩存的保存路徑法: 首先打開IE瀏覽器,單擊「工具→Internet選項」菜單命令,打開「Internet選項」對話框。在「常規」選項卡中單擊「Internet臨時文件」部分的「設置」按鈕,打開「設置」對話框,單擊「移動文件夾」按鈕,在打開的「瀏覽文件夾」對話框里定位到另一個分區下的某個路徑,然後單擊「確定」按鈕即可。

❹ 電腦中的緩沖和緩存是什麼意思

1、緩沖器相當於一個寄存器,暫時保存數據。緩沖區是內存中存放數據的地方。在程序試圖將數據放到機器內存中的某一個位 置的時候,因為沒有足夠的空間就會發生緩沖區溢出。而人為的溢出則是有一定企圖的,攻擊者寫一個超過緩沖區長度的字元串,然後植入到緩沖區,而再向一個有 限空間的緩沖區中植入超長的字元串可能會出現兩個結果,一是過長的字元串覆蓋了相鄰的存儲單元,引起程序運行失敗,嚴重的可導致系統崩潰;另有一個結果就 是利用這種漏洞可以執行任意指令,甚至可以取得系統root特級許可權。大多造成緩沖區溢出的原因是程序中沒有仔細檢查用戶輸入參數而造成的。
2、緩沖區是程序運行的時候機器內存中的一個連續塊,它保存了給定類型的數據,隨著動態分配變數會出現問題。大多時為了不佔用太多的內存,一個有動態分配變數 的程序在程序運行時才決定給它們分配多少內存。這樣想下去的話,如果說要給程序在動態分配緩沖區放入超長的數據,它就會溢出了。一個緩沖區溢出程序使用這 個溢出的數據將匯編語言代碼放到機器的內存里,通常是產生root許可權的地方,這就不是什麼好現象了。僅僅就單個的緩沖區溢出惹眼,它並不是最大的問題根 本所在。但如果溢出送到能夠以root許可權運行命令的區域,一旦運行這些命令,那可就等於把機器拱手相讓了。
3、緩存:它事實上相當於一個臨時倉庫。每次打開一個網頁,IE會自動創建一份該網頁文字和圖像的緩存文件(一個臨時副本)。當再次打開該頁時,IE會檢查網 站伺服器上該頁的變化。如果頁面變化了,IE從網路上重新下載新的網頁。如果該頁面沒有變化,IE就從內存或硬碟上使用緩存中的臨時復本來顯示它。 IE會在緩存中保留網頁到硬碟,直到各自的緩存占滿空間;IE則根據網頁的時間和空間來向下取捨。這樣設計的目的是為了更快地裝載頁面。
4、緩存不僅可以用來加快網頁載入速度,而且當需要查看以前看過的網頁時,還可以無需驅動「小貓」,只需單擊IE上的「文件→離線工作」菜單命令,然後單擊工具欄上的「歷史」按鈕,即可方便地進行瀏覽。既然IE緩存有這個妙處,那自然應該共享它了。
5、除了直接復制緩存文件的方法外,還有大搬家—更改IE緩存的保存路徑法: 首先打開IE瀏覽器,單擊「工具→Internet選項」菜單命令,打開「Internet選項」對話框。在「常規」選項卡中單擊「Internet臨時 文件」部分的「設置」按鈕,打開「設置」對話框,單擊「移動文件夾」按鈕,在打開的「瀏覽文件夾」對話框里定位到另一個分區下的某個路徑,然後單擊「確定 」按鈕即可

❺ 緩存與緩沖的區別與聯系 有什麼詳細的舉例

相信大山雀家現在都使用過手機和電腦了,在現在這個互聯網已經普及的時代,這兩種電子產品真的十分的常見了。那麼大家有沒有緩存過視頻呢?有沒有在看視頻的時候進行過緩沖呢?下面我們來了解一下關於緩存與緩沖的區別與聯系。

緩存是指把常用數據存儲到可以快速獲取的區域,以備重復利用,一般叫做cache. 緩存能提高效率緩沖是指在數據流轉過程中,不同層次速度不一致時,利用緩沖區來緩解上下層之間速率問題,一般叫做buffer. 緩沖能提高速度buffer(緩沖)是為了提高內存和硬碟或其他I/0設備之間的數據交換的速度而設計的。cache(緩存)是為了提高cpu和內存之間的數據交換速度而設計。cpu在執行程序所用的指令和讀數據都是針對內存的也就是從內存中取得的。由於內存讀寫速度慢,為了提高cpu和內存之間數據交換的速度,在cpu和內存之間增加了cache,它的速度比內存快,但是造價高,又由於在cpu內不能集成太多集成電路,所以一般cache比較哪念小。

以後intel等公司為了進一步提高速度,增加了二級cache,甚至三級cache,它是根據程序的局部性原理而設計的就是cpu執行的指令和訪問的數據往往在集中的某一塊,所以把這塊內容放入cache後,cpu就不用在訪問內存了,這就提高了訪問速度。當然若cache中沒有cpu所需要的內容,還是要訪問內存的。 緩沖buffers是根據磁碟的讀寫設計的,把分散的寫操作集中進行,減少磁碟碎片和硬碟的反復尋道,從而提高系統性能。linux有一個守護進程定期清空緩沖內容,即寫入磁碟也可以通過sync命令手動清空緩沖。

舉個例子吧,我這里有一個ext2的U盤,我往裡面cp一個3M的MP3,但U盤的燈沒有跳動?過了一會兒,或者手動輸入sync,U盤的燈就跳動起來了。卸載設備時會清空緩沖,所以有些時候卸載一個設備時要等上幾秒鍾。修改/etc/sysctl.conf中的vm.swappiness右邊的數字可以在下次開機時調節swap使用策略。該數字范圍是0-100數字越大越傾向於使用swap。默認為60,可以改一下試試。--兩者都是RAM中的數據。簡單來buffer是即將要被寫入磁碟的,而cache是被從磁碟中讀出來的。

buffer是由各種進程分配的,被用在如輸入隊列等方面。一個簡單的例子如某個進程要求有多個欄位讀入,在所有欄位被讀入完整之前,進程把先前讀入的欄位放在buffer中保存。cache經常被用在磁碟的I/O請求上,如果有多個進程都要訪問某個文件,於是該文件便被做成cache以方李唯困便下次被訪問,這樣可提高系統性能。

❻ 什麼叫緩存

所謂的緩存,就是將程序或系統經常要調用的對象存在內存中,一遍其使用時可以快速調用,不必再去創建新的重復的實例。這樣做可以減少系統開銷,提高系統效率。

1、通過文件緩存;顧名思義文件緩存是指把數據存儲在磁碟上,不管你是以XML格式,序列化文件DAT格式還是其它文件格式;

2、內存緩存;也就是創建一個靜態內存區域,將數據存儲進去,例如我們B/S架構的將數據存儲在Application中或者存儲在一個靜態Map中。

3、本地內存緩存;就是把數據緩存在本機的內存中。

4、分布式緩存機制;可能存在跨進程,跨域訪問緩存數據

對於分布式的緩存,此時因為緩存的數據是放在緩存伺服器中的,或者說,此時應用程序需要跨進程的去訪問分布式緩存伺服器。

(6)緩存和緩沖區概念擴展閱讀

當我們在應用中使用跨進程的緩存機制,例如分布式緩存memcached或者微軟的AppFabric,此時數據被緩存在應用程序之外的進程中。

每次,當我們要把一些數據緩存起來的時候,緩存的API就會把數據首先序列化為位元組的形式,然後把這些位元組發送給緩存伺服器去保存。

同理,當我們在應用中要再次使用緩存的數據的時候,緩存伺服器就會將緩存的位元組發送給應用程序,而緩存的客戶端類庫接受到這些位元組之後就要進行反序列化的操作了,將之轉換為我們需要的數據對象。

❼ 緩存是什麼意思

緩存就是數據交換的緩沖區(稱作Cache),當某一硬體要讀取數據時,會首先從緩存中查找需要的數據,如果找到了則直接執行,找不到的話則從內存中找。由於緩存的運行速度比內存快得多,故緩存的作用就是幫助硬體更快地運行。
因為緩存往往使用的是RAM(斷電即掉的非永久儲存),所以在用完後還是會把文件送到硬碟等存儲器里永久存儲。電腦里最大的緩存就是內存條了,最快的是CPU上鑲的L1和L2緩存,顯卡的顯存是給顯卡運算晶元用的緩存,硬碟上也有16M或者32M的緩存。

❽ 緩存是什麼意思

緩存就是數據交換的緩沖區(稱作Cache),是存貯數據(使用頻繁的數據)的臨時地方。當用戶查詢數據,首先在緩存中尋找,如果找到了則直接執行。如果找不到,則去資料庫中查找。

緩存的本質就是用空間換時間,犧牲數據的實時性,以伺服器內存中的數據暫時代替從資料庫讀取最新的數據,減少資料庫IO,減輕伺服器壓力,減少網路延遲,加快頁面打開速度。

工作原理

緩存的工作原理是當CPU要讀取一個數據時,首先從CPU緩存中查找,找到就立即讀取並送給CPU處理。

沒有找到,就從速率相對較慢的內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。

❾ 緩存是什麼意思

緩存是什麼

緩存的原始意義,是指訪問速度比一般隨機存取存儲器快的一種高速存儲器。

簡單來說,緩存就是數據交換的緩沖區。當我們的硬體需要讀取數據的時候,一般會先在緩存中查找想要的數據,這樣速度比較快。如果找不到的話,就會在內存中查找,但這樣會降低電腦的運行速度。所以緩存的作用,就是幫粗帆助我們的電腦更快睜此的運行。可以說悉凳迅緩存的設置,是所有計算機系統可以發揮高性能的重要因素之一。

❿ 硬碟的緩沖區和緩存是一回事嗎》]

不是。
緩沖區溢出是指當計算機程序向緩沖區內填充的數據位數超過了緩沖區本身的容量。溢出的數據覆蓋在合法數據上。理想情況是,程序檢查數據長度並且不允許輸入超過緩沖區長度的字元串。但是絕大多數程序都會假設數據長度總是與所分配的存儲空間相匹配,這就為緩沖區溢出埋下隱患。操作系統所使用的緩沖區又被稱為堆棧,在各個操作進程之間,指令被臨時存儲在堆棧當中,堆棧也會出現緩沖區溢出。

當一個超長的數據進入到緩沖區時,超出部分就會被寫入其他緩沖區,其他緩沖區存放的可能是數據、下一條指令的指針,或者是其他程序的輸出內容,這些內容都被覆蓋或者破壞掉。可見一小部分數據或者一套指令的溢出就可能導致一個程序或者操作系統崩潰。

緩存(Cache memory)是硬碟控制器上的一塊內存晶元,具有極快的存取速度,它是硬碟內部存儲和外界介面之間的緩沖器。由於硬碟的內部數據傳輸速度和外界介面傳輸速度不同,緩存在其中起到一個緩沖的作用。緩存的大小與速度是直接關繫到硬碟的傳輸速度的重要因素,能夠大幅度地提高硬碟整體性能。當硬碟存取零碎數據時需要不斷地在硬碟與內存之間交換數據,如果有大緩存,則可以將那些零碎數據暫存在緩存中,減小外系統的負荷,也提高了數據的傳輸速度。

硬碟的緩存主要起三種作用:一是預讀取。當硬碟受到CPU指令控制開始讀取數據時,硬碟上的控制晶元會控制磁頭把正在讀取的簇的下一個或者幾個簇中的數據讀到緩存中(由於硬碟上數據存儲時是比較連續的,所以讀取命中率較高),當需要讀取下一個或者幾個簇中的數據的時候,硬碟則不需要再次讀取數據,直接把緩存中的數據傳輸到內存中就可以了,由於緩存的速度遠遠高於磁頭讀寫的速度,所以能夠達到明顯改善性能的目的;二是對寫入動作進行緩存。當硬碟接到寫入數據的指令之後,並不會馬上將數據寫入到碟片上,而是先暫時存儲在緩存里,然後發送一個「數據已寫入」的信號給系統,這時系統就會認為數據已經寫入,並繼續執行下面的工作,而硬碟則在空閑(不進行讀取或寫入的時候)時再將緩存中的數據寫入到碟片上。雖然對於寫入數據的性能有一定提升,但也不可避免地帶來了安全隱患——如果數據還在緩存里的時候突然掉電,那麼這些數據就會丟失。對於這個問題,硬碟廠商們自然也有解決辦法:掉電時,磁頭會藉助慣性將緩存中的數據寫入零磁軌以外的暫存區域,等到下次啟動時再將這些數據寫入目的地;第三個作用就是臨時存儲最近訪問過的數據。有時候,某些數據是會經常需要訪問的,硬碟內部的緩存會將讀取比較頻繁的一些數據存儲在緩存中,再次讀取時就可以直接從緩存中直接傳輸。

緩存容量的大小不同品牌、不同型號的產品各不相同,早期的硬碟緩存基本都很小,只有幾百KB,已無法滿足用戶的需求。2MB和8MB緩存是現今主流硬碟所採用,而在伺服器或特殊應用領域中還有緩存容量更大的產品,甚至達到了16MB、64MB等。

大容量的緩存雖然可以在硬碟進行讀寫工作狀態下,讓更多的數據存儲在緩存中,以提高硬碟的訪問速度,但並不意味著緩存越大就越出眾。緩存的應用存在一個演算法的問題,即便緩存容量很大,而沒有一個高效率的演算法,那將導致應用中緩存數據的命中率偏低,無法有效發揮出大容量緩存的優勢。演算法是和緩存容量相輔相成,大容量的緩存需要更為有效率的演算法,否則性能會大大折扣,從技術角度上說,高容量緩存的演算法是直接影響到硬碟性能發揮的重要因素。更大容量緩存是未來硬碟發展的必然趨勢。