星期四, 7月 05, 2007

Windows Embedded CE 6.0先進記憶體管理

Windows Embedded CE 6.0先進記憶體管理
上網時間 : 2007年07月05日

摘要

此文章的內容涵蓋新版Windows Embedded CE管理記憶體的方式、架構方式,以及這些改變對應用程式會產生什麼影響。

介紹

Windows Embedded CE在過去10年中已從市場新手轉變成嵌入式作業系統界的老手。在這段時間,除了管理記憶體的方式之外,微軟幾乎改善及強化了Windows Embedded CE的每個部分。當然,Windows Embedded CE一直都是一套現代化、先進且支援虛擬記憶體功能的多工作業系統,但是它在記憶體與程式碼密集系統 (code intensive systems)上卻有一些嚴重的限制,例如機上盒(set-top boxes)與Windows Mobile平台。

尤其是最多只能同時執行32項作業,以及32MB的應用程式虛擬空間限制。Windows Embedded CE早期並沒有這兩個問題,且現今開發的許多嵌入式系統也沒有這些困擾。只有在需要密集處理媒體作業的系統上才會產生這些疑慮,因此執行Windows Media player時,系統便需要大量的系統與應用程式的程式碼,例如Windows Mobile,而在需要使用大量小型程序建立系統的系統上,例如某些程序控制系統,也會產生這些問題。

Windows Embedded CE 6.0捨棄了“two 32’s”,因為它採用了完全重新編寫的核心及新的作業系統架構。新的核心可允許最多3萬2千個程序同時執行,這個新的處理程序「限制」至少在幾年內應該都不會是個問題。此外,虛擬記憶體空間則已經從每個程序32 MB的虛擬位址空間提高為每個程序2 GB的位址空間。

記憶體架構

回顧一下Windows CE 5.0使用的架構可幫助瞭解對新核心所做的強化。圖1說明了Windows CE 5.0整合性的虛擬位址空間。如同WindowsR XP與Windows Embedded CE 6.0一樣,此系統保留了最高2 GB的位址空間。較低部分的位址空間會被分割成許多區域。此區域中大部分,幾乎有一半皆是被定義為大型記憶體區域(Large Memory Area)。 此區域乃是用來分配供一般記憶體映圖檔案使用的記體空間的大型區塊區域。

請下載PDF文件,以閱讀完整文章。

作者: Douglas Boling