Windows CE和Windows XP Embedded比较 点击:358 | 回复:0



cqs0088

    
  • 精华:13帖
  • 求助:0帖
  • 帖子:1879帖 | 39回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-07-10 14:41:31
楼主
Windows CE和Windows XP Embedded比较

  微软公司推出了两款嵌入式*作系统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只能在手持设备、电池供电设备如Windows Mobile设备上运行,而事实上这只是Windows CE最基本的应用,Windows CE具有强大的电源管理能力, 在Windows Mobile设备上运行当然不成问题。Windows CE可以运行于工业控制系统、医疗监控设备、机器人、销售设备零售点以及其它很多嵌入式*作系统中。Windows CE是一款硬实时嵌入式*作系统,它支持低于10微秒的中断延迟,远远优于其它实时嵌入式系统。

  Windows CE配备的一整套工具可用于配置、构建和调试嵌入式*作系统镜像。Platform Builder工具和Windows XP Embedded 目标设计器工具极其相似,开发人员可以使用Platform Wizard(类似于Windows XP Embedded设计模板)对*作系统进行初始配置,然后再从*作系统设计中添加或删除某些功能。Platform Builder还包含对*作系统功能依赖性的支持功能,例如,将.NET Compact Framework添加到某设计中,同样为所需的*作系统技术提供支持。

  通常Windows CE都是运行在定制的硬件上,这种设计的优点是可以通过缩小*作系统镜像尺寸来减少使用的材料,降低处理器的功耗,并减少所支持的外设数量,而与此同时,则增强了对最新*作系统技术的支持能力。此流程通常要求将Windows CE移植到新定制的硬件上。为了实现这一移植过程,Windows CE装载了数以百万计的源代码,开发人员可以利用这些源代码检验Windows CE的工作方式。另外,修正提供源代码的方式也有助于实现该移植过程。

  Windows CE*作系统镜像构建成功后,可以利用许多工具(如源代码调试器、性能监控器和评测工具)调试或测试Windows CE*作系统镜像。

  我们只是概述了Windows CE和Windows XP Embedded所采用的部分技术,难免挂一漏万。微软提供Windows CE和Windows XP Embedded的评估版本,您可以登录http://www


热门招聘
相关主题

官方公众号

智造工程师