SuperFetch 的功能與特色
在了解 SuperFetch 的功能之前, 我們先來了解程式要執行時, CPU、RAM 與硬碟之間的運作關係:
1.程式要執行, 都得將資料從硬碟載入記憶體中
2.一旦所需要的資料沒有在記憶體中, 就得從硬碟中讀取
Tip 換言之, 速度緩慢的硬碟經常就是系統速度無法提昇的癥結點。
Vista 的新功能 SuperFetch, 不僅可以預先『提取』 (Fetch) 您所需要的資料到記憶體中, 減少系統到硬碟讀取資料的次數;除此之外,
SuperFetch 還具備以下的優點:
● 自動載入您最常使用的程式:SuperFetch 使用新的預測方法, 預先將您會經常使用的程式載入記憶體, 而且讓程式一直存放在記憶體中,
不會因為其他資源佔用而受影響。
● 預先將相關程式載入記憶體中:例如您在開啟 Photoshop 要編輯相片時, 通常也會一併開啟 ACDSee 瀏覽圖片;SuperFetch
就可以在您開啟某一程式時, 將關聯的程式一併載入記憶體中, 減少讀取時間。
● 紀錄個人使用習慣, 自動載入對應程式:SuperFetch 可以知道您在不同時間所使用的程式, 例如上班時您會先開啟 Office 程式;下班後會先打開
Live Messenger 或遊樂場;Vista 可以預先將這些程式載入記憶體中, 隨時準備執行您想要的程式。
簡述 SuperFetch 的運作機制
SuperFetch 的功能, 最主要是從您的程式使用習慣 (開啟次數的多寡), 給予每個程式一個 "優先順序";從這個優先順序,
就可以知道您經常使用哪些程式, 並將這些程式預先載入到記憶體中, 等待使用者執行。讓使用者 "感覺上" 電腦的反應速度變快。
一般的讀取機制
在一般使用情況下, 系統記憶體的管理方式都是採用依序載入、循序刪除的先進先出原則:
1.在記憶體中使用者已經載入了 4 個程式。
2.現在要執行程式 E 時, 記憶體已經沒有空間, 必須將程式 A 移出記憶體。
3.將程式 E 載入記憶體中執行。
4.若先前的程式 A 要再次執行時, 就要將程式 B 移出記憶體。
5.清出記憶體空間後, 再從硬碟載入程式 A 到記憶體。
Tip 以此類推, 下次要執行程式 B 時, 又要從硬碟中讀取資料;如此反覆讀取的結果, 造成系統效能降低。
改良後的 SuperFetch
而 SuperFetch 就是為了減少一般系統需要重複到硬碟中讀取資料的缺點, 利用程式在執行時的
"優先順序" (就是您開啟程式次數的多寡), 決定哪些程式要保留在記憶體中。以下就以圖解的方式說明 SuperFetch 的原理, 與記憶體的管理方式:
1.優先順序高的程式 A 與 B 先載入記憶體中。
2.接著再將其他程式載入。
3.當您要執行程式 E 時, SuperFetch 會將程式 C 移出記憶體, 清出記憶體空間。
4.結著再將程式 E 載入記憶體中執行。
5.再次開啟程式 A 時, 就可以直接在記憶體中執行。
Tip 所以當程式開啟次數越多時, 該程式就會一直存在記憶體中, 您自然就會感覺到系統運作明顯較快。
搭配 ReadyBoost / ReadyDrive, SuperFetch 更如虎添翼
由於 SuperFetch 就是預先將程式與資料預先載入記憶體的技術, 但是記憶體容量有限,
不可能將所有的程式全部放到記憶體中;後續要執行程式還是要從硬碟中讀取。
所以 SuperFetch 結合了 ReadyBoost 與 ReadyDrive, 當作是記憶體的快取空間,
將後續要執行的程式依序放入這些外部擴充記憶體 (External Memory Device , 簡稱 EMD) 中。要搜尋的資料不在記憶體時,
系統優先從速度快的 EMD 中尋找, 而盡量避免使用速度緩慢的硬碟, 讓使用者感覺不到資料在搜尋與讀取的時間, 效能自然就會好囉!
|