仝敏
摘 要:ARINC653標準是為了滿足綜合模塊化航電系統(IMA)對實時操作系統的需求而提出的分區化的操作系統接口標準,其中Part4標準是對ARINC653 Part1標準的精簡。本文在研究了ARINC653 Part1標準的基礎上,詳細研究了ARINC653 Part4標準,該標準提供了精簡的分區通信模型(非阻塞)、刪除了分區內通信機制等,消除了系統運行過程中可能導致任務截止期無法滿足,提高了系統的確定性,分區嚴格的按照時間表順行執行,系統的實時性也能夠保證。
關鍵詞:ARINC653 Part4;ARINC653 Part1
中圖分類號:TP311 文獻標識碼:A
1 ARINC653 Part4標準簡介
ARINC653標準是為了滿足綜合模塊化航電系統(IMA)對實時操作系統的需求而提出的分區化的操作系統接口標準。它定義了一組位于航空計算機資源上的核心軟件和應用軟件之間的通用接口服務(簡稱APEX接口),以及應用軟件通過這些服務控制進程調度、通信以及內部處理的狀態信息。
ARINC653 Part4[1]標準是ARINC653 Part1[2]標準的子集,該標準基于一個更加簡單的應用執行模型,為應用只提供最多兩個進程(一個周期進程一個非周期進程)編程模型以及基于雙進程模型的一些精簡服務集,ARINC653 Part4標準本質上是對ARINC653 Part1標準加以簡化的限制,其主要目的是在操作系統層和應用軟件層之間定義一個通用的精簡的APEX(應用軟件/執行)接口。
ARINC653 Part4標準的主要目的是形成一個滿足特定功能應用需求的標準,這些應用主要是指一些輕量化、復雜度較低的應用,將不同的應用集成在一個或者多個不同的精簡分區中,由一個統一內核完成資源管理。
2 國外基于ARINC653 Part4標準的操作系統產品
在國內外,目前已知明確滿足ARINC653 Part4標準的操作系統是國外DDC-I公司的DEOSTM操作系統。DEOSTM是一款支持時空隔離分區的實時操作系統,具有硬實時響應能力及高安全性,并于1998年通過DO-178 A級認證。在此基礎之上,DEOSTM先后發布了對ARINC653 Part1標準接口以及ARINC653 Part4標準接口支持的版本DEOS 653,以滿足航空電子應用軟件標準化的需求,針對不同類型、不同復雜度的航電應用需求,用戶可采用不同的單一標準接口配置或者不同標準接口的混合配置。同時,為了適應航空領域中輕量、復雜度低的應用的開發需求(如大多數的LRU設備軟件),DEOS又發布了僅支持ARINC653 Part4標準接口的DEOS ARINC653 P4 solo操作系統,從而形成了一條支持不同應用場景、不同軟件復雜度的產品鏈。
3 ARINC653 Part4和Part1標準的對比設計約束
ARINC653 Part4接口和設計約束從功能單元到接口描述了基于ARINC653 Part 1標準的操作系統通過修改形成符合Part 4標準的操作系統的修改點,主要工作在于對Part1標準的精簡。Part4和Part1的約束對比具體描述如下。
3.1 分區管理
分區調度限制一個分區只能配置一個分區的時間窗口,可簡化周期進程釋放點管理以及截止期(deadline)監控。
對分區操作模式來說,鎖搶占總是被禁止,操作系統不再使用分區LOCK_LEVEL,該值設置為0。
3.2 進程管理
進程管理限制為雙進程模型,即一個分區最多由兩個進程組成:一個周期進程和一個非周期進程。周期進程的優先級比非周期進程高,非周期進程作為后臺進程,而且它不能被停止。周期進程和非周期進程不能并行操作,即當周期進程完成自己的任務后,非周期進程才能被調度執行,直到周期進程在下一個周期又重新被釋放。
雙進程比單進程更靈活,也就是說,可支持更多應用。
周期進程比非周期進程有更高的優先級,這樣調度比較簡單和確定(沒有就緒隊列管理、沒有優先級管理)。
在ARINC653 Part4的操作系統忽略以下進程屬性:
a.基本優先級;
b.周期:周期作為標志來識別進程的類型,即無限大的值意味著非周期進程,而其他值意味著周期進程。對于周期進程來說,真實的進程周期總是分區周期,不管指定的其他非無限大的值。
c.時間:對于周期進程來說,有效的時間就是分區周期;對于非周期進程來說,有效的時間是無限的。
d.截止期。
3.3 時間管理
周期進程的時間和分區周期相等,即如果周期進程在釋放點上在處于運行狀態,則截止期(deadline)未滿足;非周期進程的時間是無限的,即沒有截止期(deadline)監控。
3.4 分區內通信
為了簡化進程管理,不支持ARINC653 Part1的分區內通信服務。
3.5 分區間通信
為了刪除等待隊列和簡化進程管理,分區間通信限制只能使用非阻塞操作模式,隊列端口的排隊規則屬性被忽略。
在隊列模式的發送方向,如果隊列為滿或者包含的空間不能存儲整個消息,則發送請求被取消,而不用讓分區的請求進程進入Waiting狀態;在隊列模式的接收方向:如果消息隊列為空,則接收請求被取消,而不用讓分區的請求進程進入Waiting狀態。
3.6 健康監控
ARINC653 Part4標準不支持進程的錯誤處理程序,錯誤等級限制到分區或者模塊。
4 小結
ARINC653 Part4標準是對ARINC653 Part1標準的精簡,相比Part1標準,Part4標準固化了許多分區、任務的屬性,減少了配置的靈活性,但正是由于Part4標準對屬性的固定,提供了精簡的分區通信模型(非阻塞)、刪除了分區內通信機制等,消除了系統運行過程中可能導致任務截止期無法滿足,提高了系統的確定性,分區嚴格的按照時間表順行執行,系統的實時性也能夠保證。這與飛控應用的嚴格執行時序邏輯、高確定性的核心需求是一致的。
參考文獻:
[1]Airlines Electronic Engineering Committee.Avionics Application Software Standard Interface Part 4 – Subset Services[S].16701 Melford Blvd.,Suite 120,Bowie,Maryland 20715 USA:Aeronautical Radio,Inc,June 1,2012.
[2]Airlines Electronic Engineering Committee.Avionics Application Software Standard Interface Part 1 – Required Services[S].16701 Melford Blvd.,Suite 120,Bowie,Maryland 20715 USA:Aeronautical Radio,Inc,August 21,2015.