设计工程师团队在对他们下一个项目选择最佳的实时操作系统(RTOS)时,如果他们依照传统的选择过程,他们将给出一个长长的表,列出他们认为需要的特性,研究RTOS提供商的网站,并罗列出哪些销售商提供哪些RTOS。然后,他们再与销售商交流以获得他们所关心的问题的答案。然而,这种方法的问题是顶级的RTOS销售商会说他们能提供你所需要的任何特性,而且绝大多数情况下确实也是如此。
实际的差别是多大程度地支持指定的特性,以及如何支持。为确定这一点,你必须在技术上深入了解每种RTOS的各个方面。从如何节省时间、成本,以及从长远甚至他们公司的角度来看,了解每种高级产品属性比钻研那些技术细节更重要。
评估的重要性
一个公司为了正确选择而研究RTOS可能有下面四个基本原因:
1. 新的项目需要使用指定的RTOS,但是公司从来没有使用过这样的RTOS;
2. 不再支持当前使用的RTOS;
3. 由于价格、性能和开发范例等原因,对当前使用的RTOS销售商不满意;
4. 当前的RTOS缺乏新项目需要的高级特性。
如果是因为前面两种情形中的一种,那么你可以客观地比较每个RTOS的优点和成本。但是,如果是因为后面两个原因之一,那么你需要考虑当前在技术上的投入,这将是比较痛苦的决定。无论是技术和销售商的因素,很容易理解的是,很多公司都不乐意更换他们当前的RTOS,除非有很明显的直接或长期投资回报。不管你为什么必须选择一个RTOS,在做出选择时应该考虑的是使当前项目低成本地快速成功,同时确保长期的生产效率和利润。越来越多的RTOS选择是基于长远的利益和成本节省考虑。
基本的RTOS属性
如果你希望节省时间、金钱以及避免重复出现相同的问题,选择一个能提供以下属性的RTOS很关键:承诺开放标准、支持使用开源应用程序代码、支持大的开发团队以及多个开发环境。
对于一个实时操作系统来说,与POSIX标准的一致提供了很多必要属性。对联网、基础设施以及工具等开放标准的支持开始于完全支持POSIX API。POSIX是真正可移植API,它用在很多的通用操作系统以及实时操作系统中。该标准使得应用程序开发工程师能对一种可移植标准进行编程,这种标准可以用在未来很多的项目中。
POSIX不仅仅定义API,还通过POSIX进程模型(process model)来定义操作环境。使用这种标准能进一步使你可以使用所有的针对Linux开发的开放源代码或者Berkeley软件分布(BSD阵营抨击Linux" target=_blank>Berkeley Software Distribution, BSD)。随着市场机会窗口越来越紧,RTOS的一个主要目的是要使开发和调试的时间最短。在这些领域中,POSIX进程模型作为一种基本的架构设计实现了非常重要的差异。该模型提供了使大型开发团队能一起开发产品必要的进程和内核保护,这种保护通过消除进程利用其他进程的挑战,以及因为较差的编程设计导致的系统崩溃风险,简化了系统集成的问题。
本文小结
Linux因为很多原因而受欢迎,其中很重要的一点是因为它具有大量的开放源代码资源。利用这些开放源代码,如果你使用能运行Linux二进制代码的Linux或RTOS,能提供巨大的成本和上市时间优势。相反地,如果你用这种代码,并将其移植到某些专用的OS/RTOS,那么你将一无所获。
要量化基于开放标准的解决方案的长期成本节省很容易。基于POSIX的操作系统可以实现长期的可移植性;可以利用其它的开放解决方案,例如Linux和BSD。随着消费产品的发展以及新的特性需要出现,重新使用已有的代码的价值可以通过成本节省、易于移植以及缩短上市时间的好处来量化。在竞争日益激烈的经济市场上,公司需要在尽可能长的时间内最大化他们的软件投入,以及选择一种具有最大的长期利益的基于标准的解决方案。
作者:Sonia Leal
sleal@
LynuxWorks公司