Windows Embedded CE 6.0系統(tǒng)特性及架構(gòu)一覽
最近在學(xué)習(xí)Windows Embedd CE 6.0和Windows桌面系統(tǒng)內(nèi)部一些知識,這篇文章是對部分內(nèi)核知識的整理和總結(jié)。Windows Embedded CE 6.0是非常優(yōu)秀的嵌入式系統(tǒng),對其內(nèi)核的學(xué)習(xí)對我們開發(fā)、移植驅(qū)動和應(yīng)用程序,對開發(fā)、移植嵌入式系統(tǒng)都非常有好處。
1.Windows Embedded CE 6.0系統(tǒng)的一些關(guān)鍵特性
★32位多任務(wù)操作系統(tǒng)
★多任務(wù)搶占、硬實時
★支持的處理器體系結(jié)構(gòu):ARM, x86, SH4, MIPS
★組件化
★Based on Win32 API Set,桌面系統(tǒng)的一個擴展子集,超過2000個函數(shù)可以使用。
★標(biāo)準(zhǔn)的Portable Executable(PE)文件格式
另外需要注意的是Platform Builder開發(fā)工具集成的Visual Studio中,作為后者的一個插件。開發(fā)Windows Mobile 6.x時使用的還是獨立的Platform Builder for Windows Mobile,相信到Windows Mobile 7.0時會有所變化。
作為通用性桌面操作系統(tǒng)的Windows XP取得了巨大的成功,關(guān)于其系統(tǒng)特性請看這。所以微軟又推出了Windows XP Embedded。與Window XP Embedded需要借助第三方插件才能實現(xiàn)實時操作系統(tǒng)相比,Windows Embedded CE 6.0是具有32 位本機實時支持的統(tǒng)一內(nèi)核的。微軟另一款具有本機實時支持統(tǒng)一內(nèi)核的嵌入式操作系統(tǒng)是Windows Embedded NavReady。更多Windows Embedded系統(tǒng)看這里。
目前Windows Embedded CE 6.0到目前為止最后一次較大更新為R2(2007年11月15日),其它小更新看這里。
2.Windows Embedded CE系統(tǒng)架構(gòu)
下圖為Windows Embedded CE 5.0系統(tǒng)架構(gòu),與下下6.0的架構(gòu)圖相比,我們發(fā)現(xiàn):
(1).5.0時的NK.EXE被分為6.0的NK.EXE(交給OEM開發(fā))和Kernel.DLL(微軟開發(fā))。
(2).驅(qū)動分成內(nèi)核態(tài)和用戶態(tài)。
(3).從圖上看不出來的內(nèi)存架構(gòu)變化。
以下為Windows Embedded CE 6.0系統(tǒng)總架構(gòu):
以下為更詳細(xì)的架構(gòu)圖,結(jié)合上圖我們可以看到:
1.OEM商主要承擔(dān)OAL模塊(包括:NK.EXE和Bootloader)以及內(nèi)核態(tài)驅(qū)動的開發(fā)。
2.其實從現(xiàn)在的市場來看OEM商有時也會負(fù)責(zé)應(yīng)用和用戶態(tài)驅(qū)動的開發(fā)。
注:ISV(Independent Software Vendors):獨立軟件開發(fā)商。
對上圖中的用戶態(tài)進程進一步了解:
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.
內(nèi)核態(tài)進程及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.
【編輯推薦】