以下回答转自百度知道 [砚台子弟]
https://zhidao.baidu.com/question/72487982.html航空软件并不神秘,从计算机架构上来说,同普通的计算机系统并无太大区别,都是由处理器,总线,I/O 设备,存储设备,网络设备,通讯设备,操作系统和应用软件所构成的。仅仅是为了满足很高指标的可靠性,健壮性和实时性,而采用了另一套东西而已。
波音-787,AH-64 用的操作系统是 VxWorks
https://www.windriver.com/products/vxworks/ 这是 VxWorks 的官方网站
B-2, F-16, F-22, F-35, 空客-380 使用的操作系统是 Integrity-178B
https://www.ghs.com/products/safety_critical/integrity-do-178b.html 这是 Integrity-178B 的官方网站
类似波音-787,空客-380,空客-350 内部设备之间是使用以太网的一种变体来互联的,叫 AFDX,在应用软件这一层,同普通的以太网程序没有任何区别。
过去这些设备经常使用 ADA 语言来编写,现在为了降低成本,在 F-35 项目上已经改为使用 C++了。
http://www.stroustrup.com/JSF-AV-rules.pdf 这是 F-35 项目的 C++编程规范
F-35 的微处理器是 PowerPC 指令集的,为了保证可靠性,采用的编译器也是同普通的编译器不太一样。编译器也是有可能出 bug 的,为了保障源代码同编译出来的目标代码完全一致,避免编译器的 bug 造成问题,在 JSF 项目内部的软件开发中,经常使用 CompCert 编译器。这个编译器只能编译 C99,但是可靠性极高。