首先,請(qǐng)大家為“3·21”東航MU5735墜機(jī)事故,默哀1分鐘,再接著看本文 !
來正文 。。??破瘴?!
航空軟件其實(shí)并不神秘,從計(jì)算機(jī)架構(gòu)上來說,同普通的計(jì)算機(jī)系統(tǒng)并無太大區(qū)別,都是由處理器、總線、I/O設(shè)備、存儲(chǔ)設(shè)備、網(wǎng)絡(luò)設(shè)備、通訊設(shè)備、操作系統(tǒng)和應(yīng)用軟件所構(gòu)成的。僅僅是為了滿足很高指標(biāo)的可靠性、健壯性和實(shí)時(shí)性,而采用了另一套東西而已。
1、波音-787、AH-64用的操作系統(tǒng)是VxWorks
VxWorks官網(wǎng):http://www.windriver.com/products/vxworks/
2、B-2、F-16、F-22、F-35、空客-380使用的操作系統(tǒng)均是Integrity-178B

Integrity-178B官網(wǎng):https://www.ghs.com/products/safety_critical/integrity-do-178b.html
類似波音-787、空客-380、空客-350內(nèi)部設(shè)備之間是使用以太網(wǎng)的一種變體來互聯(lián)的,叫AFDX,在應(yīng)用軟件這一層,同普通的以太網(wǎng)程序沒有任何區(qū)別。
3、過去這些設(shè)備經(jīng)常使用ADA語言來編寫,現(xiàn)在為了降低成本,在F-35項(xiàng)目上已經(jīng)改為使用C++了

F-35項(xiàng)目的C++編程規(guī)范:http://www.stroustrup.com/JSF-AV-rules.pdf
F-35的微處理器是PowerPC指令集的,為了保證可靠性,采用的編譯器也是同普通的編譯器不太一樣。編譯器也是有可能出現(xiàn)bug的,為了保障源代碼同編譯出來的目標(biāo)代碼完全一致,另外,微信搜索公眾號(hào):互聯(lián)網(wǎng)架構(gòu)師,回復(fù):面試?領(lǐng)取資料 。避免編譯器的bug造成問題,在JSF項(xiàng)目?jī)?nèi)部的軟件開發(fā)中,經(jīng)常使用CompCert編譯器。這個(gè)編譯器只能編譯C99,但是可靠性極高。截至目前,東航墜機(jī)已經(jīng)過去24小時(shí)了??傮w來說,無論大家討論什么因素導(dǎo)致的,都不具有肯定性的說法,包括為什么急速驟降,最后垂直墜落,飛機(jī)本身有沒有問題,是不是操作系統(tǒng)出了故障,有沒有遭遇極端天氣影響等等,這一切都是屬于未知數(shù)。任何空難發(fā)生都是悲劇的,事故真實(shí)原因還需要等待官方調(diào)查結(jié)論、依靠黑匣子等來解開謎團(tuán)。
1. VxWorks官方網(wǎng)站
http://www.windriver.com/products/vxworks/2. Integrity-178B的官方網(wǎng)站
https://www.ghs.com/products/safety_critical/integrity-do-178b.html3. 《F-35項(xiàng)目的C++編程規(guī)范》PDF
http://www.stroustrup.com/JSF-AV-rules.pdf