《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 CU技术社区 「CU技术社区」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

img

前一段时间,波音737MAX空难失事事件牵动人心,让人对航空出行又平添了一份不信任,根据最新消息显示,美国联邦航空局对737 MAX机型的大量评估授权给波音公司自身进行,安全评估存在严重缺陷。也传出了波音737 MAX客机的培训都是通过平板电脑软件进行这样让人毛骨悚然的内幕。

最终的结果出来之前我们很好奇,也恰巧在V2EX 看到了有人发问:飞机上用的是什么操作系统?

根据 V友转自百度知道的答案:

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

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

img图Via:http://www.windriver.com/products/vxworks/

这是VxWorks的官方网站

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

img

图Via:https://www.ghs.com/products/safety_critical/integrity-do-178b.html

这是Integrity-178B的官方网站

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

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

img

图Via:http://www.stroustrup.com/JSF-AV-rules.pdf

这是F-35项目的C++编程规范

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

参考网站

[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

文章目录
  1. 1. 1、波音-787,AH-64用的操作系统是VxWorks
  2. 2. 2、B-2, F-16, F-22, F-35, 空客-380 使用的操作系统是Integrity-178B
  3. 3. 3、过去这些设备经常使用ADA语言来编写,现在为了降低成本,在F-35项目上已经改为使用C++了。
  4. 4. 参考网站