當前位置:首頁 » 硬碟大全 » 文件流操作緩存的作用
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

文件流操作緩存的作用

發布時間: 2023-01-21 08:33:35

緩存文件夾的作用是什麼

電腦緩存文件夾的作用和處理
無論你使用的是哪一種瀏覽器,其中的磁碟緩存將直接決定你瀏覽器的工作效率,盡管緩存是一種改善瀏覽器性能極為有效的一種手段,但使用不當也許會影響你工作。
1.瀏覽器磁碟緩存的工作原理
當設置一定量的磁碟緩存後,瀏覽器上網工作時會把從網上讀出的網頁、圖像以及其它數據存放在磁碟緩存之中,並建立相應的文檔索引。在瀏覽器以後的工作中,將首先檢查磁碟緩沖區中是否存在相應的數據,如果有,則直接從本地磁碟上讀出,不再從網上下載,所節省的時間是顯而易見的。
2.瀏覽器確實需要一定量的緩存
從上面的原理可以看出,磁碟緩存的存在是相當必要的,並且需要一定的容量。
如果緩存容量設置的太小,所能存放的數據量小,大部分數據需要重復下載,並且系統自動頻繁清除緩存中的數據,會使瀏覽速度明顯下降。
3.磁碟緩存不可設置太大
瀏覽器的緩存作用雖大,但切記不可設置太大,當你的磁碟緩存中存放的數據量過於龐大時,瀏覽器每打開一個網頁前將搜索冗長的文檔,會使你的硬碟頻繁工作,所需要的時間將長於從網上下載數據的時間。在這種情況下,磁碟緩存就失去了應有的作用。
4.緩存多少為好
這個問題我個人認為沒有固定的標准,要視硬碟、機器的速度來靈活調整。當你無法找到設置緩存長度的依據時,使用瀏覽器的預設參數即可。如果硬碟的容量可觀,可適當加大一些,如果機器的速度太慢,可適當減小一些。因為主頻低的機器查找硬碟文檔需要的時間更長,具體可通過觀察瀏覽器和硬碟工作的狀態而定;
5.緩存可能導致瀏覽器故障
磁碟緩存有時確實可以導致瀏覽器故障,最為典型的現象有兩種。一種就是上面所提到的,有時打開一個網頁時硬碟不停的工作,需要很長的時間才有反應。這是因為緩存太長以及緩存中數據太多造成的。另外一種現象就是瀏覽器乾脆不工作,無法打開任何網頁。這是因為緩存中的數據文檔混亂或者已經破壞造成的。解決上述故障的辦法是減小緩存尺寸或者清理緩存中的數據。
6.緩存在哪裡
每種瀏覽器都把一個特殊的文件夾作為緩存使用,在系統的預設狀態下,IE(包括3.0和4.0等版本)的磁碟緩存在 「WINDOWSTemporary InternetFiles」文件夾中.
7.清除緩存的方法
IE瀏覽器和網景的高版本瀏覽器均帶有自動清除磁碟緩存功能,比如在IE4.0中通過菜單「查看」---「internet選項」-「常規」打開設置頁面,按上「internet臨時文件」欄中的「刪除文件」按鈕即可;在NETSCAPE通信4.03版本中通過菜單「編輯」---「首選項」打開設置窗口,選擇「高級」中的「緩存」窗口,按下「清磁碟緩存」按鈕即可;對於低版本的不具備自動刪除功能的瀏覽器,可直接刪除緩存文件夾中的內容,同樣上述的任何瀏覽器也可採取這種方法清除緩存,並且極為徹底。
8.使用緩存後需要注意的一些問題
使用緩存後最容易產生的問題是,網頁不能自動更新,雖然緩存的工作方式理論上可自動檢測網頁是否更新,但實際使用中往往每次都是讀出的舊網頁內容,這樣網上內容發生變化時你也不會了解。最為簡單的方法是必須隨時按下瀏覽器的「重讀」或「Reload」按鈕;也可在瀏覽器中進行相應設置,IE在緩存設置頁面中都具有檢查新網頁設置項,一般為三種選擇「每頁時檢查」、「每次啟動時檢查」及「從不檢查」,可根據需要進行設置。
9.更改緩存位置
高版本的瀏覽器緩存位置是可以改變的,可以選擇任一個文件夾作為緩存,這一點非常有用,比如在C盤空間緊張時把緩存移到其它分區,還有為了方便可把緩存放到一個易操作的地方比如桌面上。IE的修改方法如下:
先在適當地方建立一個文件夾,之後通過「查看」---「internet選項」-「常規」打開設置頁面,按下「internet臨時文件」中的「高級」按鈕,再按下「移動文件夾」並指定你新建的目錄即可;在NETSCAPE導航器中通過菜單「編輯」---「首選項」打開設置窗口,選擇「高級」中的「緩存」 窗口,按下「選擇文件夾」
按鈕即可。
10.設置緩存大小
IE6.0設置緩存方法如下: 打開「查看」菜單中的「Internet選項」,按下「internet臨時文件」欄中的「設置」按鈕,通過移動滑動桿即可改變緩存的大小;

資料庫緩存機制是什麼就是緩存是如何作用資料庫的越詳細越好。要對的。

緩存的介質一般是內存,所以讀寫速度很快。但如果緩存中存放的數據量非常大時,也會用硬碟作為緩存介質。緩存的實現不僅僅要考慮存儲的介質,還要考慮到管理緩存的並發訪問和緩存數據的生命周期。

⑶ 緩存什麼意思

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

⑷ C#中的文件緩沖的流是什麼意思Flush的執行流程是什麼緩沖區的功能是什麼

你寫了一個程序,其中要對硬碟上的一個文件操作,FileStream fs = new FileStream(fileName)

這樣就是建立了一個文件緩沖流,換句話的意思就是說你通過這條程序,計算機給了一一塊內存空間,但是呢這塊內存空間不是你想干什麼就干涉么的,他是專門存fileName這個文件裡面的內容的,內存空間的大小,和其他信息,簡單地操作時沒有辦法訪問的。當你要從文件裡面讀取一個Int整數的時候,程序做的不僅僅是讀取一個int型整數,他會把該數據附近的一大塊數據都讀出來放在剛才的那塊空間中,為什麼這么做呢,因為CPU訪問硬碟比訪問內存慢多了,所以一開始讀出很多的數據,後面需要使用的時候直接使用讀出來的,就防止了再次訪問硬碟。

相應的,你要網文件裡面寫入數據,也是先存到這個內存里,等存的東西足夠多了,或者過了足夠的時間,系統一次性把內容寫入硬碟。

Flush的作用就是強制執行了一次把數據寫出硬碟,這樣,你寫入的數據確實到了文件中,否則如果程序突然中斷,你要寫入的內容也許還沒寫到文件中,就造成了數據丟失。

⑸ 文件緩存是什麼

高速緩存英文是cache。一種特殊的存儲器子系統,其中復制了頻繁使用的數據,以利於CPU快速訪問。存儲器的高速緩沖存儲器存儲了頻繁訪問的 RAM 位置的內容及這些數據項的存儲地址。當處理器引用存儲器中的某地址時,高速緩沖存儲器便檢查是否存有該地址。如果存有該地址,則將數據返回處理器;如果沒有保存該地址,則進行常規的存儲器訪問。因為高速緩沖存儲器總是比主RAM 存儲器速度快,所以當 RAM 的訪問速度低於微處理器的速度時,常使用高速緩沖存儲器。

L1高速緩存,也就是我們經常說的一級高速緩存。在CPU裡面內置了高速緩存可以提高CPU的運行效率。內置的L1高速緩存的容量和結構對CPU的性能影響較大,不過高速緩沖存儲器均由靜態RAM組成,結構較復雜,在CPU管芯面積不能太大的情況下,L1級高速緩存的容量不可能做得太大。採用回寫(Write Back)結構的高速緩存。它對讀和寫*作均有可提供緩存。而採用寫通(Write-through)結構的高速緩存,僅對讀*作有效。在486以上的計算機中基本採用了回寫式高速緩存。在目前流行的處理器中,奔騰Ⅲ和Celeron處理器擁有32KB的L1高速緩存,奔騰4為8KB,而AMD的Duron和Athlon處理器的L1高速緩存高達128KB。

L2高速緩存,指CPU第二層的高速緩存,第一個採用L2高速緩存的是奔騰 Pro處理器,它的L2高速緩存和CPU運行在相同頻率下的,但成本昂貴,市場生命很短,所以其後奔騰 II的L2高速緩存運行在相當於CPU頻率一半下的。接下來的Celeron處理器又使用了和CPU同速運行的L2高速緩存,現在流行的CPU,無論是AthlonXP和奔騰4,其L2高速緩存都是和CPU同速運行的。除了速度以外,L2高速緩存容量也會影響CPU的性能,原則是越大越好,現在家庭用CPU容量最大的是512KB,而伺服器和工作站上用CPU的L2高速緩存更高達1MB-3MB。

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

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

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

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

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

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

——》7,在DOS時代,我們用:
smartdrv 內存容量
命令來載入硬碟高速緩存。自從有了Windows後,我們就不需要載入硬碟高速緩存了,因為Windows本身有自己的高速緩存管理單元,如果強行使用smartdrv命令載入,反而會影響Windows的性能。

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

⑹ 系統緩存起什麼作用

理解緩存

操作系統的任務主要是合理地調配系統的各種資源,為各種程序的運行提供環境,它可以看作是硬體和應用軟體之間的一個媒介。其中對內存的管理是系統的最主要的職責,怎麼樣使有限的內存用在刀刃上,怎麼要保證系統本身所需的內存(以防止死機,在win2000和winxp里這一點已經做的非常好了),怎樣克服各種硬體連接的瓶頸。

本文主要就這種硬體連接的瓶頸問題展開一些討論。大家知道計算機的主要硬體,硬碟,內存和處理器之間的速度是不一樣的,其中處理器的速度是非常快的,內存次之,而硬碟的速度是很慢的(相對於處理器來說),一件任務的處理要通過處理器給出的指令,把相關數據從硬碟里調出來,到內存,在內存和處理器之間還會有許多數據的傳輸,內存本身不能處理數據,要通過處理器來處理,當他們一起工作的時候,由於處理器和內存工作得快,它們常在把事做完了沒事做了,要等硬碟,這樣就大大降低了系統的整體性能,不能發揮所有硬體的性能。為了解決這個問題,一個優秀的操作系統必然要有「緩存」來作為這些硬體之間的一個中間站,來緩和這種矛盾,從而一定程度上提高系統的性能,「緩存」處理的越好,系統的性能發揮的越好。所以研究「緩存」就有了它的意義。

看了上面的內容,以前對「緩存」沒有認識的朋友應該理解它了。理解之後馬上可以應用的地方就是在自購兼容機的時候。大家大可不必去追趕潮流,買什麼P4處理器,而應該買一個快一點的硬碟,比如買個7200轉的(或更快的),以減少瓶頸的矛盾。處理器嗎,買賽揚好了,一般是沒問題的,處理器大多數時候是閑著的,有時處理很多個大任務時可能會有些緊張,注意避免就可以了。

從某種角度講,內存本身是硬碟和處理器之間的一個緩存,它的作用是緩解硬碟和處理器之間的尖銳矛盾的。當它被作為一個固定的部件後,它本身也成了需要用緩存來緩解瓶頸的對象。它對處理器和硬碟夾在中間,是他們的必經之路,硬碟與處理器之間的關系成了硬碟與內存和內存與處理器之間的雙重關系。所以上面提到的瓶頸問題的處理歸結為對內存的優化,即怎樣處理好硬碟與內存之間的緩存很處理器與內存之間的緩存。

對於一個想了解操作系統的人來說,能夠理解「緩存」對對它做適當的優化是比不可少的一節課。另外再不從一下,緩存的概念是很廣泛的,這里專指內存的緩存。
緩存的優化

操作系統本身已經有了很多優化措施,而我們只能在它的優化措施的基礎上根據我們的實際情況來優化。

1,最「著名」的緩存是頁面文件,這個倒不是緩解速度的,而是緩解容量的,在速度上,硬碟不如內存,但是容量上,內存是不可能跟硬碟比的,當你運行一個程序需要大量數據,佔有大量內存時,內存就要被塞滿,怎麼辦呢?把那些暫時不用的放到硬碟里去,因為處理器總是只調用處理一個任務所需的數據,其他的准備的數據(就是那些可能要用的,但暫時還不用的)可以先放一放,如果內存放不下,就只好放到硬碟了。但是這樣做是有代價的,當放到內存的數據重新要被使用時,你就得等很長時間等系統把在硬碟中得數據調上來。其實你可以感受到系統的這些動作,比如你打開IE或Office,第一次打開是很慢的,但是關閉後馬上再打開就快很多,這是因為這時數據還沒被系統「請」出內存,系統從內存中直接取得數據自然快了;另一個情況,當你開了一個photoshop這樣的大軟體,這時打開Office要比平時還慢一點,這是因為內存本來被photoshop佔領著,要調入Office的數據到內存就必須把photoshop的數據「請」出內存,多了這個過程,打開自然要慢一些。

優化頁面文件,可以做一下幾條:

1)把頁面文件放到系統盤之外,這樣做主要是為了保持頁面文件的連續性,硬碟讀取數據是靠磁頭在磁性物質上「讀」得到數據的,頁面文件放在物理上的不同區域,磁頭就要跳來跳去,自然不利於效率。系統盤文件眾多,頁面文件幾乎肯定不連續。所以要把它移到其他盤。要提醒一點,當你移動好頁面文件後,要把原來的刪除掉,系統不會自動刪除。

2)如果有兩個硬碟,把頁面文件放在轉速快的那個,原因上面已講了很多遍了。

3)最大最小頁面文件的設置原則。有很多人建議將這兩個值設置成相等的,我不知道他們是那裡來的依據,其實這樣設置是不合理的。我們先要知道他們兩個值的意義。一般情況下,內存是不會真的「塞滿」,它會在內存儲量到達一定程度時自動將一部分暫時不用的數據放到硬碟,最小頁面文件是所說的「一定程度」的具體比例的決定因素,最小頁面文件大,比例就低,反之則相反;最大頁面文件是極限值,有時你開了很多程序,內存和最小頁面文件都滿了,就自動溢出到最大頁面文件。所以,將兩者設為一樣大是不合理的。最小頁面文件要小一些,這樣能夠在內存中盡可能存更多的數據,效率就高,最大頁面文件大一些,以免出現「全滿」的的情況。

4)winxp現在支持4G內存,哪怕你有5,6百M的內存,你都不需頁面文件了,這時可以把頁面文件禁掉。到注冊表編輯器HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management下,找到DisablePagingExecutive(禁用頁面文件)設其值為1。
5)在同上的注冊表編輯器位置上有個ClearPageFileAtShutdown(關機時清除頁面文件),這里所說的「清除」頁面文件(即虛擬內存)並非是指從硬碟上完全刪除pagefile .sys這個文件,而是對其進行「清洗」和整理,從而為下次啟動Win2K更好地利用虛擬內存作好准備。這樣做還有利於安全,頁面文件上的殘留的數據是可以用特殊的工具讀到的,而這些數據你可能並不想讓人知道。這樣做的代價是關閉系統時間會加長。 將其值設為1即可。

6)學過C的朋友們應該對操作內存有個概念,一個任務完成後,要用free函數來釋放內存,但有很多軟體在設計的時候,並沒有在所有環節都這樣做,這會造成無用的數據占據內存,對這種情況可以使用一些內存優化軟體,讓這鍾軟體來完成釋放內存的動作。

2,下面介紹和優化一些不著名的緩存:

1)內存讀取硬碟數據要經過一個系統緩存(system cache),它的位置是在內存的特定區域,它是用來緩解硬碟與內存之間的速度不平衡的。它是以犧牲內存資源來換取從硬碟讀取數據時的速度的,有了這塊緩存,系統能從硬碟預讀所需的數據,減少系統等待的時間。如果你的內存很大,比如5,6百M,那麼你除了可以採取上面說的關閉頁面文件的方法外,還可以起用打的系統緩存。做法如下,進入注冊表編輯器: HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management,找到LargeSystemCache(啟用大的系統緩存),將它的值設為1就可以了。

這樣設置了後,systemcache從4M增加到8M,再win2000和winxp中,這個值是動態的,如果內存不足,systemcache占據的空間可以自動相應調整。

2)處理器從內存讀取數據的緩存是什麼呢?是二級數據高級緩存(緩沖),同樣它也要在內存中佔一個空間,所以最好是有了大內存之後再設置這個值。也需再注冊表裡設置,方法如下:進入 HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management ,找到 SecondLevelDataCache,默認為256,大內存設為512。

好了經過了上面的介紹,我想對朋友們來說最重要收獲的是加深了對緩存和操作系統的認識,至於優化的方法,我得承認一般的朋友是用不著去做的,當然「玩」一下也是很有意思的。

⑺ windows內存緩存影響

1.1 緩存管理器介於內存管理器(VMM)和文件系統驅動程序(FS)之間,它包含一組以"Cc"打頭的內核模式函數,全局變數,以及一些系統線程.

1.2 緩存管理器(CM)以虛擬塊(Virtual Block)為基礎來緩存數據,

這使得可以在不涉及文件系統驅動程序的情況下進行智能預讀((Read_Ahead)和延遲(Lazy_Write)

1.3 Windows緩存管理器使用一種稱為虛擬塊緩存(virtual Block caching)的方法,它跟蹤,記錄了哪些文件的哪些部分位於緩存中.

1.4 在intel x86系統中,系統默認的緩存大小為512MB,地址范圍是0xc1000000--0xe100000

2.緩存管理器ring read and write operation

2.1 讀的操作.

大致的過程如下,從I/O管理器發出一個read的IRP開始,然後是到文件系統驅動程序,然後是緩存管理器,再然後是虛擬內存管理器.

中間需要進行兩個判斷,1.緩存管理器是否將文件緩存到系統緩存中? 2,是否產生頁錯誤?

2.2 寫操作和讀操作類似,見下圖.

3.Cache Manager Interface

3.1 文件流(File Stream) 操作函數(

使文件映射到系統緩存中.

@ CcInitializeCacheMap()

@ CcSetFileSize()

@ CcFlushCache()

@ CcZeroData()

@ ()

@ ......

3.2 文件系統介面

一旦一個文件已經被建立起緩存方式的訪問環境,文件系統驅動程序就調用幾個函數中的某一個來訪問文件中的數據.

要訪問被緩存的數據,可以通過下面三種主要的方法:

⑻ 緩存的功能作用

硬碟的緩存主要起三種作用: 有時候,某些數據是會經常需要訪問的,像硬碟內部的緩存(暫存器的一種)會將讀取比較頻繁的一些數據存儲在緩存中,再次讀取時就可以直接從緩存中直接傳輸。緩存就像是一台計算機的內存一樣,在硬碟讀寫數據時,負責數據的存儲、寄放等功能。這樣一來,不僅可以大大減少數據讀寫的時間以提高硬碟的使用效率。同時利用緩存還可以讓硬碟減少頻繁的讀寫,讓硬碟更加安靜,更加省電。更大的硬碟緩存,你將讀取游戲時更快,拷貝文件時候更快,在系統啟動中更為領先。
緩存容量的大小不同品牌、不同型號的產品各不相同,早期的硬碟緩存基本都很小,只有幾百KB,已無法滿足用戶的需求。16MB和32MB緩存是現今主流硬碟所採用,而在伺服器或特殊應用領域中還有緩存容量更大的產品,甚至達到了64MB、128MB等。大容量的緩存雖然可以在硬碟進行讀寫工作狀態下,讓更多的數據存儲在緩存中,以提高硬碟的訪問速率,但並不意味著緩存越大就越出眾。緩存的應用存在一個演算法的問題,即便緩存容量很大,而沒有一個高效率的演算法,那將導致應用中緩存數據的命中率偏低,無法有效發揮出大容量緩存的優勢。演算法是和緩存容量相輔相成,大容量的緩存需要更為有效率的演算法,否則性能會大大折扣,從技術角度上說,高容量緩存的演算法是直接影響到硬碟性能發揮的重要因素。更大容量緩存是未來硬碟發展的必然趨勢。