詹盼盼,郭 堅,何熊文,張紅軍
(北京空間飛行器總體設(shè)計部,北京100094)
一種面向航天的可靠實時操作系統(tǒng)設(shè)計*
詹盼盼,郭 堅,何熊文,張紅軍
(北京空間飛行器總體設(shè)計部,北京100094)
航天任務(wù)對實時操作系統(tǒng)提出了特定需求,設(shè)計一種面向航天的可靠實時操作系統(tǒng)(extremely valuable time-critical reliable operating system,EVTROS),功能包括任務(wù)管理、中斷管理、內(nèi)存管理、時鐘管理、任務(wù)間通信管理和異常管理.介紹了基于最小內(nèi)核的軟件體系結(jié)構(gòu)和實時調(diào)度設(shè)計,可靠性特點包括兩級異常處理與故障日志記錄、內(nèi)存檢查和冗余內(nèi)存塊自動替換、空間輻照下的單粒子翻轉(zhuǎn)處理三個方面.實測數(shù)據(jù)表明,軟件具有較優(yōu)的性能,當系統(tǒng)發(fā)生異常時能夠可靠處理.該操作系統(tǒng)成功應(yīng)用于多個型號的星載計算機中,可靠性得到了有效驗證.
星載計算機;操作系統(tǒng);實時調(diào)度;可靠;異常處理
隨著空間技術(shù)的不斷發(fā)展和應(yīng)用的深入,航天軟件系統(tǒng)的任務(wù)規(guī)模和復(fù)雜程度不斷上升.原有依靠應(yīng)用軟件自身直接進行資源管理及調(diào)度的方式,難以解決航天軟件系統(tǒng)中大量存在的資源沖突和任務(wù)阻塞等問題,因此需要利用實時操作系統(tǒng)進行統(tǒng)一管理,保證系統(tǒng)的穩(wěn)定性、可靠性和高質(zhì)量,并提高航天軟件的開發(fā)效率[1].
實時操作系統(tǒng)[2](real time operating system,RTOS)是在確定的時間內(nèi)對外部事件響應(yīng)并執(zhí)行相應(yīng)功能的一類操作系統(tǒng).國外已經(jīng)開展多年的RTOS研究與應(yīng)用,出現(xiàn)了一些商用RTOS產(chǎn)品,如VX-WORKS,RTEMS和 QNX[3]等.風河公司的 VXWORKS操作系統(tǒng)是成熟的商用實時操作系統(tǒng),自1997年在美國國家航空航天局(NASA)研制的火星探路者號探測器上成功搭載,進而在后續(xù)的火星探測計劃中得以應(yīng)用,包括機遇號和勇氣號,并且獲得成功.RTEMS是美國軍方為實時導(dǎo)彈系統(tǒng)而研發(fā),具有較好的實時性和穩(wěn)定性,已在美國和歐洲航空航天領(lǐng)域得到應(yīng)用.QNX目前應(yīng)用在無人機等軍事領(lǐng)域.
雖然上述操作系統(tǒng)已經(jīng)應(yīng)用在一些航天領(lǐng)域任務(wù)中,但是基于國內(nèi)航天領(lǐng)域的特點,這些國外實時操作系統(tǒng)不適合在中國航天器中應(yīng)用.主要有以下問題:
(1)商用實時操作系統(tǒng)的源碼不公開,中國航天軟件要求源代碼必須經(jīng)過充分的分析和評測.
(2)可靠性和安全性得不到保證,由于涉及到航天領(lǐng)域,這些國外的軟件產(chǎn)品不能自主可控,也不確定是否存在安全漏洞.并且國外實時操作系統(tǒng)軟件并不單獨針對航天應(yīng)用,因此對空間的容錯能力和可靠性方面考慮不足.
(3)星載計算機的存儲空間有限,而這些實時操作系統(tǒng)包括了大量與航天應(yīng)用無關(guān)的組件,無法同時滿足功能、性能和空間要求.
國內(nèi)也對航天用實時操作系統(tǒng)有一些研究,如實踐五號、探索一號等使用了pSOS實時操作系統(tǒng).國內(nèi)航天領(lǐng)域的實時操作系統(tǒng)軟件主要有以下特點:只實現(xiàn)了滿足型號應(yīng)用的最基本功能,無法滿足星載計算機的通用任務(wù)要求;軟件架構(gòu)不夠靈活,針對不同的硬件進行定制,導(dǎo)致難以移植到不同的中央處理器(CPU)中;目前國內(nèi)實時操作系統(tǒng)尚沒有對可靠性和容錯處理的公開設(shè)計說明.北京控制工程研究所研制的SpaceOS[4]是目前國內(nèi)應(yīng)用較為廣泛的嵌入式操作系統(tǒng),但是其源代碼不開放,無法獲取其內(nèi)部實現(xiàn)細節(jié).
為改變這一現(xiàn)狀進行自主操作系統(tǒng)研發(fā),考慮整星任務(wù)對實時操作系統(tǒng)的可靠性要求,本文在分析了面向航天的實時操作系統(tǒng)軟件需求的基礎(chǔ)上,提出了一種可靠RTOS設(shè)計原則,從實時操作系統(tǒng)的體系結(jié)構(gòu)和可靠性設(shè)計措施方面,設(shè)計了一種面向航天的可靠實時操作系統(tǒng)EVTROS.能夠?qū)崿F(xiàn)多個領(lǐng)域星載計算機的通用需求,可移植到中國航天器用的主流CPU中(支持486、TSC695F[5]和國產(chǎn)BM3803[6]處理器),為整星任務(wù)提供可靠支持.該操作系統(tǒng)不僅成功應(yīng)用在多個星載計算機中,而且能夠推廣到其他星載計算機中使用.
面向航天的RTOS運行在各種星載計算機中,空間環(huán)境由于單粒子效應(yīng)和總劑量效應(yīng)的存在,使得其與地面系統(tǒng)相比要復(fù)雜惡劣的多,并且航天任務(wù)和硬件體系結(jié)構(gòu)不斷復(fù)雜,軟件代碼規(guī)模不斷增加,對RTOS構(gòu)成挑戰(zhàn).針對星載計算機硬件平臺多種多樣、易受空間環(huán)境影響、在軌飛行出現(xiàn)故障后難以干預(yù)的特點,面向航天的實時操作系統(tǒng)需要滿足以下需求:
(1)滿足通用性的要求.為滿足不同領(lǐng)域星載計算機的任務(wù)要求,面向航天的操作系統(tǒng)需要提供任務(wù)管理、中斷管理、內(nèi)存管理、時鐘管理和任務(wù)間通信管理的功能.
(2)具有較高的實時性能,能夠支持外部事件快速響應(yīng)和任務(wù)實時調(diào)度.
(3)具有獨立于硬件平臺的靈活的體系結(jié)構(gòu),能夠移植到不同的CPU中.
(4)可靠性要求.地面對在軌運行的衛(wèi)星可干預(yù)手段較少,這就要求RTOS為航天應(yīng)用提供高可靠的運行環(huán)境,不僅能夠在單粒子效應(yīng)廣泛存在的空間輻照環(huán)境中穩(wěn)定運行,而且具有一定的異常處理能力,能夠在出錯后識別異常并從異常中恢復(fù),保證星載計算機長壽命運行.
實時性和可靠性是航天用RTOS的重要特性,兩者相互影響又相互依賴.本文在面向航天的RTOS設(shè)計中將實時性和可靠性兩者相結(jié)合,采取以下設(shè)計思路:
(1)分層次低耦合體系結(jié)構(gòu)設(shè)計:現(xiàn)有的國外RTOS往往基于宏內(nèi)核[7-8]的體系結(jié)構(gòu),將任務(wù)管理、中斷管理、內(nèi)存管理、時鐘管理和任務(wù)間通信管理的功能模塊聚合在內(nèi)核中,其中一個模塊出現(xiàn)錯誤往往引起其他模塊的錯誤,內(nèi)核的功能模塊耦合度過高導(dǎo)致可靠性降低.而國內(nèi)航天用RTOS大多是單體系統(tǒng),較少區(qū)分用戶層和系統(tǒng)層的概念,系統(tǒng)耦合度較高.本文采用分層次的體系結(jié)構(gòu)設(shè)計,將RTOS分為用戶層、功能層和板級支持層,功能層包含最小內(nèi)核和內(nèi)核擴展模塊,將內(nèi)核功能獨立出來成為一個最小內(nèi)核,而將其他功能作為內(nèi)核功能的擴展模塊實現(xiàn),降低系統(tǒng)內(nèi)核和其他模塊之間的耦合度,以實現(xiàn)系統(tǒng)實時性和可靠性的統(tǒng)一.
(2)可靠性策略和措施相分離:可靠性設(shè)計分兩級實現(xiàn),在功能層僅提供可靠性策略接口,進行異常事件處理過程中僅進行必要的異常信息保存和恢復(fù),而可靠性處置措施可交給用戶層實現(xiàn),由用戶選擇配置異常處理措施,實現(xiàn)可靠性策略和措施相分離.
2.1 體系結(jié)構(gòu)設(shè)計
為提高航天操作系統(tǒng)的可靠性和實時性,本文按照分層次低耦合體系結(jié)構(gòu)設(shè)計原則,設(shè)計了一個基于最小內(nèi)核的RTOS體系結(jié)構(gòu),將操作系統(tǒng)劃分成小的、良好定義的模塊,只有內(nèi)核運行在內(nèi)核態(tài)中,其他的模塊作為普通用戶進程運行.EVTROS從體系結(jié)構(gòu)上劃分為3個層次:板級支持層、功能層和用戶層,如圖1所示.
板級支持層:板級支持層為RTOS提供了特定于星載計算機硬件的板級驅(qū)動,可以屏蔽硬件平臺的差異,有效保證內(nèi)核的獨立性和操作系統(tǒng)的移植性.板級支持層主要包括以下功能:系統(tǒng)配置和初始化模塊完成系統(tǒng)和CPU的初始化;板級驅(qū)動程序主要實現(xiàn)了硬件設(shè)備的驅(qū)動;內(nèi)核初始化模塊為內(nèi)核分配內(nèi)存空間并且建立內(nèi)核調(diào)度任務(wù).
圖1 EVTROS操作系統(tǒng)軟件體系結(jié)構(gòu)圖Fig.1 Architecture of EVTROS
功能層:EVTROS內(nèi)核設(shè)計盡可能小,只保留實現(xiàn)操作系統(tǒng)基本功能的模塊,而把外圍功能的實現(xiàn)放在最小內(nèi)核之外,不僅處理時間較少,而且降低內(nèi)核出異常的概率,能夠起到提高可靠性的作用.功能層由最小內(nèi)核和內(nèi)核擴展模塊組成,共同完成操作系統(tǒng)軟件的任務(wù)管理、中斷管理、內(nèi)存管理、時鐘管理和任務(wù)間通信管理的功能.其中內(nèi)核擴展模塊中的異常管理模塊,對發(fā)生異常時的系統(tǒng)狀態(tài)進行保存和恢復(fù),是保證系統(tǒng)可靠性的關(guān)鍵.
用戶層:用于屏蔽操作系統(tǒng)內(nèi)核接口,提供應(yīng)用軟件需要的接口和功能,包括用戶支持庫和用戶異常處理模塊.用戶異常處理模塊將發(fā)生的異常信息記錄到日志系統(tǒng)中并根據(jù)異常的類別分別處理,是可靠性設(shè)計的重要內(nèi)容.
2.2 實時調(diào)度設(shè)計
系統(tǒng)調(diào)度是特定事件發(fā)生時根據(jù)系統(tǒng)資源的占用情況對任務(wù)狀態(tài)的統(tǒng)一管理和調(diào)配,調(diào)度策略是影響操作系統(tǒng)實時性的重要因素.EVTROS調(diào)度時機是在特定事件下進行的,如圖2所示,包括時鐘中斷和內(nèi)核事件.時鐘中斷(也指時間片中斷)是周期性觸發(fā)的,首先保存當前任務(wù)(處于執(zhí)行態(tài)的任務(wù))的上下文(本文指CPU寄存器的值)到任務(wù)堆棧中,然后從就緒隊列中獲取第一個任務(wù)(優(yōu)先級最高),從該任務(wù)的堆棧中加載上下文到CPU寄存器中并且執(zhí)行.為了提高系統(tǒng)的實時性和任務(wù)切換的效率,本文還在執(zhí)行調(diào)度程序之前進行了優(yōu)化,首先比較當前任務(wù)的優(yōu)先級和就緒隊列任務(wù)的優(yōu)先級,如果當前任務(wù)的優(yōu)先級更高,則不重新執(zhí)行調(diào)度,直接從該任務(wù)被中斷的地方執(zhí)行,只有當前任務(wù)的優(yōu)先級低時才重新調(diào)度.這樣,可以減少調(diào)度和任務(wù)切換的次數(shù),提高系統(tǒng)性能.
圖2EVTROS調(diào)度機制Fig.2 Scheduler of EVTROS
內(nèi)核事件也能觸發(fā)EVTROS重新調(diào)度,本文的內(nèi)核事件是指能夠引起內(nèi)核重新調(diào)度的事件,由應(yīng)用程序調(diào)用相關(guān)函數(shù)引發(fā),包括任務(wù)延時、任務(wù)執(zhí)行結(jié)束、任務(wù)掛起和恢復(fù)、信號量獲取和釋放、消息隊列發(fā)送和接收.當這些內(nèi)核事件發(fā)生時,系統(tǒng)會立即執(zhí)行一次內(nèi)核調(diào)度程序,而不必等到時鐘中斷到達時才調(diào)度.
內(nèi)核事件觸發(fā)的調(diào)度方式實現(xiàn)了系統(tǒng)對外部事件的實時響應(yīng),能夠保證航天應(yīng)用對緊急事件如實時程控指令的快速響應(yīng).在星載計算機運行過程中,如果任務(wù)間需要處理關(guān)鍵指令,可以在中斷程序中釋放信號量,通知系統(tǒng)軟件執(zhí)行一次內(nèi)核事件調(diào)度,則獲取該信號量的任務(wù)會被立即調(diào)度執(zhí)行,而無需一直等待時間片輪轉(zhuǎn),從而減少了關(guān)鍵事件的等待調(diào)度時間.
航天任務(wù)的特殊性,要求EVTROS操作系統(tǒng)不僅能夠?qū)φG闆r下的系統(tǒng)資源進行有效管理,當系統(tǒng)發(fā)生異常情況時仍需要保持可靠運行.EVTROS操作系統(tǒng)主要在以下幾個方面進行了可靠性設(shè)計:內(nèi)存檢查和冗余內(nèi)存塊自動替換、異常處理與故障日志記錄、空間輻照下的單粒子翻轉(zhuǎn)處理.
3.1 內(nèi)存檢查和冗余內(nèi)存塊自動替換
星載計算機內(nèi)存檢測有兩個特點:第一是檢測出現(xiàn)錯誤后不能夠?qū)⒊绦蚨魏蛿?shù)據(jù)段搬移到內(nèi)存中執(zhí)行,因為不可信的內(nèi)存數(shù)據(jù)會對軟件任務(wù)造成不可預(yù)見的影響;第二是檢測出錯后能夠告知地面足夠的信息,以便進行內(nèi)存地址替換等措施.目前,大多數(shù)星載計算機在檢測到內(nèi)存錯誤后即直接復(fù)位,地面無法判斷是內(nèi)存錯誤所致還是系統(tǒng)的其他異常所致,無法準確定位錯誤.為解決這一問題,本文在檢測到內(nèi)存錯誤后,一方面給出遙測數(shù)據(jù),另一方面隔離出錯的內(nèi)存塊.
初始加電后,EVTROS進行內(nèi)存檢查:遍歷所有內(nèi)存空間,寫入固定值序列后并讀取,判斷寫入數(shù)據(jù)的正確性,如果內(nèi)存數(shù)據(jù)讀寫均正確則正常加載到內(nèi)存中運行,如果不正確則進行內(nèi)存出錯處理.航天用1553B總線通信的設(shè)備分為BC(bus controller)端和RT(remote terminal)端.如果是RT端,則進行1553B總線寄存器初始化后,向總線遙測子地址寫入表明內(nèi)存區(qū)有錯誤的事件碼和內(nèi)存出錯地址,等待中央計算機(BC端)采集并且下行.如果是BC端,則向硬件遙測地址寫入錯誤事件碼并下行.這樣,地面能夠獲取系統(tǒng)檢測到內(nèi)存錯誤的信息,并執(zhí)行下一步操作.
EVTROS設(shè)計了冗余內(nèi)存塊自動替換的策略.在內(nèi)存塊檢測的過程中,如果發(fā)現(xiàn)某一內(nèi)存塊錯誤,則記錄發(fā)生錯誤的內(nèi)存塊;最終如果只有一個內(nèi)存塊有錯誤,則使用最后一個內(nèi)存塊替換出錯的內(nèi)存塊,隔離出錯的內(nèi)存區(qū),系統(tǒng)繼續(xù)正常運行,如果多于一個內(nèi)存塊有錯誤,則設(shè)置內(nèi)存錯誤遙測狀態(tài)后下行,并設(shè)置狗咬復(fù)位.
3.2 異常處理與故障日志記錄
異常[1]是指處理器由于某些指令自動產(chǎn)生的異常事件,如非法指令、除零等.當異常事件發(fā)生時,CPU能夠捕獲異常并轉(zhuǎn)入異常處理代碼執(zhí)行.以TSC695F和BM3803處理器為例,EVTROS能夠管理所有256級Trap,除15個中斷和少數(shù)Trap(包括下溢、上溢、軟指令關(guān)閉Trap)需要特殊處理外,其他異常均采用統(tǒng)一的方式進行處理.
根據(jù)可靠性策略和措施相分離的設(shè)計原則,本文針對這些異常處理分兩個層次:內(nèi)核層異常處理和用戶層異常處理,將用戶層異常處理掛接在內(nèi)核層異常處理的末端.內(nèi)核層的異常處理是“后臺”程序,對發(fā)生異常時的系統(tǒng)狀態(tài)進行保存和恢復(fù).當異常發(fā)生時,首先保存異常發(fā)生時的CPU寄存器狀態(tài)到內(nèi)存中,然后轉(zhuǎn)向執(zhí)行用戶層異常處理程序,執(zhí)行完畢后再次轉(zhuǎn)向“后臺”程序,在異常退出前從內(nèi)存中恢復(fù)CPU寄存器狀態(tài).
用戶層的異常處理是用戶軟件操作導(dǎo)致異常時具體處理的過程,是用戶可配置和修改的.內(nèi)核層的異常處理是對發(fā)生異常時的處理器上下文信息進行保存和恢復(fù)的過程,對用戶不可見.用戶層的異常處理分兩步進行.第一,以故障日志記錄的形式保存異常信息,首先讀取出錯時CPU寄存器的值,生成一個異常記錄結(jié)構(gòu)(包括異常計數(shù)、異常源、異常類型、錯誤地址、PC寄存器值、處理器狀態(tài)寄存器值、發(fā)生錯誤的任務(wù)ID),并且將這些信息保存到特定的存儲區(qū)域.第二,保存完異常信息后,根據(jù)異常類型分別進行處理:如果是無法恢復(fù)的異常,包括除零錯、非法指令、內(nèi)存不對齊錯誤、數(shù)據(jù)訪問錯誤,則設(shè)置復(fù)位;若為其它異常,則清除CPU寄存器錯誤狀態(tài)后繼續(xù)執(zhí)行.星載應(yīng)用軟件讀取故障日志記錄并下傳地面,以進行異常定位.
不同的處理器或者系統(tǒng)可以有不同的異常處理方式,應(yīng)用程序可以對用戶層的異常處理方式進行配置和更改,這樣不僅可以實現(xiàn)內(nèi)核層異常處理的通用化,而且適應(yīng)了不同系統(tǒng)對異常處理的多變性需求,實現(xiàn)了可靠性策略和措施相分離的原則.
3.3 空間輻照下的單粒子翻轉(zhuǎn)處理
單粒子效應(yīng)是十分重要的空間環(huán)境效應(yīng)之一,其影響也越來越嚴重,經(jīng)常造成系統(tǒng)出錯或損壞,導(dǎo)致航天器系統(tǒng)失控,其中,單粒子翻轉(zhuǎn)(single event upset,SEU)是較為常見而又十分重要的一種單粒子效應(yīng)[9].EVTROS對內(nèi)存可能發(fā)生的單粒子翻轉(zhuǎn)進行了防護,通過軟件容錯方式減少單粒子翻轉(zhuǎn)對星載計算機系統(tǒng)的影響.通過設(shè)置 CPU寄存器將RAM錯誤檢測與糾正[10](error detection and correction,EDAC)防護功能打開,軟件就能響應(yīng)單粒子翻轉(zhuǎn)事件.
用戶異常處理模塊實現(xiàn)單粒子翻轉(zhuǎn)處理程序,一旦發(fā)生單粒子翻轉(zhuǎn),該程序記錄單比特錯計數(shù),并且分別讀取和回寫發(fā)生單粒子翻轉(zhuǎn)的內(nèi)存中的數(shù)據(jù),從而糾正內(nèi)存中的錯誤數(shù)據(jù).
軟件測試是保證RTOS可靠性的重要手段.EVTROS操作系統(tǒng)經(jīng)歷了多個測試階段,一方面通過制定場景進行專項測試.另一方面,通過航天應(yīng)用和在軌長期飛行進行測試,驗證其正確性,例如某航天器中心計算機上的應(yīng)用軟件有十多個不同優(yōu)先級的任務(wù)和數(shù)十個不同優(yōu)先級的中斷,不僅任務(wù)執(zhí)行過程復(fù)雜,而且中斷的發(fā)生具有隨機性.經(jīng)過多次飛行任務(wù)和連續(xù)四年不斷電在軌飛行,實測數(shù)據(jù)表明EVTROS操作系統(tǒng)運行安全可靠.
本文對EVTROS的實時性和可靠性進行了測試驗證.實時性是RTOS最重要的技術(shù)指標,任務(wù)切換時間和中斷響應(yīng)時間是影響RTOS實時性的重要性能指標,在航天任務(wù)中尤為突出.任務(wù)切換時間是從當前任務(wù)運行的最后一條指令放棄CPU,到下一個就緒任務(wù)的首條指令開始執(zhí)行的時間,中斷響應(yīng)時間是從中斷發(fā)生到開始執(zhí)行用戶中斷服務(wù)程序的第一條指令之間的時間.本文對這兩個性能指標進行了100次測試,統(tǒng)計了EVTROS的平均時間,運行環(huán)境為國產(chǎn)BM3803處理器(主頻20MHZ),任務(wù)數(shù)20個,并與VXWORKS和RTEMS實時操作系統(tǒng)的性能進行了比較,如表1所示.
表1 性能指標測試結(jié)果Tab.1 Testing results of the performance
多任務(wù)切換和外部中斷響應(yīng)是RTOS運行過程中頻繁發(fā)生的事件.表1的測試結(jié)果表明EVTROS相對于VXWORKS和RTEMS,具有更好的實時性.
本文對EVTROS的可靠性設(shè)計進行了測試,測試過程和方法如表2所示,結(jié)果表明軟件能夠正確處理系統(tǒng)發(fā)生的異常,滿足可靠性設(shè)計要求.
表2 可靠性設(shè)計測試方法和結(jié)果Tab.2 Testing methods and results of the reliability design
本文設(shè)計的一種面向航天的可靠實時操作系統(tǒng),具有實時性高、異??煽刻幚淼奶攸c,多次成功應(yīng)用于中國航天器的中心計算機中,已連續(xù)無故障運行四年,其功能性能和可靠性得到了有效的驗證,可以推廣到其他航天器中使用.
[1] 程勝,蔡銘.航天高可靠嵌入式實時操作系統(tǒng)原理與技術(shù)[M].北京:中國宇航出版社,2012.CHENG S,CAI M.The principle and technique of space highly reliable embedded real time operating system[M].Beijing:China Astronautics Press,2012.
[2] ANH T.Real-time operating systems for small microcontrollers[J].Micro,2008,29(5):30-45.
[3] HILDE B D.An architecture overview of QNX[C]// Proceedings of the workshop on micro kernels and other kernel architectures.New York:IEEE,1992.
[4] 徐建,楊樺.基于微內(nèi)核的星載實時操作系統(tǒng)設(shè)計與實現(xiàn)[J].空間控制技術(shù)與應(yīng)用,2011,37(2):38-43.XU J,YANG Y.Design and implementation of microkernel-based satellite real time operating system[J].Aerospace Control and Application,2011,37(2):38-43.
[5] Atmel Corporation.Rad-hard 32 bit SPARC embedded processor TSC695F[Z].Atmel Corporation,2003.
[6] 詹盼盼,郭廷源,高建軍,等.基于BM3803處理器的即插即用星載計算機系統(tǒng)設(shè)計[J].航天器工程,2013,22(6):92-96.ZHAN P P,GUO T Y,GAO J J.Plug-and-play onboard computer system design based on bm3803 processor[J].Spacecraft Engineering,2013,22(6):92-96.
[7] LIEDTKE J.On μ-Kernel construction[C]//The 15thACM Symposium on Operation Systems,Coper Mountain,1995.
[8] ANDREW S T.Modern operating systems[M].New York:Pearson Education,2008
[9] 黃建國,韓建偉,林云龍,等.一種SEU實驗數(shù)據(jù)的處理方法[J].空間科學(xué)學(xué)報,2002,22(3):268-273.HUANG J G,HAN J W,LIN Y.A method for processing SEU data[J].Chinese Journal of Space Science,2002,22(3):268-273.
[10] SHIRVANI P P,SAXENA N R,MCCLUSKEY E J.Software implemented EDAC protection against SEUs [J].IEEE Transactions on Reliability,2000,49(3): 273-284.
Design of Reliable Real Time Operating System in Aerospace
ZHAN Panpan,GUO Jian,HE Xiongwen,ZHANG Hongjun
(Beijing Institute of Spacecraft System Engineering,Beijing 100094,China)
Since the space mission has a specific demand on real time operation system(RTOS),a space high reliability real time operating system—extremely valuable time-critical reliable operating system(EVTROS)is designed.It involves the functions of task management,interrupt management,memory management,synchronization and communication,time management and exception handling.The software architecture are elaborated based on the smallest kernel and real time task scheduling.The reliability of space RTOS is improved via three approaches:two-level exception handling and fault log recording mechanism,memory checking and automatic replacement of redundant memory blocks,handling of single event upset under space radiation.Measured data show that the designed RTOS has good performance and can handle reliably when exception occurs.The designed RTOS is applied to space on-board computers of several missions and the reliability is verified.
on-board computer;operating system;real time scheduling;reliable;exception handling
V446.2
A 文章編號:1674-1579(2016)05-0047-06
10.3969/j.issn.1674-1579.2016.05.009
詹盼盼(1987—),男,工程師,研究方向為空間數(shù)據(jù)系統(tǒng)設(shè)計;郭 堅(1977—),男,研究員,研究方向為空間數(shù)據(jù)系統(tǒng)設(shè)計;何熊文(1982—),男,高級工程師,研究方向為空間數(shù)據(jù)系統(tǒng)設(shè)計;張紅軍(1980—),男,高級工程師,研究方向為空間數(shù)據(jù)系統(tǒng)設(shè)計.
*空間信息網(wǎng)絡(luò)業(yè)務(wù)特征與流量分析理論研究(91438102)資助項目。
2016-07-05