?? 系統構架.txt
字號:
第二章 深入理解Windows CE
2.1 系統架構
Windows ce被設計成為一種分層結構,從底層向上分別為硬件層、OEM層、操作系統層和應用層。每一層由由不同的模塊組成,每個模塊由不同的組件組成。這種層次性的結構試圖盡量將硬件和軟件、操作系統與應用程序隔開,以便于實現系統的移植,便于進行硬件、驅動程序、OS和應用程序等開發的人員分工作合作、并行開發。
2.1.1硬件層
指CPU、存儲器、I/O端口中、擴展板卡等組成的嵌入式硬件系統,是Windows ce操作系統必不可少的載體。
OEM層是嵌入式硬件與Windows ce操作系統的接合層。Windows CE操作系統要能在持定的硬件上運行,硬件必須要能夠加載Windows ce操作系統,同時,操作系統也要能夠實現對硬件系統的初始化并驅動這些硬件。OEM層主要由下列模塊組成。
(1)OAL
是Windows ce內核與目標硬件之間的一個代碼層,主要用來處理Windows ce內核與目標硬件設備之間的通信,基功能主要包括CPU初始化、處理中斷、計時器等。
(2)boot Loader(啟動加載程序)
將Windows ce操作系統納核加載到目標硬件系統的內存并開始啟動操作系統的執行。
(3)配置文件
配置文件用于對Windows ce操作系統的創建過程進行配置,其主要包括源代碼配置文件和映 配置文件。源代碼朽置文件用于對操作系統 行時映像用到的模塊、特征和源代碼的創建方式進行配置,而映像配置文件用于對最終操作系統運行時映像創建方式進行配置。
(4)驅動程序
驅動程序是對物事或虛擬設備功能的軟件抽象,是操作系統與外部設備或虛擬設備的橋梁,應用程序只有通過驅動程序接口才能實現對物理或虛擬設備的操作。物理設備包括網卡、聲卡、計時器、串并口等,而文件系統是虛擬設備的一個例子。windows ce下的設備驅動既要實現Windows ce規定的驅動程序接口,將設備的功能呈現給應用程序和操作系統經,也需要利用操作系統提供的服務,實現驅動程序的加載、調度和卸載。Windows ce 下的驅動被設計成為用戶模式的應用程序,沒有必要必須運行在內核模式。
在OEM層的代碼構成中,OEM層主要由CSP代碼和BSP代碼組成,其中CSP支持不同的徽處理器體系結構,而BSP支持不同的徽處理器擴展和外設,它由Boot Loader、OAL和驅動程序代碼組成。
2.1.3操作系統層
是Windows ce的核心層,它既要為下層OEM層提供接口和服務,也要為上層的應用程序提供服務與應用程序編程接口。
(1)核心
核心是Windows ce操作系統的最小定制內核,它為任何基于Windows ce的設備提供處理器調度 、內存管理、異常處理及系統內通信等系統功能,并為應用程序使用這些核心功能提供內核服務。Windows ce操作系統包含很多不同的文件,上文件都為操作系統提供不同的功能和服務,但只有Nk.exe為Windows ce操作系統的內核。Nk.exe始終運行在較訓的優先級和處理器優先級上。除中斷例程外,一般不允許操作系統納的其他他占它的運行。
(2)Core DLL
該模塊是最基本的操作系統模塊,它為其他模塊提供核心功能。所有的操作系統定制設計都必須包含這個模塊,但并不是這個模塊中的所有組件都是必須需的。在絕大多數情況下,Core DLL并不完成實際操作,它只是作為應用層與操作系統層的一個橋梁,將應用層對操作系統的調用傳遞給操作系統相應的模塊,并觸發對相應進程的本地過程調用,如將所有繪圖和窗口調用發給GWES.exe。
(3)對象存儲模塊
對象存儲是Windows ce為應用程序及其相關數據提供的存儲方式,即使在關閉系統主電源只有后備電源的情況下,對象存儲也能保證數據 不會丟失。通常非易的RAM芯片構成了物理的對象存儲。理論上,對象存儲是由文件系統、數據庫、系統注冊表三種類型的永久存儲存儲構成的。雖然文件系統、數據庫和系統注冊表共享一個單獨的內存堆,但在實際應用中它們沒有必要物理上駐留在對象存儲里,它們可以駐留在ROM、單獨到可安裝文件系統或外部設備上。為此,Windows ce的文件系統又區分為RAM文件系統、ROM文件系統、FAT文件系統。數據的產生和訪問是按照存儲類型進行的,而與實際使用的物理存儲設備無關。
操作系統使用對象存儲主要完成下列任務:
a.管理棧和內存堆
b.必要時壓縮和展開文件
c.無縫地集成基于ROM的應用和基于RAM的數據
(4)多媒體技術模塊
多媒體技術模塊將桌面計算機上的高性能多媒體技術引入到了嵌入式設備領域。
(5)圖形窗口和事件系統模塊
該模塊包含大部分的核心Windwos ce功能,它集成了圖形設備接口、窗口管理器和事件管理器。GWES模塊是Windows ce操作系統高度組件化的部分,它分別由user和GDI兩部分組成,user用來處理 消息、事件及鼠標和鍵盤等的用戶輸入,而GDI用來處理圖形的屏幕和打印輸出等。
在運行的Windows ce操作系統中,圖形窗口和事件系統模塊體現為Gwes.exe進程。GWES模塊主要由以下三種類型的組件構成:
a.支持圖形驅動的GDI組件
b.支持窗口控件的USER組件
c.支持其他窗口和圖形功能的一般GWES組件。
(6)設備管理器模塊
是運行在Windows ce操作系統下體現為Device.exe的一個進程,它提供基本的設備列表管理、即插即用管理、i/o資源分配管理及驅動的加載、卸載和跟蹤已經加載的驅動及其接口等,它由內核加載并連續運行,一旦運行就永不缺載
(7)通信服務與網絡模塊
用于為基于Windows ce的設備提供有線或無線通信能力,ce設備能夠與其他設備或計算機進行連接與通信。
(8)應用和服務開發模塊
是為應用程序開發提供編程接口和服務支技的庫模塊,這些庫模塊一般 都 是一些DLL,微軟并不提供這些DLL的源代碼。應用和服務開發模塊提供了對活動模板庫(ATL)、C運行庫、組件服務(COM和DCOOM)、消息隊列、MFC等的支持。
應用層是在操作系統提供的Win32 API的基礎上,由Win32 API構建的應用程序組成,這些應有程序為基于Windows ce的設備提供增值功能和服務。應用層的程序主要包括兩部分:一部分是由Windows ce本身提供的應用程序,一部分是用戶根據自身設備需要程序。
2.1.4就用程序
(1)Windows ce 應用程序
是微軟提供的應用程序。
(2)Interne客戶服務
提供了對瀏覽器應用程序、定制瀏覽器技術及腳本語言解析引擎的支持。其組件包括標準的瀏覽器組件、Internet Explorer6.0瀏覽器應用程序、Pocket Inernet Explorer瀏覽器應用程序及相關的插件和XML組件等。
(3)用戶接口
構成了用哀慟與基于Windows ce的設備和應和程序的交互方式,它由鼠標接口、網絡用戶接口等程序組成。另外國際化模塊也可以作為用戶接口的一部分,國際化模塊主要提供對本地化的用戶接口和本地化特定的功能提供支持。國際化模塊的應用程序包括本地化的資源文件、字庫、輸入法管理器、國家語言支技和多語言用戶接口。
(4)客戶應用程序
客戶應用程序是用戶為特定需要編寫的特定功能的windows ce應用程序,一般在PB或EVC中創建。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -