前一段時間,波音737MAX空難失事事件牽動人心,讓人對航空出行又平添了一份不信任,根據最新消息顯示,美國聯邦航空局對737 MAX機型的大量評估授權給波音公司自身進行,安全評估存在嚴重缺陷。也傳出了波音737 MAX客機的培訓都是通過平板電腦軟件進行這樣讓人毛骨悚然的內幕。
最終的結果出來之前我們很好奇,也恰巧在V2EX 看到了有人發問:飛機上用的是什麼操作系統?
- 根據 V友轉自百度知道的答案:
航空軟件並不神祕,從計算機架構上來說,同普通的計算機系統並無太大區別,都是由處理器,總線,I/O設備,存儲設備,網絡設備,通訊設備,操作系統和應用軟件所構成的。僅僅是爲了滿足很高指標的可靠性,健壯性和實時性,而採用了另一套東西而已。
▍1、波音-787,AH-64用的操作系統是VxWorks
圖Via:http://www.windriver.com/products/vxworks/
這是VxWorks的官方網站
▍ 2、B-2, F-16, F-22, F-35, 空客-380 使用的操作系統是Integrity-178B
圖Via:https://www.ghs.com/products/safety_critical/integrity-do-178b.html
這是Integrity-178B的官方網站
類似波音-787,空客-380,空客-350內部設備之間是使用以太網的一種變體來互聯的,叫AFDX,在應用軟件這一層,同普通的以太網程序沒有任何區別。
▍3、過去這些設備經常使用ADA語言來編寫,現在爲了降低成本,在F-35項目上已經改爲使用C++了。
圖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