• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種面向航天的可靠實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)*

      2016-04-08 06:16:39詹盼盼何熊文張紅軍
      關(guān)鍵詞:實(shí)時(shí)性內(nèi)核內(nèi)存

      詹盼盼,郭 堅(jiān),何熊文,張紅軍

      (北京空間飛行器總體設(shè)計(jì)部,北京100094)

      一種面向航天的可靠實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)*

      詹盼盼,郭 堅(jiān),何熊文,張紅軍

      (北京空間飛行器總體設(shè)計(jì)部,北京100094)

      航天任務(wù)對(duì)實(shí)時(shí)操作系統(tǒng)提出了特定需求,設(shè)計(jì)一種面向航天的可靠實(shí)時(shí)操作系統(tǒng)(extremely valuable time-critical reliable operating system,EVTROS),功能包括任務(wù)管理、中斷管理、內(nèi)存管理、時(shí)鐘管理、任務(wù)間通信管理和異常管理.介紹了基于最小內(nèi)核的軟件體系結(jié)構(gòu)和實(shí)時(shí)調(diào)度設(shè)計(jì),可靠性特點(diǎn)包括兩級(jí)異常處理與故障日志記錄、內(nèi)存檢查和冗余內(nèi)存塊自動(dòng)替換、空間輻照下的單粒子翻轉(zhuǎn)處理三個(gè)方面.實(shí)測(cè)數(shù)據(jù)表明,軟件具有較優(yōu)的性能,當(dāng)系統(tǒng)發(fā)生異常時(shí)能夠可靠處理.該操作系統(tǒng)成功應(yīng)用于多個(gè)型號(hào)的星載計(jì)算機(jī)中,可靠性得到了有效驗(yàn)證.

      星載計(jì)算機(jī);操作系統(tǒng);實(shí)時(shí)調(diào)度;可靠;異常處理

      0 引言

      隨著空間技術(shù)的不斷發(fā)展和應(yīng)用的深入,航天軟件系統(tǒng)的任務(wù)規(guī)模和復(fù)雜程度不斷上升.原有依靠應(yīng)用軟件自身直接進(jìn)行資源管理及調(diào)度的方式,難以解決航天軟件系統(tǒng)中大量存在的資源沖突和任務(wù)阻塞等問(wèn)題,因此需要利用實(shí)時(shí)操作系統(tǒng)進(jìn)行統(tǒng)一管理,保證系統(tǒng)的穩(wěn)定性、可靠性和高質(zhì)量,并提高航天軟件的開(kāi)發(fā)效率[1].

      實(shí)時(shí)操作系統(tǒng)[2](real time operating system,RTOS)是在確定的時(shí)間內(nèi)對(duì)外部事件響應(yīng)并執(zhí)行相應(yīng)功能的一類操作系統(tǒng).國(guó)外已經(jīng)開(kāi)展多年的RTOS研究與應(yīng)用,出現(xiàn)了一些商用RTOS產(chǎn)品,如VX-WORKS,RTEMS和 QNX[3]等.風(fēng)河公司的 VXWORKS操作系統(tǒng)是成熟的商用實(shí)時(shí)操作系統(tǒng),自1997年在美國(guó)國(guó)家航空航天局(NASA)研制的火星探路者號(hào)探測(cè)器上成功搭載,進(jìn)而在后續(xù)的火星探測(cè)計(jì)劃中得以應(yīng)用,包括機(jī)遇號(hào)和勇氣號(hào),并且獲得成功.RTEMS是美國(guó)軍方為實(shí)時(shí)導(dǎo)彈系統(tǒng)而研發(fā),具有較好的實(shí)時(shí)性和穩(wěn)定性,已在美國(guó)和歐洲航空航天領(lǐng)域得到應(yīng)用.QNX目前應(yīng)用在無(wú)人機(jī)等軍事領(lǐng)域.

      雖然上述操作系統(tǒng)已經(jīng)應(yīng)用在一些航天領(lǐng)域任務(wù)中,但是基于國(guó)內(nèi)航天領(lǐng)域的特點(diǎn),這些國(guó)外實(shí)時(shí)操作系統(tǒng)不適合在中國(guó)航天器中應(yīng)用.主要有以下問(wèn)題:

      (1)商用實(shí)時(shí)操作系統(tǒng)的源碼不公開(kāi),中國(guó)航天軟件要求源代碼必須經(jīng)過(guò)充分的分析和評(píng)測(cè).

      (2)可靠性和安全性得不到保證,由于涉及到航天領(lǐng)域,這些國(guó)外的軟件產(chǎn)品不能自主可控,也不確定是否存在安全漏洞.并且國(guó)外實(shí)時(shí)操作系統(tǒng)軟件并不單獨(dú)針對(duì)航天應(yīng)用,因此對(duì)空間的容錯(cuò)能力和可靠性方面考慮不足.

      (3)星載計(jì)算機(jī)的存儲(chǔ)空間有限,而這些實(shí)時(shí)操作系統(tǒng)包括了大量與航天應(yīng)用無(wú)關(guān)的組件,無(wú)法同時(shí)滿足功能、性能和空間要求.

      國(guó)內(nèi)也對(duì)航天用實(shí)時(shí)操作系統(tǒng)有一些研究,如實(shí)踐五號(hào)、探索一號(hào)等使用了pSOS實(shí)時(shí)操作系統(tǒng).國(guó)內(nèi)航天領(lǐng)域的實(shí)時(shí)操作系統(tǒng)軟件主要有以下特點(diǎn):只實(shí)現(xiàn)了滿足型號(hào)應(yīng)用的最基本功能,無(wú)法滿足星載計(jì)算機(jī)的通用任務(wù)要求;軟件架構(gòu)不夠靈活,針對(duì)不同的硬件進(jìn)行定制,導(dǎo)致難以移植到不同的中央處理器(CPU)中;目前國(guó)內(nèi)實(shí)時(shí)操作系統(tǒng)尚沒(méi)有對(duì)可靠性和容錯(cuò)處理的公開(kāi)設(shè)計(jì)說(shuō)明.北京控制工程研究所研制的SpaceOS[4]是目前國(guó)內(nèi)應(yīng)用較為廣泛的嵌入式操作系統(tǒng),但是其源代碼不開(kāi)放,無(wú)法獲取其內(nèi)部實(shí)現(xiàn)細(xì)節(jié).

      為改變這一現(xiàn)狀進(jìn)行自主操作系統(tǒng)研發(fā),考慮整星任務(wù)對(duì)實(shí)時(shí)操作系統(tǒng)的可靠性要求,本文在分析了面向航天的實(shí)時(shí)操作系統(tǒng)軟件需求的基礎(chǔ)上,提出了一種可靠RTOS設(shè)計(jì)原則,從實(shí)時(shí)操作系統(tǒng)的體系結(jié)構(gòu)和可靠性設(shè)計(jì)措施方面,設(shè)計(jì)了一種面向航天的可靠實(shí)時(shí)操作系統(tǒng)EVTROS.能夠?qū)崿F(xiàn)多個(gè)領(lǐng)域星載計(jì)算機(jī)的通用需求,可移植到中國(guó)航天器用的主流CPU中(支持486、TSC695F[5]和國(guó)產(chǎn)BM3803[6]處理器),為整星任務(wù)提供可靠支持.該操作系統(tǒng)不僅成功應(yīng)用在多個(gè)星載計(jì)算機(jī)中,而且能夠推廣到其他星載計(jì)算機(jī)中使用.

      1 需求分析及設(shè)計(jì)思路

      面向航天的RTOS運(yùn)行在各種星載計(jì)算機(jī)中,空間環(huán)境由于單粒子效應(yīng)和總劑量效應(yīng)的存在,使得其與地面系統(tǒng)相比要復(fù)雜惡劣的多,并且航天任務(wù)和硬件體系結(jié)構(gòu)不斷復(fù)雜,軟件代碼規(guī)模不斷增加,對(duì)RTOS構(gòu)成挑戰(zhàn).針對(duì)星載計(jì)算機(jī)硬件平臺(tái)多種多樣、易受空間環(huán)境影響、在軌飛行出現(xiàn)故障后難以干預(yù)的特點(diǎn),面向航天的實(shí)時(shí)操作系統(tǒng)需要滿足以下需求:

      (1)滿足通用性的要求.為滿足不同領(lǐng)域星載計(jì)算機(jī)的任務(wù)要求,面向航天的操作系統(tǒng)需要提供任務(wù)管理、中斷管理、內(nèi)存管理、時(shí)鐘管理和任務(wù)間通信管理的功能.

      (2)具有較高的實(shí)時(shí)性能,能夠支持外部事件快速響應(yīng)和任務(wù)實(shí)時(shí)調(diào)度.

      (3)具有獨(dú)立于硬件平臺(tái)的靈活的體系結(jié)構(gòu),能夠移植到不同的CPU中.

      (4)可靠性要求.地面對(duì)在軌運(yùn)行的衛(wèi)星可干預(yù)手段較少,這就要求RTOS為航天應(yīng)用提供高可靠的運(yùn)行環(huán)境,不僅能夠在單粒子效應(yīng)廣泛存在的空間輻照環(huán)境中穩(wěn)定運(yùn)行,而且具有一定的異常處理能力,能夠在出錯(cuò)后識(shí)別異常并從異常中恢復(fù),保證星載計(jì)算機(jī)長(zhǎng)壽命運(yùn)行.

      實(shí)時(shí)性和可靠性是航天用RTOS的重要特性,兩者相互影響又相互依賴.本文在面向航天的RTOS設(shè)計(jì)中將實(shí)時(shí)性和可靠性兩者相結(jié)合,采取以下設(shè)計(jì)思路:

      (1)分層次低耦合體系結(jié)構(gòu)設(shè)計(jì):現(xiàn)有的國(guó)外RTOS往往基于宏內(nèi)核[7-8]的體系結(jié)構(gòu),將任務(wù)管理、中斷管理、內(nèi)存管理、時(shí)鐘管理和任務(wù)間通信管理的功能模塊聚合在內(nèi)核中,其中一個(gè)模塊出現(xiàn)錯(cuò)誤往往引起其他模塊的錯(cuò)誤,內(nèi)核的功能模塊耦合度過(guò)高導(dǎo)致可靠性降低.而國(guó)內(nèi)航天用RTOS大多是單體系統(tǒng),較少區(qū)分用戶層和系統(tǒng)層的概念,系統(tǒng)耦合度較高.本文采用分層次的體系結(jié)構(gòu)設(shè)計(jì),將RTOS分為用戶層、功能層和板級(jí)支持層,功能層包含最小內(nèi)核和內(nèi)核擴(kuò)展模塊,將內(nèi)核功能獨(dú)立出來(lái)成為一個(gè)最小內(nèi)核,而將其他功能作為內(nèi)核功能的擴(kuò)展模塊實(shí)現(xiàn),降低系統(tǒng)內(nèi)核和其他模塊之間的耦合度,以實(shí)現(xiàn)系統(tǒng)實(shí)時(shí)性和可靠性的統(tǒng)一.

      (2)可靠性策略和措施相分離:可靠性設(shè)計(jì)分兩級(jí)實(shí)現(xiàn),在功能層僅提供可靠性策略接口,進(jìn)行異常事件處理過(guò)程中僅進(jìn)行必要的異常信息保存和恢復(fù),而可靠性處置措施可交給用戶層實(shí)現(xiàn),由用戶選擇配置異常處理措施,實(shí)現(xiàn)可靠性策略和措施相分離.

      2 體系結(jié)構(gòu)與實(shí)時(shí)性設(shè)計(jì)

      2.1 體系結(jié)構(gòu)設(shè)計(jì)

      為提高航天操作系統(tǒng)的可靠性和實(shí)時(shí)性,本文按照分層次低耦合體系結(jié)構(gòu)設(shè)計(jì)原則,設(shè)計(jì)了一個(gè)基于最小內(nèi)核的RTOS體系結(jié)構(gòu),將操作系統(tǒng)劃分成小的、良好定義的模塊,只有內(nèi)核運(yùn)行在內(nèi)核態(tài)中,其他的模塊作為普通用戶進(jìn)程運(yùn)行.EVTROS從體系結(jié)構(gòu)上劃分為3個(gè)層次:板級(jí)支持層、功能層和用戶層,如圖1所示.

      板級(jí)支持層:板級(jí)支持層為RTOS提供了特定于星載計(jì)算機(jī)硬件的板級(jí)驅(qū)動(dòng),可以屏蔽硬件平臺(tái)的差異,有效保證內(nèi)核的獨(dú)立性和操作系統(tǒng)的移植性.板級(jí)支持層主要包括以下功能:系統(tǒng)配置和初始化模塊完成系統(tǒng)和CPU的初始化;板級(jí)驅(qū)動(dòng)程序主要實(shí)現(xiàn)了硬件設(shè)備的驅(qū)動(dòng);內(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è)計(jì)盡可能小,只保留實(shí)現(xiàn)操作系統(tǒng)基本功能的模塊,而把外圍功能的實(shí)現(xiàn)放在最小內(nèi)核之外,不僅處理時(shí)間較少,而且降低內(nèi)核出異常的概率,能夠起到提高可靠性的作用.功能層由最小內(nèi)核和內(nèi)核擴(kuò)展模塊組成,共同完成操作系統(tǒng)軟件的任務(wù)管理、中斷管理、內(nèi)存管理、時(shí)鐘管理和任務(wù)間通信管理的功能.其中內(nèi)核擴(kuò)展模塊中的異常管理模塊,對(duì)發(fā)生異常時(shí)的系統(tǒng)狀態(tài)進(jìn)行保存和恢復(fù),是保證系統(tǒng)可靠性的關(guān)鍵.

      用戶層:用于屏蔽操作系統(tǒng)內(nèi)核接口,提供應(yīng)用軟件需要的接口和功能,包括用戶支持庫(kù)和用戶異常處理模塊.用戶異常處理模塊將發(fā)生的異常信息記錄到日志系統(tǒng)中并根據(jù)異常的類別分別處理,是可靠性設(shè)計(jì)的重要內(nèi)容.

      2.2 實(shí)時(shí)調(diào)度設(shè)計(jì)

      系統(tǒng)調(diào)度是特定事件發(fā)生時(shí)根據(jù)系統(tǒng)資源的占用情況對(duì)任務(wù)狀態(tài)的統(tǒng)一管理和調(diào)配,調(diào)度策略是影響操作系統(tǒng)實(shí)時(shí)性的重要因素.EVTROS調(diào)度時(shí)機(jī)是在特定事件下進(jìn)行的,如圖2所示,包括時(shí)鐘中斷和內(nèi)核事件.時(shí)鐘中斷(也指時(shí)間片中斷)是周期性觸發(fā)的,首先保存當(dāng)前任務(wù)(處于執(zhí)行態(tài)的任務(wù))的上下文(本文指CPU寄存器的值)到任務(wù)堆棧中,然后從就緒隊(duì)列中獲取第一個(gè)任務(wù)(優(yōu)先級(jí)最高),從該任務(wù)的堆棧中加載上下文到CPU寄存器中并且執(zhí)行.為了提高系統(tǒng)的實(shí)時(shí)性和任務(wù)切換的效率,本文還在執(zhí)行調(diào)度程序之前進(jìn)行了優(yōu)化,首先比較當(dāng)前任務(wù)的優(yōu)先級(jí)和就緒隊(duì)列任務(wù)的優(yōu)先級(jí),如果當(dāng)前任務(wù)的優(yōu)先級(jí)更高,則不重新執(zhí)行調(diào)度,直接從該任務(wù)被中斷的地方執(zhí)行,只有當(dāng)前任務(wù)的優(yōu)先級(jí)低時(shí)才重新調(diào)度.這樣,可以減少調(diào)度和任務(wù)切換的次數(shù),提高系統(tǒng)性能.

      圖2EVTROS調(diào)度機(jī)制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ù)延時(shí)、任務(wù)執(zhí)行結(jié)束、任務(wù)掛起和恢復(fù)、信號(hào)量獲取和釋放、消息隊(duì)列發(fā)送和接收.當(dāng)這些內(nèi)核事件發(fā)生時(shí),系統(tǒng)會(huì)立即執(zhí)行一次內(nèi)核調(diào)度程序,而不必等到時(shí)鐘中斷到達(dá)時(shí)才調(diào)度.

      內(nèi)核事件觸發(fā)的調(diào)度方式實(shí)現(xiàn)了系統(tǒng)對(duì)外部事件的實(shí)時(shí)響應(yīng),能夠保證航天應(yīng)用對(duì)緊急事件如實(shí)時(shí)程控指令的快速響應(yīng).在星載計(jì)算機(jī)運(yùn)行過(guò)程中,如果任務(wù)間需要處理關(guān)鍵指令,可以在中斷程序中釋放信號(hào)量,通知系統(tǒng)軟件執(zhí)行一次內(nèi)核事件調(diào)度,則獲取該信號(hào)量的任務(wù)會(huì)被立即調(diào)度執(zhí)行,而無(wú)需一直等待時(shí)間片輪轉(zhuǎn),從而減少了關(guān)鍵事件的等待調(diào)度時(shí)間.

      3 可靠性設(shè)計(jì)

      航天任務(wù)的特殊性,要求EVTROS操作系統(tǒng)不僅能夠?qū)φG闆r下的系統(tǒng)資源進(jìn)行有效管理,當(dāng)系統(tǒng)發(fā)生異常情況時(shí)仍需要保持可靠運(yùn)行.EVTROS操作系統(tǒng)主要在以下幾個(gè)方面進(jìn)行了可靠性設(shè)計(jì):內(nèi)存檢查和冗余內(nèi)存塊自動(dòng)替換、異常處理與故障日志記錄、空間輻照下的單粒子翻轉(zhuǎn)處理.

      3.1 內(nèi)存檢查和冗余內(nèi)存塊自動(dòng)替換

      星載計(jì)算機(jī)內(nèi)存檢測(cè)有兩個(gè)特點(diǎn):第一是檢測(cè)出現(xiàn)錯(cuò)誤后不能夠?qū)⒊绦蚨魏蛿?shù)據(jù)段搬移到內(nèi)存中執(zhí)行,因?yàn)椴豢尚诺膬?nèi)存數(shù)據(jù)會(huì)對(duì)軟件任務(wù)造成不可預(yù)見(jiàn)的影響;第二是檢測(cè)出錯(cuò)后能夠告知地面足夠的信息,以便進(jìn)行內(nèi)存地址替換等措施.目前,大多數(shù)星載計(jì)算機(jī)在檢測(cè)到內(nèi)存錯(cuò)誤后即直接復(fù)位,地面無(wú)法判斷是內(nèi)存錯(cuò)誤所致還是系統(tǒng)的其他異常所致,無(wú)法準(zhǔn)確定位錯(cuò)誤.為解決這一問(wèn)題,本文在檢測(cè)到內(nèi)存錯(cuò)誤后,一方面給出遙測(cè)數(shù)據(jù),另一方面隔離出錯(cuò)的內(nèi)存塊.

      初始加電后,EVTROS進(jìn)行內(nèi)存檢查:遍歷所有內(nèi)存空間,寫入固定值序列后并讀取,判斷寫入數(shù)據(jù)的正確性,如果內(nèi)存數(shù)據(jù)讀寫均正確則正常加載到內(nèi)存中運(yùn)行,如果不正確則進(jìn)行內(nèi)存出錯(cuò)處理.航天用1553B總線通信的設(shè)備分為BC(bus controller)端和RT(remote terminal)端.如果是RT端,則進(jìn)行1553B總線寄存器初始化后,向總線遙測(cè)子地址寫入表明內(nèi)存區(qū)有錯(cuò)誤的事件碼和內(nèi)存出錯(cuò)地址,等待中央計(jì)算機(jī)(BC端)采集并且下行.如果是BC端,則向硬件遙測(cè)地址寫入錯(cuò)誤事件碼并下行.這樣,地面能夠獲取系統(tǒng)檢測(cè)到內(nèi)存錯(cuò)誤的信息,并執(zhí)行下一步操作.

      EVTROS設(shè)計(jì)了冗余內(nèi)存塊自動(dòng)替換的策略.在內(nèi)存塊檢測(cè)的過(guò)程中,如果發(fā)現(xiàn)某一內(nèi)存塊錯(cuò)誤,則記錄發(fā)生錯(cuò)誤的內(nèi)存塊;最終如果只有一個(gè)內(nèi)存塊有錯(cuò)誤,則使用最后一個(gè)內(nèi)存塊替換出錯(cuò)的內(nèi)存塊,隔離出錯(cuò)的內(nèi)存區(qū),系統(tǒng)繼續(xù)正常運(yùn)行,如果多于一個(gè)內(nèi)存塊有錯(cuò)誤,則設(shè)置內(nèi)存錯(cuò)誤遙測(cè)狀態(tài)后下行,并設(shè)置狗咬復(fù)位.

      3.2 異常處理與故障日志記錄

      異常[1]是指處理器由于某些指令自動(dòng)產(chǎn)生的異常事件,如非法指令、除零等.當(dāng)異常事件發(fā)生時(shí),CPU能夠捕獲異常并轉(zhuǎn)入異常處理代碼執(zhí)行.以TSC695F和BM3803處理器為例,EVTROS能夠管理所有256級(jí)Trap,除15個(gè)中斷和少數(shù)Trap(包括下溢、上溢、軟指令關(guān)閉Trap)需要特殊處理外,其他異常均采用統(tǒng)一的方式進(jìn)行處理.

      根據(jù)可靠性策略和措施相分離的設(shè)計(jì)原則,本文針對(duì)這些異常處理分兩個(gè)層次:內(nèi)核層異常處理和用戶層異常處理,將用戶層異常處理掛接在內(nèi)核層異常處理的末端.內(nèi)核層的異常處理是“后臺(tái)”程序,對(duì)發(fā)生異常時(shí)的系統(tǒng)狀態(tài)進(jìn)行保存和恢復(fù).當(dāng)異常發(fā)生時(shí),首先保存異常發(fā)生時(shí)的CPU寄存器狀態(tài)到內(nèi)存中,然后轉(zhuǎn)向執(zhí)行用戶層異常處理程序,執(zhí)行完畢后再次轉(zhuǎn)向“后臺(tái)”程序,在異常退出前從內(nèi)存中恢復(fù)CPU寄存器狀態(tài).

      用戶層的異常處理是用戶軟件操作導(dǎo)致異常時(shí)具體處理的過(guò)程,是用戶可配置和修改的.內(nèi)核層的異常處理是對(duì)發(fā)生異常時(shí)的處理器上下文信息進(jìn)行保存和恢復(fù)的過(guò)程,對(duì)用戶不可見(jiàn).用戶層的異常處理分兩步進(jìn)行.第一,以故障日志記錄的形式保存異常信息,首先讀取出錯(cuò)時(shí)CPU寄存器的值,生成一個(gè)異常記錄結(jié)構(gòu)(包括異常計(jì)數(shù)、異常源、異常類型、錯(cuò)誤地址、PC寄存器值、處理器狀態(tài)寄存器值、發(fā)生錯(cuò)誤的任務(wù)ID),并且將這些信息保存到特定的存儲(chǔ)區(qū)域.第二,保存完異常信息后,根據(jù)異常類型分別進(jìn)行處理:如果是無(wú)法恢復(fù)的異常,包括除零錯(cuò)、非法指令、內(nèi)存不對(duì)齊錯(cuò)誤、數(shù)據(jù)訪問(wèn)錯(cuò)誤,則設(shè)置復(fù)位;若為其它異常,則清除CPU寄存器錯(cuò)誤狀態(tài)后繼續(xù)執(zhí)行.星載應(yīng)用軟件讀取故障日志記錄并下傳地面,以進(jìn)行異常定位.

      不同的處理器或者系統(tǒng)可以有不同的異常處理方式,應(yīng)用程序可以對(duì)用戶層的異常處理方式進(jìn)行配置和更改,這樣不僅可以實(shí)現(xiàn)內(nèi)核層異常處理的通用化,而且適應(yīng)了不同系統(tǒng)對(duì)異常處理的多變性需求,實(shí)現(xiàn)了可靠性策略和措施相分離的原則.

      3.3 空間輻照下的單粒子翻轉(zhuǎn)處理

      單粒子效應(yīng)是十分重要的空間環(huán)境效應(yīng)之一,其影響也越來(lái)越嚴(yán)重,經(jīng)常造成系統(tǒng)出錯(cuò)或損壞,導(dǎo)致航天器系統(tǒng)失控,其中,單粒子翻轉(zhuǎn)(single event upset,SEU)是較為常見(jiàn)而又十分重要的一種單粒子效應(yīng)[9].EVTROS對(duì)內(nèi)存可能發(fā)生的單粒子翻轉(zhuǎn)進(jìn)行了防護(hù),通過(guò)軟件容錯(cuò)方式減少單粒子翻轉(zhuǎn)對(duì)星載計(jì)算機(jī)系統(tǒng)的影響.通過(guò)設(shè)置 CPU寄存器將RAM錯(cuò)誤檢測(cè)與糾正[10](error detection and correction,EDAC)防護(hù)功能打開(kāi),軟件就能響應(yīng)單粒子翻轉(zhuǎn)事件.

      用戶異常處理模塊實(shí)現(xiàn)單粒子翻轉(zhuǎn)處理程序,一旦發(fā)生單粒子翻轉(zhuǎn),該程序記錄單比特錯(cuò)計(jì)數(shù),并且分別讀取和回寫發(fā)生單粒子翻轉(zhuǎn)的內(nèi)存中的數(shù)據(jù),從而糾正內(nèi)存中的錯(cuò)誤數(shù)據(jù).

      4 實(shí)驗(yàn)驗(yàn)證

      軟件測(cè)試是保證RTOS可靠性的重要手段.EVTROS操作系統(tǒng)經(jīng)歷了多個(gè)測(cè)試階段,一方面通過(guò)制定場(chǎng)景進(jìn)行專項(xiàng)測(cè)試.另一方面,通過(guò)航天應(yīng)用和在軌長(zhǎng)期飛行進(jìn)行測(cè)試,驗(yàn)證其正確性,例如某航天器中心計(jì)算機(jī)上的應(yīng)用軟件有十多個(gè)不同優(yōu)先級(jí)的任務(wù)和數(shù)十個(gè)不同優(yōu)先級(jí)的中斷,不僅任務(wù)執(zhí)行過(guò)程復(fù)雜,而且中斷的發(fā)生具有隨機(jī)性.經(jīng)過(guò)多次飛行任務(wù)和連續(xù)四年不斷電在軌飛行,實(shí)測(cè)數(shù)據(jù)表明EVTROS操作系統(tǒng)運(yùn)行安全可靠.

      本文對(duì)EVTROS的實(shí)時(shí)性和可靠性進(jìn)行了測(cè)試驗(yàn)證.實(shí)時(shí)性是RTOS最重要的技術(shù)指標(biāo),任務(wù)切換時(shí)間和中斷響應(yīng)時(shí)間是影響RTOS實(shí)時(shí)性的重要性能指標(biāo),在航天任務(wù)中尤為突出.任務(wù)切換時(shí)間是從當(dāng)前任務(wù)運(yùn)行的最后一條指令放棄CPU,到下一個(gè)就緒任務(wù)的首條指令開(kāi)始執(zhí)行的時(shí)間,中斷響應(yīng)時(shí)間是從中斷發(fā)生到開(kāi)始執(zhí)行用戶中斷服務(wù)程序的第一條指令之間的時(shí)間.本文對(duì)這兩個(gè)性能指標(biāo)進(jìn)行了100次測(cè)試,統(tǒng)計(jì)了EVTROS的平均時(shí)間,運(yùn)行環(huán)境為國(guó)產(chǎn)BM3803處理器(主頻20MHZ),任務(wù)數(shù)20個(gè),并與VXWORKS和RTEMS實(shí)時(shí)操作系統(tǒng)的性能進(jìn)行了比較,如表1所示.

      表1 性能指標(biāo)測(cè)試結(jié)果Tab.1 Testing results of the performance

      多任務(wù)切換和外部中斷響應(yīng)是RTOS運(yùn)行過(guò)程中頻繁發(fā)生的事件.表1的測(cè)試結(jié)果表明EVTROS相對(duì)于VXWORKS和RTEMS,具有更好的實(shí)時(shí)性.

      本文對(duì)EVTROS的可靠性設(shè)計(jì)進(jìn)行了測(cè)試,測(cè)試過(guò)程和方法如表2所示,結(jié)果表明軟件能夠正確處理系統(tǒng)發(fā)生的異常,滿足可靠性設(shè)計(jì)要求.

      表2 可靠性設(shè)計(jì)測(cè)試方法和結(jié)果Tab.2 Testing methods and results of the reliability design

      5 結(jié)束語(yǔ)

      本文設(shè)計(jì)的一種面向航天的可靠實(shí)時(shí)操作系統(tǒng),具有實(shí)時(shí)性高、異??煽刻幚淼奶攸c(diǎn),多次成功應(yīng)用于中國(guó)航天器的中心計(jì)算機(jī)中,已連續(xù)無(wú)故障運(yùn)行四年,其功能性能和可靠性得到了有效的驗(yàn)證,可以推廣到其他航天器中使用.

      [1] 程勝,蔡銘.航天高可靠嵌入式實(shí)時(shí)操作系統(tǒng)原理與技術(shù)[M].北京:中國(guó)宇航出版社,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)核的星載實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)與實(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處理器的即插即用星載計(jì)算機(jī)系統(tǒng)設(shè)計(jì)[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] 黃建國(guó),韓建偉,林云龍,等.一種SEU實(shí)驗(yàn)數(shù)據(jù)的處理方法[J].空間科學(xué)學(xué)報(bào),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 文章編號(hào):1674-1579(2016)05-0047-06

      10.3969/j.issn.1674-1579.2016.05.009

      詹盼盼(1987—),男,工程師,研究方向?yàn)榭臻g數(shù)據(jù)系統(tǒng)設(shè)計(jì);郭 堅(jiān)(1977—),男,研究員,研究方向?yàn)榭臻g數(shù)據(jù)系統(tǒng)設(shè)計(jì);何熊文(1982—),男,高級(jí)工程師,研究方向?yàn)榭臻g數(shù)據(jù)系統(tǒng)設(shè)計(jì);張紅軍(1980—),男,高級(jí)工程師,研究方向?yàn)榭臻g數(shù)據(jù)系統(tǒng)設(shè)計(jì).

      *空間信息網(wǎng)絡(luò)業(yè)務(wù)特征與流量分析理論研究(91438102)資助項(xiàng)目。

      2016-07-05

      猜你喜歡
      實(shí)時(shí)性內(nèi)核內(nèi)存
      萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
      強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      基于規(guī)則實(shí)時(shí)性的端云動(dòng)態(tài)分配方法研究
      “春夏秋冬”的內(nèi)存
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
      Linux內(nèi)核mmap保護(hù)機(jī)制研究
      基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實(shí)時(shí)性仿真
      航空電子AFDX與AVB傳輸實(shí)時(shí)性抗干擾對(duì)比
      一種車載Profibus總線系統(tǒng)的實(shí)時(shí)性分析
      基于內(nèi)存的地理信息訪問(wèn)技術(shù)
      天祝| 鸡东县| 永年县| 高雄市| 钟山县| 长汀县| 陵川县| 昌吉市| 靖江市| 柘荣县| 黔东| 镇康县| 巨鹿县| 广丰县| 兰坪| 格尔木市| 河北省| 三江| 博爱县| 黑山县| 永仁县| 巍山| 咸宁市| 商都县| 开鲁县| 阳泉市| 嘉峪关市| 临西县| 互助| 邛崃市| 富源县| 安康市| 田东县| 五大连池市| 鲁山县| 合水县| 安仁县| 新安县| 金乡县| 周口市| 高尔夫|