2009年7月17日 星期五
How to improve your hard disk speed without upgrading the higher hardware
說明:
如何不透過硬體升級的方式(包括購買新的主機版、CPU、顯示卡或 SATA 硬碟)來改善你的電腦硬碟速率?這個主旨在許多網路資源受到相當廣泛的討論,詳見參考網址(僅供參考),但如何以現今的軟體技術一次性全盤了解有什麼樣的方法可以增進硬碟的速率(意指讀取和寫入速度)?當然,影響硬碟的速率的因素很多,例如:硬碟轉速、溫度、電腦匯流排速度等,本篇將焦點關注在如何使用軟體的方式(意指安裝軟體在電腦作業系統裡面)來改善電腦硬碟速率。
先決條件:電腦實體記憶體要夠大,如果是 Windows XP 至少要 2GB 以上,Windows Vista 至少要 3GB 以上。
解決方式:
同時考慮使用虛擬硬碟、虛擬硬碟快取和虛擬系統快取。
虛擬硬碟是使用軟體的方式透過緩衝技術讓實體記憶體的部份在作業系統裡面以硬碟的形式(虛擬裝置)呈現,故在作業系統層級中,虛擬硬碟就是一顆一般的硬碟裝置,通常以一個硬碟分割區的方式加入,但其傳輸速度卻比實際一般硬碟快上數十倍,可先行參閱「SuperSpeed RamDisk虛擬硬碟,加快電腦操作速度!」參考網址;對於使用者層級中,虛擬硬碟分割區與一般實體硬碟分割區並無不同,故可將諸如暫存檔案或目錄的位址指向此分割區硬碟,像是虛擬記憶體檔案 pagefile.sys、使用者暫存目錄 %SystemDrive%\\Documents and Settings\%UserName%\Local Settings\Temp、Internet Explorer 暫存目錄 %SystemDrive%\\Documents and Settings\%UserName%\Local Settings\Temporary Internet Files 等,此時當在執行程式或瀏覽網頁時,由於虛擬硬碟的讀寫使用了實體記憶體,就會發現在執行和瀏覽的時候明顯感覺更順暢、更有效率。
虛擬硬碟快取是使用軟體的方式透過快取緩衝技術讓實體記憶體的部份作為硬碟快取的部份形式,可先行參閱「SuperSpeed SuperCache v3.0.2.0設定探索與使用盲點」參考網址;一般硬碟快取通常為 1MB ~ 8MB 不等,理論上硬體快取記憶體愈大時,使用者需要存取的檔案就愈有可能存在快取記憶體裡面,此時就如同虛擬硬碟的讀取方式以原本一般硬碟快上數十倍的時間快速回應使用者,此時當執行程式或玩遊戲需要在短時間內快速存取多個檔案時,就會明顯感覺更順暢、更有效率。
虛擬系統快取是使用軟體的方式透過緩衝技術讓實體記憶體的部份預先載入欲執行的應用程式(.exe)或動態連結函式庫(.dll)等相關檔案,可先行參閱「EBoostr & SuperCache & RAMDISK - EBoostr」參考網址;一般作業系統在開啟執行一個程序時,通常會先將程序所需要的應用程式和相關的函式庫載入到實體記憶體中。理論上使用者開啟執行預先已載入至虛擬系統快取的程序時,此時即可直接透過記憶體的速度執行該程序,而不需要透過讀取一般硬碟,當許多共用的函式庫已預先載入至虛擬系統快取時,在開啟程序時就會感覺到更順暢、更有效率。
參考網址:
虛擬硬碟:
SuperSpeed RamDisk虛擬硬碟,加快電腦操作速度!
[心得]有2G以上RAM的可以參考
虛擬硬碟快取:
SuperCache II 讓你的硬碟效能爆增十倍以上
SuperSpeed SuperCache v3.0.2.0設定探索與使用盲點
SuperSpeed SuperCache II v1.1.16.0
Tommy 碎碎念 : 如何避免安裝 SuperCache II 之後, 無法正常開機的問題
虛擬系統快取:
EBoostr & SuperCache & RAMDISK - EBoostr
2009年1月15日 星期四
How to pass the RegisterKey to RegOverridePredefKey function
RegisterKey 是一個 .NET managed物件,RegOverridePredefKey 是一個原生Win32的函式呼叫,該函數主要用途在允許將一個預定義的註冊表項映射到另一個註冊表項。RegOverridePredefKey 的使用時機請連結參考網址。本文主旨在說明如何不使用原生自訂的Win32的函式庫而使用.NET managed達到如參考網址相同功能。
RegOverridePredefKey 原始宣告:
LONG RegOverridePredefKey(HKEY hKey, HKEY hNewHKey);
RegOverridePredefKey .NET P/Invoke 宣告:
[DllImport("advapi32.dll")]
public static extern long RegOverridePredefKey(IntPtr key, IntPtr newKey);
解決方法:
定義一個轉換方法 ;fieldInfo.GetValue 在 .NET 2.0 無法直接轉型成 IntPtr,其在取得 hkey 屬性時的型別為 Microsoft.Win32.SafeHandles.RegistrySafeHandle,繼承自System.Runtime.InteropServices.SafeHandle。
public static IntPtr GetRegistryHandle(RegistryKey registryKey)
{
Type type = registryKey.GetType();
FieldInfo fieldInfo = type.GetField("hkey", BindingFlags.Instance BindingFlags.NonPublic);
return ((SafeHandle)fieldInfo.GetValue(registryKey)).DangerousGetHandle();
}
附註:
RegOverridePredefKey 的使用時機之一是在OpenFileDialog自定義左邊PlacesBar,在.NET 2.0 sp1之後,OpenFileDialog已支援 CustomPlaces的集合屬性。
參考網址:http://msdn.microsoft.com/zh-cn/library/aa663661.aspx
2007年10月10日 星期三
IBM 攜手 Google 聯合培養雲端運算人才
文章轉錄:http://taiwan.cnet.com/news/software/0,2000064574,20124806,00.htm
IBM攜手Google 聯合培養雲端運算人才
CNET 新聞專區:授權採用NYTimes文章 / by Steve Lohr 09/10/2007
即使是美國最久負盛名的大學也無法提供處理功能強大和高度複雜運算技術所需要的技術培訓。
因此,IBM和Google公佈一項研究計畫來解決這一問題。兩家公司將投資建立一個大規模的資料中心,學生可以通過網際網路遠端存取該資料中心,進行遠端研究,此即所謂的「雲端運算」(cloud computing)。
Google和IBM 對這種模式有很大的商業興趣。運算任務將越來越脫離桌上型,轉向企業運算中心,被當作服務透過網際網路進行處理。Google是「雲端運算」技術領域的領導廠商。
但是,Yahoo、Amazon.com、eBay等公司也推出搜尋、社交網路、Web-based電子郵件、線上商務等網際網路服務,它們也使用此一技術。在企業市場上,IBM 和其他廠商推出了預測市場趨勢、調整價格、最佳化採購和製造的網際網路服務。
這些服務的幕後英雄是資料中心,它們利用數以千計的處理器,儲存海量資料,使用專門軟體解決網際網路規模的運算挑戰。這種新型的對資料處理有較高要求的超級運算技術通常用於檢索Web ,或者需要在數秒、數分鐘內完成的任務。
「雲端運算」方面的大多數創新來自企業,但產業主管和電腦科學家表示,人才的匱乏可能會限制「雲端運算」技術未來的成長。卡內基梅隆大學電腦學院院長Randal E. Bryant表示,學術界和政府實驗室沒有跟上潮流,大學需要跟上這一潮流。
六所大學將參與這一計畫,它們是卡內基梅隆大學、麻省理工學院、史丹佛大學、加州大學柏克萊分校、馬裡蘭大學、華盛頓大學。
Google正在一個尚未公佈的地方建設一座資料中心,到今年年底時該資料中心將包含有1600多個處理器。IBM 也為該計畫建立了一個資料中心。該資料中心將運行Google資料中心軟體的開放原始碼版本。
這一資料中心的處理能力只相當於Google搜尋引擎的極小一部分,但科學家表示,它的處理能力非常強大,足以進行網際網路方面的研究。建立和運營這樣的資料中心是很困難的,而且代價很高。Google和IBM 已經表示將於未來2 年內在該專案上投入至少3000萬美元。