SpaceOS:我國航天器上的操作系統(tǒng)
說起微軟的Windows,蘋果的Mac OS以及谷歌的Android,相信大家都不會陌生,它們都是操作系統(tǒng),即對計算機的各種資源進行管理的軟件,是計算機能夠運行的靈魂,美國的一些航天器上用的就是VxWorks操作系統(tǒng)。但是,如果問起我國航天器上的計算機用的是什么操作系統(tǒng),也許很少有人知道。
事實上,中國航天科技集團公司五院從2001年就開始研發(fā)星載計算機特有的操作系統(tǒng)——SpaceOS,并在2006年首飛成功。此次的嫦娥三號探月任務控制計算機使用的是經(jīng)過升級和改進后的第二代星載計算機操作系統(tǒng)SpaceOS2。該系統(tǒng)首次亮相應用,就吸引了眾多關(guān)注的目光。下面就來看看中國航天報為我們帶來的報道。
中國航天要有自己的操作系統(tǒng)
盡管與普通家用的操作系統(tǒng)設(shè)計原理相似,但“上天”的操作系統(tǒng)為了適應惡劣太空環(huán)境,對安全性、可靠性等要求要苛刻許多。
地面使用的計算機死機了可以重啟,壞了還可以換新的,但飛行器上的計算機開機了通常就不會再關(guān)閉或重啟。在軌運行時間較長的衛(wèi)星壽命可達十幾年,這也就意味著計算機程序要同步運行十幾年不出現(xiàn)問題。
更重要的是,對于航天這樣的事關(guān)國家安全的關(guān)鍵領(lǐng)域,“拿來主義”是很危險的。而要研發(fā)自己的操作系統(tǒng),相關(guān)核心技術(shù)國外嚴密封鎖,想要借用也沒有可能。
在星載計算機操作系統(tǒng)投入使用以前,中國的衛(wèi)星通常都采用程序控制的方式來完成指令。這種“傻瓜”式的運行模式非常簡單,但也非常機械,它要求技術(shù)人員在地面設(shè)計好衛(wèi)星要進行的每一個動作,嚴格按照時序編寫程序。形象地說,就是如果設(shè)定衛(wèi)星的任務為“吃飯—喝水—睡覺”,衛(wèi)星上天之后只能按照這個順序重復動作,想要先喝水后吃飯是做不到的。
由于衛(wèi)星的運行軌道相對封閉和確定,程序控制雖然機械繁瑣,也能夠滿足任務要求。但隨著我國在軌任務越來越復雜,對計算機軟件管理提出了越來越高的要求。
研發(fā)中國自己的星載計算機操作系統(tǒng)勢在必行。沒有借鑒,就從零開始慢慢摸索。獨立自主創(chuàng)新,成為了擺在研發(fā)團隊面前唯一道路。
兩代SpaceOS的華麗蛻變
2006年,SpaceOS1成功在軌運行。那時的操作系統(tǒng)功能簡單,只做到了多種資源的管理和任務調(diào)度,卻沒有任務間的通信和動態(tài)內(nèi)存管理等更為復雜的功能。
3年以后,嫦娥三號立項,巡視器要實現(xiàn)月面行走。相比衛(wèi)星軌道,月球是一個開放的空間,環(huán)境惡劣、不確定因素多、控制復雜。這種任務對航天器智能性和自主性的要求很高,而這恰恰是操作系統(tǒng)的絕佳用武之地。
此時功能簡單的SpaceOS1已無法滿足任務要求,科研人員開始著手進行第二代產(chǎn)品的攻關(guān)。經(jīng)過2年研發(fā),SpaceOS2正式推出,在很多方面都實現(xiàn)了質(zhì)的飛躍,并成功應用到了嫦娥三號巡視器的中心控制計算機上。
在任務調(diào)度和內(nèi)存管理方面,SpaceOS2可以同時管理幾十個任務,與原來5個任務相比,提高了一個量級,同時可以做到快速、有序存儲。月球車在月面行走時,要一邊不停地拍攝月面環(huán)境,一邊快速保存和處理這些信息。如果此時突然遇到一個坑,操作系統(tǒng)必須在最短的時間內(nèi)作出判斷并反應,否則就有可能掉進坑里。目前,研究人員設(shè)計的內(nèi)存管理方法和調(diào)度方法,從功能、效率上來講,已經(jīng)可以和國際上最先進的類似產(chǎn)品相媲美。
而如果說到最具有我國特色和競爭力的技術(shù),就不得不提到三機容錯。一般衛(wèi)星上會有兩臺計算機冷備份,一臺工作時另一臺不工作,如果工作的計算機出現(xiàn)了故障或問題,就立刻切換到另一臺。但切換的過程中,不可避免的會有一些因計算機啟動等帶來的秒級的時間差。為了實現(xiàn)真正的無縫切換,嫦娥三號上第一次實現(xiàn)了三機熱備份,即三個計算機同時工作,處理同樣的任務,有可能其中一臺計算機給出的計算結(jié)果是錯的,那么三機容錯就要發(fā)現(xiàn)哪臺計算機有錯,并最終給出正確的結(jié)果。
從雙機冷備份到三機熱備份,看上去似乎只增加了一臺計算機,但帶來的難度和工作量卻是呈指數(shù)級增長的。研發(fā)人員坦言,那種壓力來自于知道應該實現(xiàn)什么目標,但對怎么實現(xiàn)毫無頭緒。那時做夢都在思考這些問題,有些難關(guān)甚至是在夢里攻克的。
目前,這個只有十幾個人組成的年輕團隊正在進行SpaceOS3的研發(fā)工作,第三代產(chǎn)品的技術(shù)將更加先進和前沿。
例如研制高性能多核計算機,讓運算速度和處理能力大幅度提升;還有目前操作系統(tǒng)領(lǐng)域最前沿的技術(shù)——形式化驗證,即從建模和證明的角度來驗證設(shè)計領(lǐng)域軟硬件的正確性,如果這一技術(shù)得以突破,將改變航天目前通過大量測試來驗證設(shè)計正確性的方法,從根本上確保設(shè)計的無差錯和高可靠。
SpaceOS操作系統(tǒng)能否發(fā)展民用?
當被問及這個問題時,研發(fā)人員表示,航天操作系統(tǒng)技術(shù)本身是可以轉(zhuǎn)為民用的。但由于航天精品化和個性定制的特點,不夠產(chǎn)品化和通用化,距推廣成熟的民用產(chǎn)品還有一定距離。
目前,SpaceOS操作系統(tǒng)正在考慮航天系統(tǒng)內(nèi)的推廣應用,未來還將逐步拓展到其他領(lǐng)域。也許有一天,我們每個人的手機上,都可以使用到“中國航天”品牌的操作系統(tǒng)了。