03.06 登月探測器嫦娥使用什麼操作系統,是Linux還是其它自主研發?

xyxy668


航天器用到的計算器和操作系統都是和我們普通的民用操作系統不同,因為航天器的處理器為了穩定可靠,一般都犧牲了性能,在處理器的處理能力上和現在桌面級的處理器甚至移動端的處理器都相差甚遠。所以配套的操作系統也是特別的“輕”並且穩定可靠。



航天器不可能運行像Linux,Windows這樣的操作系統。因為這些系統對於現在航天器的操作系統來說不但體積龐大而且系統也沒有航天級操作穩定,比如Windows系統,微軟要經常推送系統補丁,來修復系統。但是對於航天器的操作系統幾乎不可維護。而且在電腦上通常系統一旦出現問題,通常可以通過重啟來解決,但是如果在航天器在執行任務的時候重啟就危險了,比如以色列的登月探測器在變軌的時候探測器的計算機重啟導致探測器錯過了變軌的時機,只能等下一次變軌。所以航天器上計算機的操作系統可靠性就尤為重要。

中國首個登月的探測器用到的操作系統是大型嵌入式硬實時操作系統——SpaceOS2,是spaceOS的升級版,是中國自主研製的操作系統。同時探測器上的三臺計算機同時工作,來保障運載的穩定。


隔壁老Cui


這個確實因為涉及機密原因,我們只能從已經公佈的資料來談。

因為我本身對計算物理比較瞭解,所以只能說知道一些知識,談不上懂!所以還請大家補充指正。

中國航天用的系統

其實這個消息是公開的,其名叫SpaceOS系統。可以說自主研發的,但其參考了美國風河系統公司的VxWorks653。

我們知道系統這個東西不是說你想用什麼就用什麼,必須要考慮到電腦能否運行。不幸的是航天器內存和CPU都非常弱,弱到什麼程度呢:天宮一號的CPU是10MHz的,內存是2M。這個配置你可能會說也太渣了,但實際情況就是這樣,而搞過計算的人都知道Linux系統還比較吃資源,而且Linux的致命缺陷就是Linux不是一個硬實時操作系統。


而航天器的任務要求它的系統必須是實時操作系統(RTOS)能嚴格按照任務優先級搶佔執行,快速的中斷響應,對關中斷的時間有非常嚴格的控制。而Linux的主要應用還是在通用計算機和服務器方面,並沒有考慮這一點,所以不能用在航天器。

為什麼不把航天器的計算機配置弄高點?

不是不想弄高,而是不能弄高!因為太空輻射、極端溫度的原因,計算機系統首先要求的是可靠性,高溫100多度,低溫零下100多度,這種溫度下一般家用計算機早就掛了,所以為了對應這個極端環境,主要的硬件都被設計成很耐用的狀態,這就使得計算機速度不是一個重要的指標。另外太空輻射會造成位翻轉,頻率越高越容易被幹擾,所以低頻是主流。



所以低配置是為了應對惡劣環境的妥協!


科學認識論


登月探測器嫦娥使用什麼操作系統,是Linux還是其它自主研發?

假如要確認登月探測器的是什麼操作系統的話似乎有點困難,但中國航天有一套自己的控制與操作系統,名字叫SpaceOS,早在從2001年中國航天科技集團公司五院就開始研發星載計算機特有的操作系統——SpaceOS,並在2006年首飛成功!各位不要驚訝,司空見慣的操作系統不是到處都是麼,還要專門研製?

其實像這種控制飛行器以及衛星與飛船的操作系統與普通的操作系統是不一樣的,普通的操作電腦或者服務器或者甚至是超級計算機都無法做到實時按任務系統的輕重緩急來順序操作,而這些實時要求極高的星載操作系統中,對系統資源的要求卻並不高,因為它們的任務比較單一,因此複雜的通用操作系統將佔用過多的系統資源,因此星載操作系統只有一個要求:必須為實時操作系統(RTOS),能夠嚴格按照任務優先級順序搶佔執行,在任何狀態下都能快速的中斷響應,對關中斷的時間有非常嚴格的要求!

32位星載容錯控制計算機系統

另外,星載計算機因任務需求以及複雜空間環境(強幹擾、強輻射、高能粒子轟擊以及極大的溫差等),它們的性能與通用計算機是沒法比較的,甚至比較起來處於極為原始的裝惕啊,比如天宮一號的計算機CPU才10MHZ,內存只有2M,是不是有種恍若隔世的感覺?但這只是控制天宮本身運行的各種任務需求而已,它並不需要處理各種圖像等,因此夠用即可,不需要更高等級!

當然隨著各種任務複雜度的提升,空間計算機硬件性能提升這是必須要經歷的過程,但我們國家在這方面的科研仍然有些薄弱,儘管經過這些年的努力趕上了一部分,但仍然有相當的距離!

還有一個要提醒一下的是,在空間站內並非不能用普通電腦,一樣可以用,日常輔助的筆記本等完全可以正常使用.....您可千萬不要認為空間站上的人就在用那個跟計算器差不多控制電腦哈....


星辰大海路上的種花家


這是不是國家機密啊。事實什麼樣的不知道,但是從美國的探測器來看,就算不是也是相似的東西。下面我來說說我知道的。

龍芯已經隨北斗衛星上天了. 就算登月探測器嫦娥是用"龍芯+Linux"也不出奇. 沒必要把嵌入式實時操作系統說得那麼神乎其神. 無人機使用Linux作為操作系統,也沒見要失控了,是吧. Linux作為一款搶佔式多任務操作系統,上下文切換和中斷在所難免. 但可以給任務進程設置運行優先級(nice/renice)和進行CPU核心親緣性綁定(taskset). 就算髮生上下文切換,那也是微秒級別的耗時,還是很快的,只是相對沒有那麼"實時"而已.

nice - run a program with modified scheduling priorityrenice - alter priority of running processestaskset - retrieve or set a process's CPU affinity

我在Ubuntu上用PHP測試了1次上下文切換消耗的時間,不知道對不對,方法如下:

1次上下文切換耗時 = ( 1.092894077301(總耗時) - 1(睡眠耗時) - 0.000014066696166992(無usleep時腳本耗時) ) / 1000次 = 0.00009288 秒/次 = 92.88 微秒/次 (接近萬分之一秒)

vmstat 1 中也確實看到了上下文切換(cs)增加了1000多.

總結

也就是說,如果相差萬分之一秒會導致的嚴重的錯誤,這時就不適合使用Linux了.

一切都是猜測和實驗算不得真的。看看就行了。


生活小叮噹


感覺自主研發不現實,二次開發還是有可能的,linux或unix都不會是參考的目標,因為他們功耗太高太不穩定。個人感覺全球只有一個系統比較適合作為參考目標,那就是風河公司的操作系統。這個系統其實很多人都用過,那種rom小於1m的運營商定製的寬帶調制解調器用的基本都是這個系統。


LetItGo40215641


linux、windows這種系統,現在越來越穩定了,基本沒有藍屏和無緣無故重啟,但是還是會出故障,這對航天器幾乎是不可接受的,另外一方面,這些系統功能都太強大、太複雜了,對於航天器這種根本不需要這麼強大的系統,它們需要的是高可靠性

這就進入另一個操作系統領域,叫做實時os,前文所說的一般是基於事件驅動型os,面向性能、吞吐量系統

很多人說中國沒有自己的os,實際上有很多,特別是實時os,這些都是限於某個領域,通常是面向高可靠、高實時性的領域

消費級的os,如linux、windows屬於擴張性好,兼容性好的系統,屬於兩個不同的方向


膠師兄的代碼日記


這樣的科技情報怎夢告訴你?


關東一峰


普金:反正我用的是XP!


杜小小杜


應該是類似 VxWork 的系統,這種系統能進行同步運算,在飛行器高速運行中進行復雜的同步操作,操作間隔0.0001秒,在高速運動下誤差就不是幾百米的問題了,保證運行的軌道正確,這是windows 和linux 不具備的


barreamain


基於VX的自研系統,之湖上有個大神之前做過這個工作,談過很多相關問題。

(這裡不是給知乎做廣告哦)

但是,VxWorks系統之前狀告華為,違反授權協議,導致華為緊急更新部分幹網交換機硬件。這個具體我已經忘記了,但是說明VxWorks系統還是牽扯版權問題的~~~~不過航天系統這種非二次銷售的東西,侵不侵權是無所謂的。


(沒錯,華為的一些交換機使用的也是VX系統~~~~實際上來說,很多不能刷機的TP-links、水星之類的路由、無線路由使用的也是VX系統)


分享到:


相關文章: