戰鬥機源代碼是什麼東西?

用戶51387177394


說下F-35的OS吧,要不然很多人還有很多的疑問。

F-35的核心操作系統是Green Hills Software公司的產品,叫做INTEGRITY。這個操作系統被用在B-2、F-16、F-22、F-35上面。是一個實時嵌入式操作系統,算是F-35的軟件核心部分了。

但是操作系統,顧名思義的就是一個底層的OS,起到應用級別的程序到硬件固件之間的橋樑作用。

就類似於,家裡的電腦雖然安裝了Windows系統,也帶有聲卡,但如果想讓喇叭發出聲音的話,那麼一定還得有音頻的應用程序,類似於錄音機、千千靜聽、酷狗、網易雲音樂什麼的。也只有安裝了特定應用程序後INTEGRITY才能起到自己的作用控制飛機的飛行。

INTEGRITY呢本身就是一個開放式系統,不僅僅在戰鬥機上應用,一些類似於空客的民用飛機也會使用這些系統。

這裡呢就會看到一些類似於下面的部件:

戰機上很常見的多功能顯示屏拆下來就是這個樣子的。

在這個顯示屏(MFD)後面的接口大致是這樣的(當然也有其他形式)

這很像我們的顯示器的接口類型了,只不過這種接口是雙向通訊的,接口引出的信號線被接入系統總線。

這樣就會完成了一個INTEGRITY到硬件的物理連接,同樣我們從系統圖上可以看出,INTEGRITY支持了三種語言ADA、C、C++,這三種語言最重要的是ADA,這是一個實時操作系統的語言,用來連通設備並做出相應響應的。例如下面的十四行程序:

是將雷達告警信號和機上的一個閃燈進行連接的。由於是在Runtime下工作,因此只要雷達告警器接收到雷達信號,那麼機上的閃燈就開始不停的閃爍。

同樣下面的23行程序:

是戰鬥機數據鏈的程序,當戰鬥機從序列端口取得數據鏈信息後,就會直接投射到多功能顯示器上。


這樣我們能看到ADA程序其實特別簡單了吧。就是這樣的程序被戰鬥機廣泛應用。當然了咱們剛剛說的都是一小點的功能,一架戰機的功能高達上萬項,因此往往一架戰機的源碼也得寫個幾百萬行。


但整體上都大同小異如果有興趣的話,可以安裝一個INTEGRITY模擬程序在家裡的計算機給戰鬥機編個程什麼的,都未嘗不可。


所以說啊,戰鬥機源代碼,也並不是什麼神秘的東西。只不過,你想真正的給一個聲卡編程那麼你至少得有一個聲卡,同理,你想給一個戰鬥機編程,除了時間之外還真得有一架戰鬥機。


軍武數據庫


說起來忒簡單,戰鬥機電腦的核心操作系統嘛,使用的編程語言,即源代碼,這臺電腦能幹什麼,不能幹什麼,都由其控制,比如加裝新型導彈,即要更改發射程序設計,不然的話,戰機電腦就會告訴你不受支持。沒有加裝計算機的戰鬥機,走進座艙,令人眼花繚亂,各種密密碼的按鈕和開關,真是讓人頭大,現在走進去,一塊玻璃屏,非常爽心悅目,好了還想好,全部顯示在戰鬥頭盔上,隨飛行員的眼睛,可以實現各種操作,甚至語音控制都可以,說聲發射,導彈就飛出去,可以說最大程度地減少了飛行員的疲勞,也最大程度地把握住戰鬥和生存機會,好是好,所謂有一利必有一弊,不得不面臨升級極其複雜的技術問題,硬件損壞顯示數據不準,給戰機操縱帶來極大危險,充滿了不確定性。也可以說,源代碼也是致命性的。

▲致命源代碼。2018年,一架F-35B失事,原因就在於,顯示錯誤,而顯示錯誤,是由於大氣傳感器在空中結冰造成的,結了冰,顯示屏中沒顯示,加之起飛迎角過大,可不就出了事唄。這麼棒的戰鬥機,出現這樣低劣的錯誤,為什麼?不是戰機源代碼設計不成,而是太多太複雜,800多萬程序,更改哪項都費勁。戰機傳感器太多,飛機設計得太複雜,什麼都想要,整合到一起,引起了極大的麻煩。F-35C起落架設計有點問題,有人說,改過來就是,其實並不簡單,交付二年來,仍然不能改正,改一項而動全身,這就是戰機的源代碼。再比如F-35高空缺氧的問題,F-22到現在也存在是一問題,洛馬公司搞不清究竟是戰機計算機源程序不對,還是生命保障系統不對,拆下來測試好好的,生生裝上去就有問題。所謂動一動,要你的命,源代碼問題著實複雜。

▲開放的“梟龍”。2015年,巴基斯坦空軍一中將,對媒體說,已經獲得了“梟龍”全部源代碼,這就意味著,想怎麼用就怎麼用,想加裝什麼系統都可以,多配備一點外部武器,哪裡想整合一個傳感器,都可以自己搞了,不必再飛到中國成都來完成,開放源代碼,充分顯示了中巴軍事合作的高水平,巴方高興,中國也高興,兄弟嘛,對不對?開放的“梟龍”,自當有開放的心胸。多少配件做到了即插即拔,中西兼容,巴方說,人機界面非常友好,幾可隨心所欲,支持各種西方硬件、軟件,這使得我們自家兄弟非常happy。與此相反,我們來看印度的例子,俄印合作“布拉莫斯”,被印度倚為神器與寶器,一天到晚嚷嚷著說要賣,賣給越南賣給誰誰,賣就賣吧,不必這麼大聲音的,問題被視為利器,自不一般,俄羅斯輕咳一聲後,印度就不吱聲了,問題正出在導彈的源代碼不在印度之手,嘿嘿,什麼武器都有源代碼,從而使得武器外銷變得非常複雜。

▲卡脖子的源代碼。現在所有武器系統,只有事涉電子設備,即可成為卡脖子裝備,印度一款導彈,即為卡得這般嗷嗷叫,有了這東西,俄羅斯即把技術核心掌握在手裡,印度外銷多少,俄羅斯即可得到多少合作專利。當然也看合作水平,美國視以色列為己出,一切裝備源代碼即可對其開放,比如正在進行的美以F-35交易,以色列自己想改則改,維護和加裝設備,就變得非常順手。之對他國則不可能這樣便利,包括日本,雖說也架設了一條生產線,但飛機出點事即不得不請來美國專家,現場指導,不知叫不叫日本技師在不在現場,看來是費勁,源代碼成為不傳之密。挪威和英國,興沖沖賣回去一些,都存在著不同程度的技術問題,也只能坐等美國老師上門服務。一切都是加密的,自己破譯,根本就是一項完成不了的任務。


魂舞大漠


你所說的源代碼應該是操作系統吧,或者是各種戰鬥機的機載控制程序。戰鬥機作為現代科技的結晶,是一臺十分複雜的機器,為了完成各種任務,戰鬥機上都安裝數臺了不同功能的計算機。

老式戰鬥機是沒有計算機的,操縱控制完全由人來手動完成,飛行員直接控制油門和舵面,手上還有機炮的扳機。隨著戰鬥機越來越複雜,功能越來越多,機載設備也也越來越多,一個飛行員已經顧不過來了,所以要將大部分任務都交給計算機去完成,飛行員就發號施令就行了。




戰鬥機的機載計算機分為好多種,比如飛控計算機、火控計算機、大氣計算機、飛行管理計算機。每一種計算機都要按照一定的規律完成專門的任務,並且根據飛行的實時情況完成飛行員的指令,這都需要編制相應的程序。

源代碼就是一個翻譯,負責把飛行員的指令翻譯成計算機能懂的格式,然後讓計算機去操縱戰鬥機的各種設備,並且把飛行員想要的信息顯示出來。


F35的顯示組件和操作界面



編制戰鬥機所有需要的代碼可不是一件容易的事情,各種系統互相關聯,要考慮的情況非常複雜,洛克希德F35的代碼量超過800萬行

這些源代碼也是由計算機語言編寫的,F35源代碼中53%是C語言編寫,35%是c++語言編寫,另外有7%是彙編語言。

戰鬥機計算機的操作系統一般是用vxworks操作系統,這個操作系統也廣泛應用在的衛星和各類航天器,反應迅速,實時性能強,工作穩定,可以嵌入到各類系統中。

戰鬥機源代碼要求高可靠性和高效率,基本沒有一句廢話,至於windows和安卓系統,還是算了吧,看個小電影還可以,用來控制戰鬥機,實在是太不靠譜了。


一坑四彈


源代碼是程序員用某種計算機語言編寫的初始代碼,程序員能看懂並可以修改的。通過反覆修改並最終定型,這是最機密的代碼稱為源代碼。源代碼經過計算機編譯後成為應用程序。編譯後的程序是機器語言,看上去是一堆亂碼,看不懂也不能修改,能在機器上運行的是應用程序,源代碼是程序員的心血。輕易是不予他人的,源代碼編譯完成後程序員做備份後被刪除掉,你得到的只是編譯後的程序。


用戶1548668127893


老值錢💰的東西,先科普一下。只要是軟件都有源代碼,源代碼就是指編寫的最原始程序的代碼。運行的軟件是要經過編寫的,程序員編寫程序的過程中需要他們的“語言”。音樂家用五線譜和音符,建築師用圖紙和筆,那程序員的工作的語言就是“源碼”了。

人們平時使用軟件時就是程序把“源碼”翻譯成我們可直觀的形式表現出來供我們使用的。

比如一個word文件用記事本強行打開就是亂碼。就是因為源代碼不對。

戰鬥機上也有計算機,有計算機就有軟件和系統。有軟件和系統就需要源代碼。


怡鑫五金mg


電控系統……


橙子_子橙


就是火控計算機的程序代碼,現代戰機掛載的都是精確制導武器,這些武器上也都有計算機芯片和程序,與戰機之間通過數據總線也有數據交換,因此都有程序代碼,而編寫這些的程序代碼就是源代碼。


分享到:


相關文章: