嵌入软件的开放标准

技术工业的开发标准是指公开的规范,让彼此不同的技术可以交流和互操作。开放标准也允许在专利产品的实现过程采用创新技术,同时避免被厂商所垄断。开放标准中的“标准”必须确保存在清晰定义技术元素的互操作性;开放标准中的“开放”必须确保关键工业厂商在中立机构的帮助下相互协作来定义可操作性的规范。

具体来说,嵌入式行业正在以多个行业参与者、高度专业化的技术、特定应用的嵌入式操作系统和虚拟化技术为显著特征。在过去的几十年时间中,嵌入式工业一直在推动开放标准的发展,这使得嵌入式软件生态环境得以生机勃勃。本文描述在嵌入式软件领域,最相关的几个开放标准。

1.POSIX

操作系统遵循已经建立的开放标准API,使得大量关键中间件和应用运行于其环境。它使得应用程序可以在不同的环境中具有可移植性,使得终端客户在开发应用时具有更大的灵活性,并且可以花费更小的代价,来实现将他们的应用移植到一个新的平台中。

在嵌入式和服务器基础设施领域最著名和得到广泛应用的API标准之一,便是经过实践考验的IEEE POXIX标准。POSIX是可移植操作系统接口(Portable Operating System Interface)的缩写,由电气和电子工程师协会(IEEE)管理的一系列标准,并有开放组织进行维护和推广。POSIX为不同的操作系统的软件兼容性定义了应用程序编程接口(API)。POSIX规范定义了操作系统的特点、数据库管理系统、数据交换、编程接口、网络和用户界面。

POSIX规范使得开发人员在一个目标环境中开发的应用程序,可以被移植到支持POSIX API接口的不同操作系统中(业内的术语称为“源代码兼容”)。

备注:

The Open Group是厂家中立、技术中立的联合会,旨在开放标准和全球互操作性的基础上,实现企业内部和企业之间的无边界的集成信息流,目的是建立消费者和供应商之间的共识。值得一提的是华为公司也是该组织的白金会员(Platinum Member),好像目前国内只有华为公司是这个组织的白金会员,其它的公司我没有看到。

2. Face

FACE联盟是由开放组织(The Open Group)主持并管理,并由嵌入式行业和美国政府合作开发和巩固开放标准、最佳实践、指导文件、以及商业模式。开放组织提供一个厂家中立、技术中立的联合会,FACE技术标准定义了一个通用操作环境框架,来支持应用程序跨多个国防部航空电子系统。FACE标准旨在增强美国军事航空社区中有限软件重用能力、解决问题的能力、加快和提高作战能力、以及更加经济和高效的利用新技术。FACE标准很大程度上基于现有的POSIX API标准,并定义了多个配置文件,比如Security安全性配置文件,Safety安全性配置文件(基本和扩展部分),以及通用配置文件,比如,Lynxos-178实时操作系统完全支持基本安全,安全扩展和安全性配置文件。

参考:

http://www.opengroup.org/face

 

3.  ARINC

ARINC(美国爱瑞克)公司(同时也是一个组织),致力于在商用航空工业创建和推动标准化。ARINC组织内的委员会之一是AEEC(航空公司电子工程委员会),它主要负责创建ARINC标准。在由AEEC创建的多个标准中,ARINC653定义了标准实时操作系统(RTOS)接口,并对时间和空间域的计算机资源进行管理。该标准还定义了APEX应用程序标准接口API,这是一个从潜在的硬件和软件抽象出的API接口。APEX API接口使得运行在商用航空中应用程序能够在支持ARINC653标准的不同操作系统间自由移植。比如lynxos-178、VxWorks653实时操作系统都完全支持ARINC 653标准。

参考:

http://www.aviation-ia.com/index.html

 

4. ECLIPSE

Eclipse开源社区成立于2001年,当时由IBM发布了Eclipse集成开发环境(IDE)作为Java和其他语言的开源开发框架。ECLIPSE IDE框架为开发环境的互操作系统提供了一个优秀的平台,同时为各个系统开发商提供了一个可扩展的机制,这样各种专用的查件可以集成到ECLIPSE IDE开发环境中。从单个项目开始,Eclipse基金会已经扩展到超过100个项目,涵盖从开发工具,建模工具、到网络工具和物联网协议。

5. VIRTIOS

虚拟I/O(VIRTIOS)规范是一个新的规范,用于提供在虚拟环境中使用的虚拟设备,映射到物理设备的定义。它允许运行在虚拟环境中的客户操作系统创建标准的设备驱动程序,解决这些虚拟设备在虚拟环境中实现网络,存储或控制台功能。VIRTIO规范旨在 不同的Hypervisor之间创建一个标准的接口,以使得多个客户操作系统同时运行,并使用这些设备驱动程序来处理设备。VIRTIO为一个虚拟设备建立一个标准化的定义,以使得多个系统可以在虚拟环境中提供无缝的设备互联。VIRTIO规范由OASIS组织创建,VIRTIO 1.0规范目前正在征求意见,预计很快就会批准。

参考:

https://github.com/rustyrussell/virtio-spec

http://ozlabs.org/~rusty/virtio-spec/

http://docs.oasis-open.org/virtio/virtio/v1.0/csprd01/virtio-v1.0-csprd01.html

 

以上是众多开发标准中和嵌入式软件最相关的几个标准,它们使得嵌入式软件在不同的执行环境中具有可移植性。这使得终端客户在开发应用时具有更大的灵活性,并且可以花费更小的代价,来实现将它们的应用移植到一个新的平台中。

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: