admin 管理员组

文章数量: 887021

http://www.microsoft/china/windows/Embedded/xp/evaluation/compare/notlinux.mspx

对于任何给定的设备设计方案来说,操作系统(OS)平台的选择都是嵌入式开发人员必须首先做出的决策之一。不论您是要考虑从专用平台迁移到商用平台,或是要从一种商用平台迁移到另一种商用平台,其目标都是一致的:加快产品投放到市场的时间;可以在所有项目中使用的可靠的可扩展OS内核;支持各种差异并能满足新兴机遇的先进技术;贯穿设备生命周期的可预测性。另外,您还需要尽可能低的降低为使整个开发过程获得支持而向厂商支付的总的支持成本。

对于需要具备丰富应用程序的智能的互联32位设备,Microsoft® Windows® XP Embedded提供了6种在嵌入式领域中比Linux优越的特点:

  • 集成性:一个包罗万象的工具集,提供了更快的OS和应用程序开发时间
  • 完善性:一个性能和可靠性都得到了实践检验的OS基础
  • 无可比拟性:一个用于构建新一代设备的技术组合
  • 互操作性:与Microsoft® .NET®的广泛互操作性使得应用程序及服务可以跨越设备、PC、服务器和Web运行
  • 经过实践检验:一个能够更好地与您的业务相结合的长期商业模型
  • 全球性:一个全球范围的系统,能够支持和加速所有的产品开发。

集成性

下面是Windows XP Embedded和嵌入式Linux解决方案之间的比较。通过比较,您将发现Windows XP Embedded能够更好满足您的业务和技术要求。

Windows XP Embedded嵌入式 Linux
一个集成的、无所不包的端到端工具集提供了更快的OS和应用程序开发时间。Linux缺少一个集成的工具集,因此延缓了OS和应用程序的开发时间。
Windows XP Embedded建立在Windows XP Professional的基础上,使用相同的应用程序编程模型,该模型为全球六百多万Windows开发人员所熟悉,因此确保了可用的开发人员的数量。
  • 原始设备制造商们(OEM)能够将Windows XP驱动程序开发工具包(DDK)和Windows平台SDK应用在快速的设备驱动程序和代码开发过程中。
  • Visual Studio® .NET v7.0使得开发人员能开发一个同时满足桌面设备和Windows XP Embedded设备要求的应用程序。
嵌入式Linux提供了一个标准内核,但没有提供标准的设备级应用程序编程接口(API)。其它的重要OS组件存在多种实现方式,因此开发人员必须针对每个设备使用不同的编程环境和工具,因此降低了效率,限制了代码的重复使用,并增加了应用程序的开发时间。
  • 例如,至少有5种不同的视窗管理器和4种相互竞争的浏览器,这增加了编程的复杂程度,减少了可以利用的开发人员。
Windows Embedded Studio包括目标设计器、目标分析器和组件设计器,它使得开发人员能够在多种设备中使用现有的代码和以前的知识。
  • 组件设计器使得OEM能够构建和添加自定义的组件,并能将它们结合到OS中。
  • 目标设计器能够自动的导入数据、组合代码文件、选择驱动程序、检查相关性,以及配置自定义的OS。
在Linux中没有一个通用的集成开发环境(IDE)。OS的开发是由命令行驱动的,而应用程序的开发对于每个设备都需要一组新的工具。开发人员必须拼凑各种开放式资源工具来构建自己的工具链,或者选择特定厂商昂贵的工具集。
  • 9千多种经过测试和获得认证的驱动程序
  • 支持USB、IEEE 1394、高级图像端口(AGP)、即插即用(PnP)和DVD(UDF 2.01)
每个嵌入式Linux的经销商只保证其经销的产品支持有限的几种CPU和驱动程序。
  • Red Hat's v7.1只支持四种USB和zero 1394设备驱动程序。
  • 在Linux列出的300多种可用的网络卡和驱动程序中,Red Hat's v7.1硬件兼容性列表(HCL)目前只显示支持两种“Red Hat Ready”(完全支持Red Hat)驱动器和27种“兼容的”驱动程序。
    • 此外,并没有列出针对x86处理器以外的任何嵌入式CPU的驱动程序,也没有特定于嵌入式系统的HCL。
预配置和可扩展的设计器模板可以加快OS的开发。
  • 这种例子包括机顶盒、Windows瘦客户端、信息站和住宅/家庭网关,还有很多其它例子。
有预配置的解决方案,但这些解决方案存在局限性,或只针对特定的产品,而且商业性的Linux厂商还要收取额外的费用。
  • Lineo的SDK只支持四种预配置——两种用于x86,两种用于PowerPC。
  • Lineo的Embedix BDK有一些预配置,但是它们需要额外的595到1495美元,而且是针对特定的CPU和主板的。

完善性

Windows XP Embedded嵌入式 Linux
一个性能和可靠性都得到了实践检验的OS基础Linux并不是为了满足嵌入式市场的需求而设计的
Windows XP Embedded是最可靠的Windows版本。
  • Windows XP提供与Windows 2000 Professional相当甚至更好的正常运行时间,它所提供的正常运行时间是Windows NT® 4.0的3倍。
  • 为了获得更高级的可靠性,Windows XP Embedded提供了许多特性,例如抢先多任务体系结构、完全保护的内存模式、针对关键内核结构的增强代码保护、Windows文件保护、驱动程序签名、系统恢复和NTFS文件系统。
没有任何书面的第三方可靠性测试证据能够证明嵌入式Linux的可靠性。 任何有关可靠性的申明都是针对某个特定产品的,而且很大程度上只是一些流传。而且,嵌入式Linux没有提供与Windows XP Embedded的驱动程序签名功能以及证书相类似的功能,这些商业产品在驱动程序证书方面是无法与Windows XP Embedded相提并论的。
  • 例如,目前在Red Hat的硬件兼容性列表上只有几百种经认证的驱动程序,而且它们中的大多数都是完善的系统,而不是硬件组件或外围设备。
面向快速响应设备和设备应用程序的高性能平台。
  • 根据多种工业标准基准测试(Winstone 和Webmark)的平均值来看,Windows XP的系统性能比Windows® Me®快54%,与Windows 2000 Professional的系统性能相当。
  • Windows XP在系统启动方面比Windows 2000 Professional快34%,在从待机转换到重新使用的方面比Windows 2000 Professional快21%(使用700 MHz CPU或者更高配置的机器)。
  • Windows XP中应用程序的启动比Windows Me快21%,与Windows 2000 Professional的速度相当(在第一次使用之后)。
注意:Windows XP Embedded并不是直接进行测试的。内部的Microsoft测试显示Windows XP Embedded的可靠性与性能特征与Windows XP Professional相似甚至比它更好。
利用10,000多个OS特性,Windows XP Embedded提供了灵活性和可配置性,从而满足了多数主要设备类型的内存占用要求。
  • Windows XP Embedded支持的最小的可启动映像为4.8MB。
Lineo为具有嵌入式Linux内核的Real Time Linux指定了2MB ROM / 4 MB RAM的最小内存占用(两者都需要)。Red Hat也开发了最新的嵌入式Linux版本,它推荐的最低的系统需求是8MB RAM和4MB Flash。根据配置,Red Hat Linux内核本身就需要使用近1.5-2MB的ROM。

无可比拟性

Windows XP Embedded嵌入式 Linux
一个用于构建新一代设备的无可比拟的技术组合Linux是一个追随者,而不是创新者
Windows XP Embedded提供了特性丰富的多媒体体验。
  • 完全支持DirectX® 8,从而提供了高级的图形绘制和性能。
  • Direct3D®——对交互式3-D图形应用程序的高级支持。
  • Windows Media? 8,用于行业领先的编码解码器和数字版权管理(DRM)。
  • 支持高级图形功能,包括ClearType®字体和多屏幕放映。
  • 支持DVD视频。
为了获得Windows XP Embedded中的功能、质量、性能、编码解码器支持和DRM,OEM需要为一系列的第三方组件获得许可证,包括编码解码器、DRM和呈现器(播放器),这样通常会带来日益增加的许可证费用。
  • 每个MP3的基本解码器大约需要0.50美元。如果OEM需要MP3 Pro的增强功能,还需要为每个解码器的版税额外支付2.50美元。MP3 Pro编码和解码器则还需要附加的7.50美元。
Windows XP Embedded中的Internet Explorer 6.0提供了行业领先的Internet浏览体验,其中拥有很多新的特性,例如自动图像调整、打印预览以及保密性和安全性的增强。Internet Explorer 6.0还支持Passport、MSXML 3.0、SSL、HTML 4.0、 CSS Level 1、DOM Level 1、DHTML和 增强的SMIL 2.0。
  • Linux并没有提供一个相当于Internet Explorer 6.0中各种特性的Internet浏览器。Opera和Netscape这样的第三方浏览器的功能还不够丰富,而且需要OEM另外支付版税。如果需要支持Java,OEM还需要获得Java虚拟机(JVM)的许可并支付版税。
  • 为获得许可使用Opera for Linux,OEM需要为每件产品支付8美元。另外,Opera for Linux仍然不支持电子邮件、即时通知和新闻。
Windows XP Embedded提供了行业领先的连通性和通信能力,它支持RDP v5.1、零配置的802.11b (包括了802.1x 安全性支持)、增强的TCP/IP、RAS、 DHCP、CIFS重定向器、Winsock 2.0、网络桥接以及UPnP等等。嵌入式Linux中的网络支持没有Windows中那样全面和功能丰富。
  • Linux并没有提供可比拟的802.11b零配置。而且,Red Hat的HCL中也没有任何能够支持无线802.11b的驱动程序——只有没有技术支持的开放源代码驱动程序。
  • Linux没有向瘦客户端提供RDP支持以及802.1x无线安全协议。
可扩展的和内置的语言支持有利于更快捷的把设备投放到多个的市场。例如,Windows XP Embedded提供了多语言用户界面(MUI),可以实现快速有效的国际化,而不用重新构建这个OS。由于OS的本地化和应用程序的开发,Linux中的多语言可用性受到了很大的限制。将OS本地化意味着要用所希望的语言来重新构建这个操作系统。
Windows XP Embedded提供了支持Kerberos、IP 安全性(IPSec)和Web Server安全套接字协议层(SSL)的企业级安全性。它还提供加密API,从而实现了受保护的数据存储、802.1x安全性协议和智能卡支持。
  • 另外,Microsoft在专用资源和针对安全性的严格测试方面投入了大量的资金,能够快速发现和解决安全性问题。
为了发现和解决安全性漏洞,Linux在很大程度上要依赖于开放源代码团体和源代码访问,它认为开放源代码团体的“很多眼睛”可以等同于一个更加安全的OS。
  • 即使像Red Hat这样的厂商也不能担保他们OS的可靠性和安全性。Red Hat安全性和交换委员会(SEC)的文件声明,由于存在许多Red Hat无法控制的独立软件编程人员在开发开放源代码程序,因此Red Hat无法有效测试他们的软件。
Windows XP Embedded支持高级电源管理(APM)以及高级配置和电源接口(ACPI)v2.0。
  • Windows XP Embedded还支持温度控制、热插拔、LCS Dimming、电源方案以及用于单个外围设备的电源策略。
Linux支持APM,但是这种支持要求系统BIOS中必须包含相关代码。另外,Linux只提供了有限的ACPI支持。
  • Linux不支持即插即用,而ACPI必须依赖于这种功能。如果Linux要支持ACPI,就需要对驱动程序模式做出大量修改——这是非常费时的工作。

互操作性

Windows XP Embedded嵌入式Linux
能够与Microsoft® .NET®进行广泛的互操作,从而实现了跨越设备、PC、服务器和Web的应用程序及服务Linux没有面向跨越设备、PC、服务器和Web进行应用程序和服务集成的策略
全面的应用程序间支持实现了无缝的集成。
  • 用于大规模集成设备管理的SMS。
  • 用于基于Web的集成和结构化数据交换的XML/SOAP支持。
  • 可以与基于服务器的应用程序进行集成的Microsoft Message Query (MSMQ)。
  • 完全的DCOM和LDAP支持。
为了进行应用程序间的通讯,Linux提供了CORBA的支持。但它不支持DCOM,这使得与Microsoft后端应用程序的集成变得困难而且费时。而且,设备的管理也在很大程度上依赖于SNMP。任何集中的设备管理都需要求助于第三方,因此增加了额外的成本。
Visual Studio® .NET结合了Microsoft .NET框架,提供了一个可控的编码环境,并为开发人员提供了一种构建可互操作的集成应用程序的强大方法。
  • .NET构架通过Just-in-Time编译,编译出可执行的本机代码,而不是对代码进行解释。它比为跨平台使用而设计的环境提供了更丰富的基本OS功能。
  • .NET框架集成了多种语言,使得开发人员能够为工作选择合适的工具。
Linux将Java作为其分布式应用程序开发环境。但Java只提供了一组跨越不同OS的最普通的命名器服务。
  • Java最初被设计为一种解释型语言,在进行了大量的改变之后,它也只能编译出本机代码。它不能充分利用底层OS的独特功能。
  • Java的设计使得它只能使用一种编程语言——Java开发人员不能选择更好的工具来完成任务,而且不能使用其它语言的知识或代码。

经过实践检验

Windows XP Embedded嵌入式Linux
一个能够与您的业务更好结合的长期商业模型最初,嵌入式Linux可能显得更合算一些,但在整个使用期限内的总成本则要更高一些。
无所不包的IP许可证模型更容易理解。对于预配置这样的其它功能没有额外的费用。任何厂商的Linux解决方案通常伴随着大量额外的知识产权、支持和潜在的每件产品的许可证或版税成本,这些都会大大增加许可证和支持的费用。
  • Lineo对一些IP收费,包括启动装载程序、代码优化程序、反射内存(reflective memory)、调试程序和针对设备的预配置产品。对于这种额外的IP,可能需要支付每件产品1到15美元的版权费用。
较低的开发工具定价使得可以将成本降至最低。
  • Windows Embedded Studio包括目标设计器、目标分析器和组件设计器,每席位的售价为2,995美元,其中包括90天的安装支持和三年免费的热修复支持。
Linux工具定价十分昂贵,它是嵌入式Linux厂商收入的主要来源。
  • 对于Linux主机,Red Hat的GNUPro商业工具集每席位售价9,995美元, 对于非Linux主机,售价为12,995美元。升级和错误修补的支持需要每年支付维护预付款。
  • Lineo以每席位5,495美元的价格出售它的SDK。另外,还要支付除安装支持外的其它多种费用,此外,为享受技术支持,您必须致电Lineo, Caldera 和/或Metrowerks,致电给谁取决于您所遇到的实际问题。没有一个单一的支持资源。
没有与管理GPL中的知识产权相关的任何隐含或未知的法律和开发成本。如果想要保护自己的知识产权,OEM就需要理清与GPL许可有关的潜在法律问题。这就需要额外的开发和法律费用。
  • 其中的一个风险的例子来自于NVIDIA。一个NVIDIA开发人员在为某个产品开发驱动程序时,用了一个可免费使用的视频驱动程序中的一部分。这个开发人员没有意识到该代码经过GPL的授权,因而需要NVIDIA来颁布它整个驱动程序的源代码。由于NVIDIA不想公布其商业软件的源代码,所以这个公司不得不支付大量费用来开发新的不包含GPL代码的驱动程序。
定义清晰、可扩展的支持和维护改善了对设备生命周期的规划。
  • 自全面可用之日起,三年免费的热修复支持,以及至多四年的收费热修复支持
  • Microsoft保证Windows XP Embedded Studio从全面可用之日起具有比N-2版本更长的可用时间或三年的可用时间。
  • Microsoft将保证Windows XP Embedded运行时间超过现有OEM嵌入式设备的使用周期。
产品支持和维护的保证取决于发布产品的厂商。
  • Lineo提供30天的免费安装支持。其它则需要支付费用,而且要根据情况决定是否需要致电 Caldera或Metrowerks。
  • 支持工作是嵌入式Linux的利润中心。对Linux主机,Red Hat对每席位的GNUPro工具集的支持定价为1,999美元;对于非Linux主机,定价至少为2,500美元。另外,OEM还需要购买OS支持——Red Hat的5次意外事件基本支持每年需要949美元。
  • 因为近来出了很多声明(几个月前Lineo解雇了13%的雇员,最近又声明要再解雇或调动另外的170名雇员。Red Hat最近裁减了17%的雇员),所以我们很怀疑商业性嵌入式Linux厂商是否能够提供长期的技术支持。

全球性

Windows XP Embedded嵌入式Linux
一个全球范围的系统,能够支持和加速所有的产品开发开放源代码没有完整的系统
45个国家1000多个合作伙伴的全球网络均可对Windows XP Embedded提供支持,其中包括:
  • 28家芯片厂商和485个系统集成商。
  • 200多个OEM合作伙伴,超过85个IHV和150多个ISV合作伙伴。
  • 60多个嵌入式工具提供商。
  • 21个授权的培训合作伙伴。
  • 全球30多个经销商。
  • 通过MSDN中为嵌入系统开辟的专用区域可以获得大量免费的开发人员支持。同样,通过Windows Embedded新闻、聊天和用户组也可以获得开发人员支持,这些都是由Windows Embedded开发人员和Microsoft的嵌入式专家网络(称为eMVP)提供的。
虽然开放源代码团体可以提供开发方面的帮助,但特定OS实现的测试和支持一直长期由OEM负责。虽然商业Linux厂商能够提供支持,但如果OEM对商业Linux厂商的产品做出修改或添加附加的特性,那么厂商的支持将不会那么有效,或者需要昂贵的费用。
  • Red Hat全球技术支持方针和定义文档声明:Red Hat不支持任何他们没有批准或推荐的对它们Linux产品所做的任何修改。
Microsoft有着400多位开发人员、4个产品团队以及一个全球范围的销售、营销和渠道开发团队,它十分重视Windows Embedded的客户和合作伙伴。Donald Rosenberg的“开放源代码:未经授权的白皮书”中的最新数据表明,这种Linux内核的经销商数量不超过200人,另外的2,200人销售其它的Linux,其中91.4%的销售商只提供部分代码。在嵌入式领域中,销售商数量要更少一些。

除了将Windows XP Embedded和嵌入式Linux的优点比较以外,考虑那些可能对业务产生实质影响的有关嵌入式Linux的错觉和问题也是相当重要的。

Linux并不是免费的

虽然根据开放源代码的要求,可以免费使用Linux内核,但一个嵌入式设备的总成本受到多个因素的影响,包括:

  • 在OS开发中投资的机会成本,形状因素设计和/或增值应用程序和服务。
  • 开发团队(或雇佣的第三方专家)的可用性和经验。
  • 潜在的移植成本。
  • 编写现在没有的特殊硬件驱动程序或驱动程序库的成本。
  • 连续开发或获得缺少的特性或功能所需要的投资,这是快速进入嵌入式市场所要求的。
  • 代码测试、维护和支持的硬件和人员成本。
  • 确保知识产权受到适当保护的费用。

没有考虑或低估这些成本会大大影响设备的硬(BOM)成本以及与投放市场时间收入潜力相关的机会成本。因此,所谓的“无版税”的OS软件许可证只能应用在有限的功能上,而且会被更高的前期成本和日益增加的专用增值软件费用所抵消。另外,不成熟或不完整的工具链、有限的CPU和硬件支持、以及难以找到且昂贵的开发专家都会增加投放市场时间,这将会引起机会成本或收入损失,从而抵销任何的版税节省。最后,很多工具、BSP、附加模型以及咨询和支持费用这样的增值组件也将影响到设备的成本。随着设备变得日益复杂,且越来越要求更丰富的功能,OEM必需考虑和评估这些因素和其它方面在设备总成本中起的作用。

很多OEM发现要获得所需要的功能,他们必需亲自将Linux技术组件拼凑在一起。这样的方法将要求OEM自己支持这个“唯一”的Linux版本,或从帮助构建这个版本的商业Linux销售商那里获得支持。这使得OEM无法实现其移植到一个通用OS的关键目标——使资源不再需要OS支持和维护。而且,与特定Linux销售商的“关系”使得OEM为销售商带来长期的财政生机。源代码访问也使得代码可以被别人使用,但是这并不能解决寻找、请求和支付专家进行代码维护的难题。

OEM许可证

在GPL下管理许可证是如此的令人费解,Lineo觉得必需提供一种用来为映像中每个OS组件详细描述许可证模型

本文标签: 而不 嵌入式 Windows Microsoft XP