丁潔
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 陜西 咸陽(yáng) 712000)
隨著高新技術(shù)的發(fā)展,航空電子系統(tǒng)必將面臨更加嚴(yán)峻的挑戰(zhàn)。未來(lái)對(duì)航空電子系統(tǒng)功能的要求愈來(lái)愈多,未來(lái)的航空電子必須具有更多的功能、更好的適應(yīng)性、更高的可靠性和更強(qiáng)的生存能力。航空電子要達(dá)到這種要求,唯一的途徑就是系統(tǒng)綜合化技術(shù)的應(yīng)用,本文討論的重點(diǎn)就是航空電子系統(tǒng)的綜合化發(fā)展過(guò)程以及實(shí)現(xiàn)綜合化需重點(diǎn)關(guān)注的關(guān)鍵技術(shù)原理。
電子技術(shù)的快速發(fā)展為航空電子向低成本、低能耗、小型化以及綜合化發(fā)展提供了支撐平臺(tái)。綜合模塊化航空電子體系架構(gòu)(Integrated Modular Avionics,IMA)是繼聯(lián)合體系架構(gòu)后航空領(lǐng)域內(nèi)提出的新一代航空電子體系,它將傳統(tǒng)聯(lián)合體系的各子系統(tǒng)進(jìn)行綜合,并滿足確保各子系統(tǒng)之間相互獨(dú)立以及故障隔離的要求。要實(shí)現(xiàn)這樣的系統(tǒng)必然要求操作系統(tǒng)能夠支持各應(yīng)用子系統(tǒng)在時(shí)間和空間上的獨(dú)立,各子系統(tǒng)之間、子系統(tǒng)與內(nèi)核之間具有不同的權(quán)限管理能力,以及不同安全級(jí)別應(yīng)用系統(tǒng)的保護(hù)和故障分級(jí)與隔離。
傳統(tǒng)的實(shí)時(shí)操作系統(tǒng)調(diào)度的對(duì)象為任務(wù)或進(jìn)程,如圖1所示。開(kāi)發(fā)人員需要將應(yīng)用分為不同的任務(wù),操作系統(tǒng)根據(jù)自己的調(diào)度算法調(diào)度各任務(wù)。不同的操作系統(tǒng)一般會(huì)采用不同的調(diào)度策略。
圖1 傳統(tǒng)操作系統(tǒng)模型Fig.1 The traditional operating system model
圖2 強(qiáng)分區(qū)操作系統(tǒng)模型Fig.2 Strong partition operating system model
為了滿足綜合模塊化航空電子體系結(jié)構(gòu)的新要求,操作系統(tǒng)需要提供如圖2所示的調(diào)度模型。該模型的調(diào)度對(duì)象由分區(qū)和任務(wù)構(gòu)成,分區(qū)代表一個(gè)在空間和時(shí)間獨(dú)立的域,在該域?qū)C合模塊化航空電子架構(gòu)的一個(gè)應(yīng)用子系統(tǒng)[1]進(jìn)行調(diào)度和管理。一個(gè)分區(qū)內(nèi)由多個(gè)任務(wù)構(gòu)成,這些任務(wù)可以是周期任務(wù)、非周期任務(wù)或偶發(fā)任務(wù)。每個(gè)分區(qū)內(nèi)可以采用不同調(diào)度策略,甚至不同的操作系統(tǒng)內(nèi)核。
任務(wù)模型將任務(wù)的工作分為計(jì)算C和通信M兩部分,任務(wù)在計(jì)算完后輸出消息。 由此任務(wù) τi可以由四元組(Ci,Mi,Di,Ti)表示,其中Ci表示任務(wù)的最壞執(zhí)行時(shí)間(Worst Case Execute Time,WCET),Di表示任務(wù)的時(shí)限,Ti表示任務(wù)的周期,Mi表示任務(wù)發(fā)送的消息大小。
綜合模塊化操作系統(tǒng)分區(qū)間通信[2]采用端口(Port)的通信方式。每個(gè)端口要么位發(fā)送端口,要么位接收端口。綜合考慮分區(qū)通信與分區(qū)調(diào)度后,分區(qū)的通信會(huì)隨著分區(qū)調(diào)度帶來(lái)固有的分區(qū)延遲,如圖3所示。分區(qū)A有兩個(gè)任務(wù)t1和t2。分區(qū)B有兩個(gè)任務(wù)t3和t4。t1需要向t3發(fā)送數(shù)據(jù),t4需要向t2發(fā)送數(shù)據(jù)。
圖3 分區(qū)間通信模型Fig.3 Inter partition communication model
為了保證分區(qū)間數(shù)據(jù)通信的完整性和及時(shí)性,同時(shí)便于分區(qū)端到端延遲分析,本系統(tǒng)模型將分區(qū)間通信數(shù)據(jù)進(jìn)行歸一化處理。引入Periodic I/O模型[100]進(jìn)行消息通信,在圖4中,P1分區(qū)中有4個(gè)任務(wù)T1,T2,T3,T5,其最壞執(zhí)行時(shí)間和周期分別為(5,50),(8,100),(20,200)和(80,500),需要設(shè)定Periodic I/O任務(wù)的執(zhí)行周期為50。
分區(qū)是航空電子應(yīng)用中的一種功能劃分。每個(gè)分區(qū)都具有獨(dú)立的數(shù)據(jù)、上下文和運(yùn)行環(huán)境,分區(qū)的優(yōu)點(diǎn)包括:能夠防止錯(cuò)誤在分區(qū)間傳播,引起系統(tǒng)故障蔓延。能夠?qū)⒑娇諔?yīng)用軟件按照關(guān)鍵級(jí)別分解成不同的構(gòu)件,使系統(tǒng)的升級(jí)和維護(hù)更加容易,大大降低未來(lái)航電系統(tǒng)中軟件的開(kāi)發(fā)成本。分區(qū)間通信分區(qū)間通信是兩個(gè)或多個(gè)分區(qū)之間的通信,是由操作系統(tǒng)來(lái)實(shí)現(xiàn)的。
分區(qū)的調(diào)度保證各應(yīng)用分區(qū)在時(shí)間上完全獨(dú)立運(yùn)行,互不影響,一個(gè)分區(qū)內(nèi)出現(xiàn)任務(wù)錯(cuò)失時(shí)限或死鎖不會(huì)影響其它分區(qū)及其它分區(qū)內(nèi)任務(wù)的時(shí)間特性,保證系統(tǒng)在高系統(tǒng)利用率下的可調(diào)度性。從民機(jī)適航的角度,還需要支持分區(qū)的動(dòng)態(tài)加入和刪除。
FCOS中分區(qū)具有四種工作狀態(tài):空閑態(tài)(IDLE)、冷啟動(dòng)態(tài) (COLD_START)、 熱啟動(dòng)態(tài) (WARM_START) 和正常態(tài)(NORMAL)。任一時(shí)刻分區(qū)只能處于其中一種工作狀態(tài)。
·空閑態(tài)(IDLE):在這個(gè)狀態(tài)下,分區(qū)沒(méi)有初始化,分區(qū)在自己的時(shí)間窗口內(nèi)不執(zhí)行任何進(jìn)程,并且沒(méi)有資源消耗,但是分配給分區(qū)的時(shí)間窗口并沒(méi)有改變。
·正常態(tài)(NORMAL):在這個(gè)狀態(tài)下,分區(qū)內(nèi)的進(jìn)程調(diào)度是處于激活狀態(tài)的,分區(qū)內(nèi)所有的進(jìn)程都已經(jīng)創(chuàng)建完畢,并且那些處于就緒態(tài)的進(jìn)程可以立即得到運(yùn)行,系統(tǒng)處于一個(gè)可操作的狀態(tài)。冷啟動(dòng)態(tài)(COLD START):在這個(gè)狀態(tài)下,分區(qū)處于初始化階段,進(jìn)程調(diào)度是被禁止的,分區(qū)忙于執(zhí)行各自的初始化代碼。
·熱啟動(dòng)態(tài)(WARM START):在這個(gè)狀態(tài)下,分區(qū)同樣處于初始化階段,進(jìn)程調(diào)度是被禁止的,分區(qū)忙于執(zhí)行各自的初始化代碼。這個(gè)狀態(tài)類(lèi)似于冷啟動(dòng)態(tài),不同的是初始環(huán)境是不一樣的,例如不需要復(fù)制FLASH中的內(nèi)容到隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)中。
在分區(qū)內(nèi)的執(zhí)行體由一個(gè)或多個(gè)任務(wù)組成,每個(gè)任務(wù)隸屬于特定的分區(qū),分區(qū)內(nèi)的各任務(wù)之間并發(fā)執(zhí)行。任務(wù)管理主要負(fù)責(zé)分區(qū)內(nèi)任務(wù)的創(chuàng)建、調(diào)度和刪除等工作。
FCOS中任務(wù)分為按固定頻率執(zhí)行的周期任務(wù)和由事件觸發(fā)的非周期任務(wù)兩類(lèi),操作系統(tǒng)具備對(duì)這兩類(lèi)任務(wù)的調(diào)度能力?;菊{(diào)度算法采用優(yōu)先級(jí)搶占調(diào)度算法[4],周期任務(wù)與非周期任務(wù)主要體現(xiàn)在調(diào)度算法的調(diào)度時(shí)機(jī)上。目前,關(guān)于優(yōu)先級(jí)搶占調(diào)度的理論和實(shí)踐都比較成熟,在此不再論述。
分區(qū)內(nèi)任務(wù)調(diào)度相關(guān)數(shù)據(jù)結(jié)構(gòu):
typedef struct
{
/*分區(qū)中任務(wù)的優(yōu)先級(jí)位圖*/
Priority_Bit_map*priority;
/*域中任務(wù)的就緒鏈表*/
FCOS_TCB task_ready_table
[MAX_TASK_NUM];
}Partition_Task_schedule_control;
操作系統(tǒng)的評(píng)估除了前面提到的時(shí)間和空間分析外,還需要結(jié)合硬件平臺(tái)分析系統(tǒng)的終端相應(yīng)時(shí)間,任務(wù)切換時(shí)間,分區(qū)切換時(shí)間,任務(wù)搶占時(shí)間,信號(hào)量混洗時(shí)間,死鎖解除時(shí)間,消息傳遞時(shí)間。結(jié)合軟件測(cè)試評(píng)估操作系統(tǒng)的測(cè)試覆蓋率,魯棒性測(cè)試,壓力測(cè)試,故障監(jiān)控、隔離與恢復(fù)性測(cè)試[5]。結(jié)合應(yīng)用系統(tǒng)的系統(tǒng)可調(diào)度性分析,系統(tǒng)端到端延遲分析,原型系統(tǒng)評(píng)估等等。操作系統(tǒng)的評(píng)估Benchmark[6]主要有針對(duì)底層屬性的Rhealstone,Whetstone,任務(wù)屬性的Hartstone,以及針對(duì)應(yīng)用的Holleywell,PapaBench。
1)Rhealstone
Rhealstone方法對(duì)操作系統(tǒng)中6個(gè)關(guān)鍵操作的時(shí)間量進(jìn)行統(tǒng)計(jì)測(cè)量,并歸一化成Rhealstone指標(biāo)。主要參數(shù)有任務(wù)切換時(shí)間 (Task switch time), 任務(wù)搶占時(shí)間(Preemption time),中斷延遲時(shí)間 (Interrupt Latency),信號(hào)量混洗時(shí)間(Semaphore-shuffle time), 死 鎖 解 除 時(shí) 間 (Deadlock break time),任務(wù)間消息延遲(Intertask message latency)。
2)Whetstone
該方法用來(lái)測(cè)試計(jì)算機(jī)性能,主要用來(lái)評(píng)估浮點(diǎn)型應(yīng)用,如大部分執(zhí)行時(shí)間(約50%)進(jìn)行數(shù)學(xué)計(jì)算,且大部分變量為全局變量的應(yīng)用。
3)Dhrystone
該方法主要用來(lái)測(cè)試非數(shù)值性系統(tǒng)編程的性能影響(如操作系統(tǒng),編譯器、文字處理等等),該方法適用于沒(méi)有浮點(diǎn)操作,大量時(shí)間花費(fèi)在字符串操作,且大部分變量不是全局變量的應(yīng)用
4)Hartstone
該方法使用不同屬性的任務(wù)組來(lái)評(píng)估操作系統(tǒng)的性能。該方法由以下測(cè)試序列組成
*PH序列: 周期任務(wù),和諧頻率(頻率之間成倍關(guān)系)
*PN序列: 周期任務(wù),非和諧頻率
*AH序列:非周期任務(wù)
*SH序列:帶同步的周期任務(wù)
*SA序列:帶非周期處理和同步的周期任務(wù)
該項(xiàng)目由一個(gè)嵌入式機(jī)載系統(tǒng)和地面站構(gòu)成。機(jī)載系統(tǒng)由一個(gè)控制卡,一個(gè)GPS接收器,一個(gè)雙軸差分紅外傳感器,一個(gè)無(wú)線傳輸器和諸多伺服控制器組成。
控制卡[7]由雙處理器構(gòu)成,一個(gè)處理器MCU0負(fù)責(zé)導(dǎo)航功能,MCU1負(fù)責(zé)飛行控制功能。處理器之間使用SPI連接。
地面站由一個(gè)無(wú)線命令接收發(fā)送器和一個(gè)通用計(jì)算機(jī)組成。通用計(jì)算機(jī)記錄并且控制飛行參數(shù),飛行路線等。PowerPC存儲(chǔ)管理單元提供三種存儲(chǔ)管理機(jī)制,一種為Real模式,該模式類(lèi)似于X86體系中的Flat模式,不具備存儲(chǔ)權(quán)限和保護(hù)能力;一種為BAT模式,該模式利用處理器提供的8組IBAT指令和DBAT數(shù)據(jù)寄存器對(duì)存儲(chǔ)空間進(jìn)行管理;一種為段頁(yè)模式,該模式利用存儲(chǔ)于存儲(chǔ)器中的頁(yè)表進(jìn)行管理存儲(chǔ)空間。我們分別在BAT模式和段頁(yè)模式下,測(cè)試存儲(chǔ)空間10 000次讀寫(xiě)操作耗時(shí),可以看出在BAT模式下,平均花費(fèi)時(shí)間為102.7 μs,而在段頁(yè)模式下為 258.3 μs,相差兩倍以上。
近年來(lái),隨著硬件的快速發(fā)展,特別是處理器速度的快速提升,為通過(guò)綜合各傳統(tǒng)子系統(tǒng)而降低航空電子系統(tǒng)的成本,能耗,重量以及空間等等提供了可能。這種綜合的模塊化航空電子體系結(jié)構(gòu)要求將傳統(tǒng)的的子系統(tǒng)綜合到單一的硬件平臺(tái)中,并要求其基礎(chǔ)軟件平臺(tái)能夠提供各子系統(tǒng)在時(shí)間,空間上的隔離,保證各子系統(tǒng)能夠獨(dú)立的運(yùn)行,且可靠及時(shí)的通信。
[1]John regehr,Alastair Reid,Kirk webb.Eliminating stack overflow by abstract interpretation[J].ACM Transactions on Embedded Computing Systems (TECS),2005(4):751-778.
[2]Justin Littlefield-Lawwill,Ramanathan Viswanathan.Advancing Open Standards in Integrated Modular Avionics[J].An Industry Analysis.26th Digital Avionics Systems Conference (DASC),2007:214-225.
[3]HQ AFMC/ENPI.Air Force Open Systems Implementation Guide(DRAFT) [N].1997.
[4]Logan G T.Integrated Avionics:Past,Present and Future[J].Aerospace and Electronic Systems Magazine,2007(22):39-40.
[5]FAA Technical Standard Oder TSO-C153. Integrated Modular Avionics Hardware Elements[N].2002.
[6]Muhammad M.Latif,Ravi Ramaseshan,F(xiàn)rank Mueller.Soft Error Protection via Fault-Resilient Data Representations.In Proc.3rd IEEE Workshop on Silicon Errors[N].2009.
[7]Federal Aviation Adinistration.Guidance for Integrated ModularAvionics (IMA) ThatImplementTSO-C153 Authorized Hardware Elements.FAA Advisory Circular AC 20-145[N].2003.