微软公司推出了两款嵌入式操作体系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微秒的中止推迟,远远优于其它实时嵌入式体系。