Windows Embedded CE 6.0系統特性及架構一覽
最近在學習Windows Embedd CE 6.0和Windows桌面系統內部一些知識,這篇文章是對部分內核知識的整理和總結。Windows Embedded CE 6.0是非常優秀的嵌入式系統,對其內核的學習對我們開發、移植驅動和應用程序,對開發、移植嵌入式系統都非常有好處。
1.Windows Embedded CE 6.0系統的一些關鍵特性
★32位多任務操作系統
★多任務搶占、硬實時
★支持的處理器體系結構:ARM, x86, SH4, MIPS
★組件化
★Based on Win32 API Set,桌面系統的一個擴展子集,超過2000個函數可以使用。
★標準的Portable Executable(PE)文件格式
另外需要注意的是Platform Builder開發工具集成的Visual Studio中,作為后者的一個插件。開發Windows Mobile 6.x時使用的還是獨立的Platform Builder for Windows Mobile,相信到Windows Mobile 7.0時會有所變化。
作為通用性桌面操作系統的Windows XP取得了巨大的成功,關于其系統特性請看這。所以微軟又推出了Windows XP Embedded。與Window XP Embedded需要借助第三方插件才能實現實時操作系統相比,Windows Embedded CE 6.0是具有32 位本機實時支持的統一內核的。微軟另一款具有本機實時支持統一內核的嵌入式操作系統是Windows Embedded NavReady。更多Windows Embedded系統看這里。
目前Windows Embedded CE 6.0到目前為止最后一次較大更新為R2(2007年11月15日),其它小更新看這里。
2.Windows Embedded CE系統架構
下圖為Windows Embedded CE 5.0系統架構,與下下6.0的架構圖相比,我們發現:
(1).5.0時的NK.EXE被分為6.0的NK.EXE(交給OEM開發)和Kernel.DLL(微軟開發)。
(2).驅動分成內核態和用戶態。
(3).從圖上看不出來的內存架構變化。
以下為Windows Embedded CE 6.0系統總架構:
以下為更詳細的架構圖,結合上圖我們可以看到:
1.OEM商主要承擔OAL模塊(包括:NK.EXE和Bootloader)以及內核態驅動的開發。
2.其實從現在的市場來看OEM商有時也會負責應用和用戶態驅動的開發。
注:ISV(Independent Software Vendors):獨立軟件開發商。
對上圖中的用戶態進程進一步了解:
Shell, provides the user with an interface to the objects necessary for running applications and managing the Windows Embedded CE operating system on a target device.
ServicesD.EXE is a process that supplements the Udevice.exe process. ServicesD.exe provides enhanced loading capabilities such as support for starting, pausing, and stopping services.
內核態進程及DLL
FILESYS.DLL, responsible for the initialization sequence, object store, registry, CEDB databases, device notifications and other miscellaneous tasks.
FSDMGR.DLL, esponsible for managing file systems, filters, and the storage manager.
GWES.DLL, Windows Embedded CE 6.0 combines the Microsoft Win32 application programming interface (API), user interface (UI), and graphics device interface (GDI) libraries into the Graphics, Windowing, and Events Subsystem (GWES) module. GWES is the interface between the user, your application, and the operating system (OS).
Networking DLLs, NDIS based networking services.
DEVMGR.DLL, the Device Manager is loaded by the kernel, it runs continuously, and it manages loaded device drivers and their interfaces. When the Device Manager loads, it also loads the I/O Resource Manager to read a list of available resources from the registry.
KITL.DLL is Optional.
K.COREDLL.DLL, DLL Kernel version of COREDLL.
KERNEL.DLL - The core operating system (OS) services consist of the Windows Embedded CE 6.0 kernel and other features common to all Windows Embedded CE 6.0 OS designs. Core OS services enable low-level tasks, such as process, thread, and memory management.
【編輯推薦】