来自:http://blog.csdn.net/educast/article/details/8039966
对于任何给定的设备设计方案来说,操作系统(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开发人员所熟悉,因此确保了可用的开发人员的数量。
| 嵌入式Linux提供了一个标准内核,但没有提供标准的设备级应用程序编程接口(API)。其它的重要OS组件存在多种实现方式,因此开发人员必须针对每个设备使用不同的编程环境和工具,因此降低了效率,限制了代码的重复使用,并增加了应用程序的开发时间。
|
Windows Embedded Studio包括目标设计器、目标分析器和组件设计器,它使得开发人员能够在多种设备中使用现有的代码和以前的知识。
| 在Linux中没有一个通用的集成开发环境(IDE)。OS的开发是由命令行驱动的,而应用程序的开发对于每个设备都需要一组新的工具。开发人员必须拼凑各种开放式资源工具来构建自己的工具链,或者选择特定厂商昂贵的工具集。 |
| 每个嵌入式Linux的经销商只保证其经销的产品支持有限的几种CPU和驱动程序。
|
预配置和可扩展的设计器模板可以加快OS的开发。
| 有预配置的解决方案,但这些解决方案存在局限性,或只针对特定的产品,而且商业性的Linux厂商还要收取额外的费用。
|
完善性
Windows XP Embedded | 嵌入式 Linux |
一个性能和可靠性都得到了实践检验的OS基础 | Linux并不是为了满足嵌入式市场的需求而设计的 |
Windows XP Embedded是最可靠的Windows版本。
| 没有任何书面的第三方可靠性测试证据能够证明嵌入式Linux的可靠性。 任何有关可靠性的申明都是针对某个特定产品的,而且很大程度上只是一些流传。而且,嵌入式Linux没有提供与Windows XP Embedded的驱动程序签名功能以及证书相类似的功能,这些商业产品在驱动程序证书方面是无法与Windows XP Embedded相提并论的。
|
面向快速响应设备和设备应用程序的高性能平台。
| 无 |
利用10,000多个OS特性,Windows XP Embedded提供了灵活性和可配置性,从而满足了多数主要设备类型的内存占用要求。
| 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提供了特性丰富的多媒体体验。
| 为了获得Windows XP Embedded中的功能、质量、性能、编码解码器支持和DRM,OEM需要为一系列的第三方组件获得许可证,包括编码解码器、DRM和呈现器(播放器),这样通常会带来日益增加的许可证费用。
|
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。 |
|
Windows XP Embedded提供了行业领先的连通性和通信能力,它支持RDP v5.1、零配置的802.11b (包括了802.1x 安全性支持)、增强的TCP/IP、RAS、 DHCP、CIFS重定向器、Winsock 2.0、网络桥接以及UPnP等等。 | 嵌入式Linux中的网络支持没有Windows中那样全面和功能丰富。
|
可扩展的和内置的语言支持有利于更快捷的把设备投放到多个的市场。例如,Windows XP Embedded提供了多语言用户界面(MUI),可以实现快速有效的国际化,而不用重新构建这个OS。 | 由于OS的本地化和应用程序的开发,Linux中的多语言可用性受到了很大的限制。将OS本地化意味着要用所希望的语言来重新构建这个操作系统。 |
Windows XP Embedded提供了支持Kerberos、IP 安全性(IPSec)和Web Server安全套接字协议层(SSL)的企业级安全性。它还提供加密API,从而实现了受保护的数据存储、802.1x安全性协议和智能卡支持。
| 为了发现和解决安全性漏洞,Linux在很大程度上要依赖于开放源代码团体和源代码访问,它认为开放源代码团体的“很多眼睛”可以等同于一个更加安全的OS。
|
Windows XP Embedded支持高级电源管理(APM)以及高级配置和电源接口(ACPI)v2.0。
| Linux支持APM,但是这种支持要求系统BIOS中必须包含相关代码。另外,Linux只提供了有限的ACPI支持。
|
互操作性
Windows XP Embedded | 嵌入式Linux |
能够与Microsoft® .NET®进行广泛的互操作,从而实现了跨越设备、PC、服务器和Web的应用程序及服务 | Linux没有面向跨越设备、PC、服务器和Web进行应用程序和服务集成的策略 |
全面的应用程序间支持实现了无缝的集成。
| 为了进行应用程序间的通讯,Linux提供了CORBA的支持。但它不支持DCOM,这使得与Microsoft后端应用程序的集成变得困难而且费时。而且,设备的管理也在很大程度上依赖于SNMP。任何集中的设备管理都需要求助于第三方,因此增加了额外的成本。 |
Visual Studio® .NET结合了Microsoft .NET框架,提供了一个可控的编码环境,并为开发人员提供了一种构建可互操作的集成应用程序的强大方法。
| Linux将Java作为其分布式应用程序开发环境。但Java只提供了一组跨越不同OS的最普通的命名器服务。
|
经过实践检验
Windows XP Embedded | 嵌入式Linux |
一个能够与您的业务更好结合的长期商业模型 | 最初,嵌入式Linux可能显得更合算一些,但在整个使用期限内的总成本则要更高一些。 |
无所不包的IP许可证模型更容易理解。对于预配置这样的其它功能没有额外的费用。 | 任何厂商的Linux解决方案通常伴随着大量额外的知识产权、支持和潜在的每件产品的许可证或版税成本,这些都会大大增加许可证和支持的费用。
|
较低的开发工具定价使得可以将成本降至最低。
| Linux工具定价十分昂贵,它是嵌入式Linux厂商收入的主要来源。
|
没有与管理GPL中的知识产权相关的任何隐含或未知的法律和开发成本。 | 如果想要保护自己的知识产权,OEM就需要理清与GPL许可有关的潜在法律问题。这就需要额外的开发和法律费用。
|
定义清晰、可扩展的支持和维护改善了对设备生命周期的规划。
| 产品支持和维护的保证取决于发布产品的厂商。
|
全球性
Windows XP Embedded | 嵌入式Linux |
一个全球范围的系统,能够支持和加速所有的产品开发 | 开放源代码没有完整的系统 |
45个国家1000多个合作伙伴的全球网络均可对Windows XP Embedded提供支持,其中包括:
| 虽然开放源代码团体可以提供开发方面的帮助,但特定OS实现的测试和支持一直长期由OEM负责。虽然商业Linux厂商能够提供支持,但如果OEM对商业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组件详细描述许可证模型