航空软件其实并不神秘,从计算机架构上来说,同普通的计算机系统并无太大区别,都是由处理器、总线、I/O设备、存储设备、网络设备、通讯设备、操作系统和应用软件所构成的。仅仅是为了满足很高指标的可靠性、健壮性和实时性,而采用了另一套东西而已。

1、波音-787、AH-64用的操作系统是VxWorks

飞机上一般是什么操作系统?-贾旭博客

VxWorks官网:http://www.windriver.com/products/vxworks/

2、B-2、F-16、F-22、F-35、空客-380使用的操作系统均是Integrity-178B

飞机上一般是什么操作系统?-贾旭博客

Integrity-178B官网:https://www.ghs.com/products/safety_critical/integrity-do-178b.html

类似波音-787、空客-380、空客-350内部设备之间是使用以太网的一种变体来互联的,叫AFDX,在应用软件这一层,同普通的以太网程序没有任何区别。

3、过去这些设备经常使用ADA语言来编写,现在为了降低成本,在F-35项目上已经改为使用C++了

飞机上一般是什么操作系统?-贾旭博客

F-35项目的C++编程规范:http://www.stroustrup.com/JSF-AV-rules.pdf

F-35的微处理器是PowerPC指令集的,为了保证可靠性,采用的编译器也是同普通的编译器不太一样。编译器也是有可能出现bug的,为了保障源代码同编译出来的目标代码完全一致,避免编译器的bug造成问题,在JSF项目内部的软件开发中,经常使用CompCert编译器。这个编译器只能编译C99,但是可靠性极高。

要知道,近几年全球范围内飞机失事发生的次数不少。据不完全统计,每年全球大约有4000万次的飞机起落,而我国的飞机失事率一直处于非常低的水平。此前中国已经连续12年没有发生过重大民航事故了,而上一次坠机事故还是发生在2010年8月24日,河南航空的伊春空难,当时坠毁的机型为ERJ-190。

截至目前,东航坠机已经过去24小时了。总体来说,无论大家讨论什么因素导致的,都不具有肯定性的说法,包括为什么急速骤降,最后垂直坠落,飞机本身有没有问题,是不是操作系统出了故障,有没有遭遇极端天气影响等等,这一切都是属于未知数。

任何空难发生都是悲剧的,事故真实原因还需要等待官方调查结论、依靠黑匣子等来解开谜团。

参考来源:

  1. VxWorks官方网站
    http://www.windriver.com/products/vxworks/
  2. Integrity-178B的官方网站
    https://www.ghs.com/products/safety_critical/integrity-do-178b.html
  3. 《F-35项目的C++编程规范》PDF
    http://www.stroustrup.com/JSF-AV-rules.pdf

素材源于: 程序IT圈
版权归原作者所有。仅供技术的传播和学习讨论,如涉及作品版权问题,请联系我进行删除。