摘 要:為彌補ARINC653調(diào)度機(jī)制存在的處理器時間資源浪費及為復(fù)雜IMA系統(tǒng)設(shè)計時間調(diào)度表時難度較大的不足,以ARINC653規(guī)范中定義的時間調(diào)度表分區(qū)調(diào)度機(jī)制為研究基礎(chǔ),對ARINC653規(guī)范中定義的時間調(diào)度表分區(qū)調(diào)度機(jī)制進(jìn)行改進(jìn),以適應(yīng)復(fù)雜綜合模塊化航空電子系統(tǒng)的要求,在不違反ARINC653規(guī)范的前提下,兼顧安全性原則,提出了基于時間調(diào)度表的優(yōu)先級輔助分區(qū)調(diào)度機(jī)制,允許多個分區(qū)以優(yōu)先級的方式搶占調(diào)度表中的空閑時間,提高了分區(qū)調(diào)度的靈活性,降低了設(shè)計分區(qū)調(diào)度時的難度。
關(guān)鍵詞:綜合模塊化航空電子系統(tǒng);ARINC653;時間分區(qū)
中圖分類號:TP311.52
系統(tǒng)經(jīng)過近幾年的迅猛發(fā)展,如今在國內(nèi)外已經(jīng)處于如日中天的狀態(tài)。各大航空電子設(shè)備制造商越來越多的在新項目中采用IMA系統(tǒng)。IMA系統(tǒng)的大規(guī)模使用,為航空電子設(shè)備制造商及用戶均帶來了益處,這也促IMA技術(shù)更加迅猛的發(fā)展。
中定義的空間分區(qū)、時間分區(qū)及其調(diào)度技術(shù),是IMA系統(tǒng)中的一項重要技術(shù),為綜合化以后的航空電子系統(tǒng)的安全性、可靠性提供了技術(shù)保障。ARINC653規(guī)范中定義的分區(qū)調(diào)度技術(shù)雖然保證了分區(qū)調(diào)度時間的確定性,但在實際工程應(yīng)用中又顯得不夠靈活,本文從機(jī)載嵌入式實時操作系統(tǒng)的角度出發(fā),在不違反ARINC653規(guī)范定義的時間調(diào)度表分區(qū)調(diào)度機(jī)制(Timetable Partition Schedule,TPS)的前提下,研究了一種基于時間調(diào)度表的優(yōu)先級輔助分區(qū)調(diào)度機(jī)制(Timetable Based Assistant Priority-preemptive Partition Schedule,TAPPS)。
1 AINRC653及及其系統(tǒng)結(jié)構(gòu)
ARINC653中定義的系統(tǒng)軟件結(jié)構(gòu)如所示,ARINC653中不但定義了綜合化航空電子操作系統(tǒng)的需求,在其中提出了PARTITION的概念對應(yīng)用程序之間進(jìn)行。系統(tǒng)由以下幾部分組成:分區(qū)、操作系統(tǒng)、硬件接口系統(tǒng)。
分區(qū)是對應(yīng)用程序進(jìn)行的抽象,是一組具有特定功能的應(yīng)用的組合。在符合ARINC653標(biāo)準(zhǔn)的分區(qū)中只能調(diào)用APEX接口服務(wù)。
操作系統(tǒng)為用戶分區(qū)提供底層支持,包括分區(qū)管理、健康管理以及分區(qū)間通信管理。
硬件接口系統(tǒng)主要為操作系統(tǒng)和應(yīng)用提供硬件支持。該部分主要功能有存儲管理、設(shè)備驅(qū)動、上下文切換、中斷處理、機(jī)內(nèi)自檢則(BIT)。
另外,ARINC653還對操作系統(tǒng)和航空電字應(yīng)用程序之間通用的標(biāo)準(zhǔn)接口——APEX(Application/Executive)接口進(jìn)行了定義,使應(yīng)用軟件接口標(biāo)準(zhǔn)化。
2 TPS調(diào)度算法及不足
ARINC653定義了時間分區(qū)的概念,系統(tǒng)中必須至少定義一個時間調(diào)度表,時間調(diào)度表定義了系統(tǒng)中分區(qū)的執(zhí)行順序、頻率以及每次執(zhí)行的持續(xù)時間。操作系統(tǒng)嚴(yán)格按照時間調(diào)度表的順序循環(huán)調(diào)度分區(qū),時間調(diào)度表的一次循環(huán)稱為一個主時間框架,基于時間調(diào)度表的分區(qū)調(diào)度如圖2所示。
但是這種嚴(yán)格確定的調(diào)度機(jī)制也帶來了兩方面的不足:
一方面,由于在為分區(qū)分配時間窗口時,通常需要考慮該分區(qū)內(nèi)的應(yīng)用軟件在最壞情況下的執(zhí)行時間,并增加適當(dāng)?shù)臅r間余量,因此當(dāng)系統(tǒng)運行時,調(diào)度表中的時間窗口可能會存在大量的空閑時間,但ARINC653標(biāo)準(zhǔn)又不允許一個分區(qū)時間窗口的空閑時間被其他分區(qū)占用,也不允許一個分區(qū)占用其他分區(qū)時間窗口的空閑時間或者空閑窗口的時間,因此導(dǎo)致了處理器時間的浪費。
另一方面,若應(yīng)用軟件中包括FTP服務(wù)器等此類服務(wù)器應(yīng)用,為避免客戶端在請求服務(wù)時等待時間過長,通常需要在時間調(diào)度表中為服務(wù)器類應(yīng)用分區(qū)分配更多的時間窗口,以增加該分區(qū)的調(diào)度頻率。這就帶來了為復(fù)雜IMA系統(tǒng)設(shè)計時間調(diào)度表時難度的提高。
3 基于時間調(diào)度表的優(yōu)先級輔助分區(qū)調(diào)度
3.1 調(diào)度原則
3.1.1 基本原則
TAPPS調(diào)度機(jī)制的調(diào)度原則:
(1)時間調(diào)度表中的空閑時間(包括空閑時間窗口以及分區(qū)窗口中的空閑時間)允許其他分區(qū)搶占;
(2)多個分區(qū)搶占時間調(diào)度表中的空閑時間時采用優(yōu)先級排隊策略。
3.1.2 安全性原則
為了不違反ARINC653規(guī)范定義的時間調(diào)度表分區(qū)調(diào)度機(jī)制,TAPPS調(diào)度機(jī)制需能夠?qū)?yōu)先級輔助分區(qū)調(diào)度機(jī)制進(jìn)行限制,避免因此帶來的和不確定性影響。
(1)分區(qū)有權(quán)限決定其時間窗口的空閑時間是否允許其他分區(qū)搶占;
(2)分區(qū)有權(quán)限決定其是否參與搶占時間調(diào)度表中的空閑時間。
3.2 調(diào)度機(jī)制
TAPPS調(diào)度機(jī)制以TPS調(diào)度機(jī)制為基礎(chǔ),系統(tǒng)首先對各分區(qū)進(jìn)行TPS調(diào)度,當(dāng)TPS調(diào)度中的時間調(diào)度表時間窗口存在空閑時間且允許其他分區(qū)搶占時,則在空閑時間間隔內(nèi)對參與空閑時間優(yōu)先級搶占的各分區(qū)進(jìn)行優(yōu)先級搶占調(diào)度(Priority-preemptive Partition Schedule,PPS),若TPS調(diào)度中的時間調(diào)度表時間窗口不存在空閑時間,或者沒有分區(qū)參與空閑時間優(yōu)先級搶占,則系統(tǒng)依然嚴(yán)格執(zhí)行TPS調(diào)度。
3.2.1 保證系統(tǒng)安全性對TAPPS的限制
TAPPS通過配置的方式對PPS機(jī)制進(jìn)行限制。首先系統(tǒng)允許每個分區(qū)對其窗口空閑時間是否允許其他分區(qū)搶占進(jìn)行配置,當(dāng)某分區(qū)不允許其窗口空閑時間被其他分區(qū)搶占時,則該分區(qū)窗口空閑時間仍然被其自身占用。其次,系統(tǒng)允許每個分區(qū)對其是否參與搶占時間調(diào)度表中的空閑時間進(jìn)行配置,當(dāng)某分區(qū)不允許參與搶占時間調(diào)度表中的空閑時間時,其依然被嚴(yán)格按照時間調(diào)度表進(jìn)行調(diào)度。
3.2.2 系統(tǒng)開銷對TAPPS的限制
為了解決時間窗口空閑時間不足而導(dǎo)致的系統(tǒng)開銷增大問題,TAPPS調(diào)度機(jī)制還提供了調(diào)度機(jī)制激活的門限控制機(jī)制。假設(shè)分區(qū)P1在時間調(diào)度表中某一時間窗口W的某次空閑開始時間為Ts,預(yù)期結(jié)束時間為Te,則此次空閑的預(yù)期持續(xù)時間T=Te-Ts,考慮到系統(tǒng)的分區(qū)切換存在時間開銷t,當(dāng)T 3.2.3 PPS未激活的TAPPS機(jī)制 當(dāng)PPS未激活時,TAPPS機(jī)制仍然執(zhí)行時間調(diào)度表調(diào)度,如圖3,此情況下TAPPS與TPS相同。 PPS未激活的情形列舉如下: (1)時間窗口空閑時間小于系統(tǒng)設(shè)置的PPS激活門限; (2)空閑時間窗口對應(yīng)的分區(qū)不允許其他分區(qū)搶占其空閑時間; (3)系統(tǒng)中沒有配置使能了PPS調(diào)度的分區(qū)。 3.2.4 PPS激活的TAPPS機(jī)制 圖4描述了PPS激活的TAPPS機(jī)制,在PPS調(diào)度過程中,其他分區(qū)以優(yōu)先級搶占的方式搶占用分區(qū)P1的空閑時間窗口執(zhí)行。 3.2.5 PPS激活時分區(qū)對系統(tǒng)緊急事件的處理 在IMA系統(tǒng)中,允許分區(qū)對系統(tǒng)緊急事件進(jìn)行即時響應(yīng)。 當(dāng)系統(tǒng)實行TPS調(diào)度時,分區(qū)P1只在其時間窗口中響應(yīng)核心操作系統(tǒng)發(fā)送給該分區(qū)的緊急事件。 當(dāng)系統(tǒng)實行TAPPS調(diào)度時,在分區(qū)P1時間窗口的空閑時間內(nèi),假如系統(tǒng)激活PPS調(diào)度分區(qū)P2運行,如果此時核心操作系統(tǒng)向分區(qū)P1發(fā)送緊急時間,則系統(tǒng)恢復(fù)TPS調(diào)度,分區(qū)P1恢復(fù)運行。圖5描述了PPS激活時分區(qū)對緊急時間的處理機(jī)制。 4 結(jié)束語 本文研究了ARINC653的分區(qū)調(diào)度機(jī)制,在其基礎(chǔ)上提出了IMA系統(tǒng)中基于時間調(diào)度表的優(yōu)先級輔助分區(qū)調(diào)度機(jī)制(TAPPS),在不違反ARINC653規(guī)范的所定義的系統(tǒng)安全性及確定性要求的前提下,彌補了TPS機(jī)制存在的處理器時間資源浪費及為復(fù)雜IMA系統(tǒng)設(shè)計時間調(diào)度表時難度較大的不足。該機(jī)制已在自主知識產(chǎn)權(quán)的機(jī)載嵌入式實時操作系統(tǒng)中實現(xiàn)。 參考文獻(xiàn): [1]褚文奎,張鳳鳴,樊曉光.綜合模塊化航空電子系統(tǒng)軟件體系結(jié)構(gòu)綜述[J].航空學(xué)報,2009(10):1912-1916. [2]Avionics Application Software Standard Interface,PART1 Required Service[S].USA.Aeronautical Radio,Inc,2006. [3]Avionics Application Software Standard Interface,PART2 Extended Service[S].USA.Aeronautical Radio,Inc,2007. [4]王麗杰,熊光澤,羅蕾.嵌入式RTOS安全保護(hù)機(jī)制的研究與實現(xiàn)[J].電子科技大學(xué)學(xué)報,2005(05):650-653. [5]何鋒,熊華鋼,宋麗茹.航空電子分區(qū)調(diào)度研究[J].系統(tǒng)仿真學(xué)報,2008(20):522-525. [6]湯小明,張新國.基于分區(qū)的安全關(guān)鍵軟件體系及其時間分析研究[J].系統(tǒng)仿真學(xué)報,2013(07):1704-1709. 作者簡介:陳曉磊(1981-),男,陜西西安人,工程師,學(xué)士學(xué)位,研究方向:“機(jī)載嵌入式操作系統(tǒng)。 作者單位:中國航空計算技術(shù)研究所,西安 710065