微软公司推出了两款嵌入式操作系统Windows CE和Windows XP Embedded。两款操作系统都可以在嵌入式系统中使用。但是,该如何确定哪一款更适合您的设备呢?
乍一看,Windows CE和Windows XP Embedded似乎并无区别。两个系统都属于组件化操作系统,均配备相似的程序接口(Win32、MFC、ATL以及对.NET应用的支持),采用相似操作系统技术,均支持网络、互联网浏览器、媒体播放器等等。如果了解每款操作系统的设计目标,选择时就会更容易。
Windows CE是一款体积小巧和组件化实时操作系统,它可以在多处理器架构上运行。而另一方面,则可以将Windows XP Embedded视为集成了内嵌功能的Windows XP Professional Service Pack 2的组件化版本。现在我们来分析一下两款操作系统的某些特性。
我们已经知道Windows XP Embedded是Windows XP Professional Service Pack 2的组件化版本。此操作系统包含了近12,000个独立组件,内置约9,000个设备驱动程序,采用了3,000项操作系统技术。你可以挑选在嵌入式操作系统映象中需要包含的驱动程序、服务与应用。如果您不需要媒体播放器、Notepad或IE,也就没必要在你的操作系统映象中选择相应的功能。这种挑选单独组件的能力可以缩小操作系统的尺寸,这自然也就降低了恶意代码攻击的风险。就Windows XP Embedded SP2而言,它具备Windows XP SP2中所有的安全更新,这其中包括被默认关闭的所有端口(HTTP除外)。当然,系统构建者可以根据设备需要决定打开哪个端口。基于XP Embedded结构构建的普通操作系统以40 MB为基数递增,其大小取决于最终镜像中包含哪种操作系统组件/技术。
在嵌入式系统中使用Windows XP Embedded的一个优势是,可以提高开发速度。基于Windows XP Embedded的系统运行于我们非常熟悉的x86处理器和PC 架构的硬件之上。这意味着现有任何Windows 2000或Windows XP的设备驱动程序或应用无需修改就可以在Windows XP Embedded上运行。这是因为Windows XP Embedded操作系统拥有一套预制的兼容桌面的二进制组件,它能确保应用和驱动程序之间的兼容性。
Windows XP Embedded设备典型的开发过程是:首先使用名为Target Analyzer的工具保存底层硬件的快照,生成一个XML格式文件,并以该文件定义目标设备中的所有硬件组件。然后,将XML文件导入组件设计器(Component Designer)工具,保存为定制组件,然后利用该组件定义设备的硬件。另外,组件设计器也可导入.INF格式的文件,这样可以轻松地在Windows 2000或Windows XP设备驱动程序中生成组件。组件设计器还可用于创建定制元件,或为定制的外壳或应用程序定义元件。创建的元件可以定义文件、注册设置以及操作系统对元件的依赖性。一旦将被定义元件插入到Windows XP Embedded组件数据库中,则可以用于嵌入式设计。
开发Windows XP Embedded操作系统映像的下一个步骤是使用目标设计器(Target Designer)工具。此工具支持Windows XP操作系统的所有技术和驱动程序,以及嵌入特性(下面我们就会介绍)。系统开发人员只需选择所需组件,并将这些组件添加到项目工作区即可。可选组件包括目标分析器创建的硬件定义组件,可为许多设备定义起点的设计模板,包括Windows Based Terminal(瘦客户机)、销售点(Point of Sale)设备,机顶盒等。您还可以拖动目录中的单个组件,将其添加到项目设计中。在构建时,目标设计器将在项目工作区运行依赖性分析程序,以确保最终操作系统映像中包括所需的操作系统功能。例如,开发人员选择.NET设计框架,添加其.NET应用程序,然后构建操作系统镜像。在这一过程中,系统设计人员无需知道和了解.NET框架的依赖性,就可构建操作系统映像。
我们已经提到,Windows XP Embedded拥有某些嵌入的特定功能,包括从CD-ROM或闪存磁盘上启动和运行Windows XP Embedded。在这两种情况下,开发人员都希望将底层媒介设置为只读,因为闪存仅支持有限的写入,而CD-ROM在该启动环境中也是只读的。Windows XP Embedded配备的增强型写入过滤(Enhanced Write Filter)组件将截取操作系统和应用写入指令,而并不会将启动介质内容写入内置高速缓存。这意味着在关机状态下,底层介质不会产生错误,设备总能保持最佳启动状态。因为Windows XP Embedded的增强型写入过滤组件允许多次使用休眠文件,所以您将拥有极佳的启动环境,在这种启动环境下,系统启动时间和消费电子产品启动时间相仿。
那么,如何对Windows XP Embedded和Windows CE进行比较呢?Windows CE体积小巧,是一种硬实时嵌入式操作系统,它可以在多种处理器架构(如x86、MIPS、ARM和SH4)上运行。其内核仅为200kb,当然操作系统大小取决于设计中包含的组件。该操作系统配置一个典型的、支持802.11a/b/g的驻留网关,它可以通过一个基于Web的接口进行远程管理;一款容量不足4 MB的安全软件;一个功能齐备的掌上浏览器(Web Pad)镜像(包括Web浏览器、媒体播放器、办公文件浏览器,它支持.NET Compact Framework;以及一个约18 MB的Windows Explorer Shell。
Windows CE和Windows XP Embedded存在诸多本质区别。首先,Windows CE是一款全32位、Unicode操作系统,它不支持MS-DOS或Windows 3.x应用。此外,Windows CE的架构也与台式机不同。在台式机中,您可以找到三款核心操作系统组件:Kernel32、GDI32和User32。而Windows CE则不存在这些组件,具有相同功能的组件包括Coredll (kernel32)和GWES,Graphics Windowing以及Event Subsystem(相当于GDI32与User32的组合)。这意味着即使是简单的台式机应用也不能在Windows CE上运行,最小的台式机应用也需重新编译后才能在Windows CE设备上运行,这不仅因为架构不同,也因为Windows CE设备更适合在非x86处理器上运行。
Windows CE配备的一整套工具可用于配置、构建和调试嵌入式操作系统镜像。Platform Builder工具和Windows XP Embedded 目标设计器工具极其相似,开发人员可以使用Platform Wizard(类似于Windows XP Embedded设计模板)对操作系统进行初始配置,然后再从操作系统设计中添加或删除某些功能。Platform Builder还包含对操作系统功能依赖性的支持功能,例如,将.NET Compact Framework添加到某设计中,同样为所需的操作系统技术提供支持。
Windows CE操作系统镜像构建成功后,可以利用许多工具(如源代码调试器、性能监控器和评测工具)调试或测试Windows CE操作系统镜像。
我们只是概述了Windows CE和Windows XP Embedded所采用的部分技术,难免挂一漏万。微软提供Windows CE和Windows XP Embedded的评估版本,您可以登录http://www.windowsembeddedkit.com 免费下载。在实际开始供应设备之前,不要求客户取得操作系统镜像许可。此外,微软还会对嵌入式操作系统提供长达10年的支持!为了您的下一代嵌入式产品,赶快对Windows CE或Windows XP进行评估吧。
[ 本帖最后由 沙漠之子 于 2007-7-22 02:29 AM 编辑 ]作者: wuzhiya 时间: 2007-7-18 14:59
我也想知道呀,我也是新手作者: goffi 时间: 2007-7-18 16:56
:lol
没听说过
查点资料看看作者: goffi 时间: 2007-7-18 17:07
Windows Embedded CE 是一种可自定义的嵌入式操作系统,适用于各种占用内存很少的设备。OEM 可以使用 Windows Embedded CE 设计平台和自定义应用程序,使用户可以获得各种设备的最佳体验,例如手持设备、瘦客户机、逻辑控制器以及各种高级消费类电子产品。
Windows Mobile 是基于 Windows Embedded CE 构建的一种完善的软件平台。与 Windows Embedded CE 不同,Windows Mobile Smartphone 和 Pocket PC 操作系统专为要求特殊硬件配置的设备而设计。该软件包括标准化的接口和应用程序,可确保在各种硬件设计中的兼容性。有关详细信息,请访问 Windows Mobile 网站。
Windows Automotive 基于 Windows Embedded CE 实时嵌入式操作系统。在共享 Windows Embedded CE 的丰富平台和服务的同时,Windows Automotive 还提供语音识别技术、自动化电源管理功能以及其他自动化特定的选项。要了解详细信息,请访问 Windows Automotive 网站。