天脈2(ACoreOS653)操作系統學習01


天脈2(ACoreOS653)操作系統學習01

由於我的畢業設計涉及相關嵌入式操作系統,故最近學了學天脈2操作系統。

一、ARINC653標准

1.ARINC653標准是什么?

ARINC 653 : ARINC公司的600系列標准的一部分,全名“ Avionics Application Software Standard Interface”。是為滿足綜合模塊化航電系統(IMA)要求,基於計算機資源時空分區的編程接口標准。

發展:在傳統的嵌入式實時操作系統中,內核和應用都運行在同一特權級,應用程序可以無限制的訪問整個系統地址空間。因此在某些情況下,應用的潛在危險動作會影響其他應用和內核的正常運行,甚至導致系統崩潰或者誤操作。為了滿足航空電子對高可靠性、高可用性以及高服務性的要求, 1997年1月ARINC發布了ARINC653(航空電子應用軟件標准接口),並於2003年7月發布ARINC653 Supplement 1,對區間管理、區間通信及健康監測部分進行了補充說明,用以規范航空電子設備和系統的開發。 分區(Partitioning)是ARINC653中一個核心概念。

目的:解決由於綜合化、模塊化帶來的故障隔離問題。

定義:航電計算機操作系統與應用的通用接口;

作用:標准服務接口,包括:控制調度、通信和獲得內部處理單元的信息等;

目標:應用軟件可獨立開發,運行在同一硬件平台上。

特征:采用ARINC653標准的操作系統設計原理將傳統操作系統分為兩級,一個是CoreOS,任務是區間化以及區間的管理和調度,CoreOS的上層就是POS,即分區操作系統,在POS的上層才是應用程序的執行。

2.ARINC653體系結構

 

 

從用戶角度觀察的協議層次划分:

核心模塊(core module):一個至少包含了處理器資源和存儲器資源的模塊。該模塊支持對其內存空間、處理時間和I/O等資源進行限制和隔離,以分成多個時間和空間上相互隔離的子系統。

核心操作系統(core O/S):管理核心模塊、分區、APEX接口的操作系統。

分區(partition):包括代碼和數據的程序,它可以被裝載到核心模塊中的一個獨立的地址空間(核心模塊的子系統)。運行在核心模塊上一個分區由一個或多個並發執行的進程組成,分區內所有進程共享分區所占有的子系統資源。

端口(port):分區定義的資源,用於在指定的通道上發送或接收消息。端口的屬性規定了它對消息傳輸的控制以及所傳輸消息的特性。

通道(channel):分區通信的一個途徑,它由一組邏輯上相互連接的端口組成。

APEX服務(service):APEX<APplication EXecutive>定義的每個系統調用功能稱為一個“服務”,標准的服務描述中只確定數據類型名稱、服務名稱、參數名稱和參數的順序,而忽略過程的實現。

3.ARINC653標准

分為4個部分:

  • PART 1-Required Services:基本服務(重點)

  • PART 2-Extended Services:擴展服務

  • PART 3-Confirmity Test Specification:符合性測試規范

  • PART 4-Subset Services:受限制的服務子集。

PART 1提供的標准服務接口:

  • 分區管理:對運行在核心模塊上的多個應用軟件按功能可划分為多個分區,一個分區由一個或多個並發執行的進程組成,分區內所有進程共享分區所占有的系統資源。操作系統對分區所占用的處理時間、內存和其它資源擁有控制權,從而使得核心模塊中各分區相互獨立。

    分區管理保證了同時運行的多個不同類型的應用軟件集合在時間上和空間上互不影響。

  • 進程管理:每個分區由一個或多個進程組成,進程管理主要負責分區內進程的創建、調度和刪除等工作。進程分為按固定頻率執行的周期進程和由事件觸發的非周期進程兩類。

  • 時間管理:核心模塊內分區的時間管理中的時間是唯一的,所有進程、分區、通信的時間值或者時間性能都與這個唯一的時間有關,與分區的執行與否無關。進程啟動時,它的截止時間被置為當前時間加上時間量。操作系統時間管理為分區調度提供時間片、持續時間、周期;為進程調度提供時間量;為分區間和分區內通信提供超時、刷新率。

    在分區窗口之外發生的超時(延時或截止時間),在下一個分區窗口開始時繼續起作用。

  • 存儲管理:核心模塊內,分區及與它相關的存儲空間分配在系統配置(ARINC 653 Configuration files)時定義。

  • 分區內通信:分區內通信指同一分區內進程之間的通信。

    ARINC 653定義的分區內進程通信機制,包括:緩存隊列(Buffers-Queue)、黑板(Blackboards)、信號量(Semaphores)和事件(Events)。其中緩存隊列和黑板用於進程間通信,信號量和事件用於進程間同步與互斥。

    緩存隊列允許其中的消息以隊列形式存儲,消息不允許覆蓋;

    黑板在任何時刻最多只保留一個消息,消息允許覆蓋。

    信號量提供對資源的受控訪問;

    事件通過通知等待進程某種條件的發生來支持進程間同步控制。

  • 分區間通信:分區間通信是指在同一核心模塊或不同核心模塊上運行分區之間的通信。

    分區間通信可分為四類:

    a) 同一核心模塊內分區間的通信;

    b) 同一機箱內不同核心模塊上的分區間的通信;

    c) 不同機箱的分區間的通信;

    d) 航空電子系統與其它設備之間的通信。

  • 健康監控:用於監視核心處理模塊硬件、應用軟件和操作系統的狀態,當發現故障時,記錄故障並進行故障隔離,防止故障蔓延,同時按故障級別(模塊級、分區級和進程級)進行必要的恢復。

二、ARINC653與天脈2(ACoreOS653)

1.天脈2(ACoreOS653)基本描述

 

2.體系結構對比

天脈2(ACoreOS653)體系結構:

 

ARINC653體系結構:

 

 

可以看出天脈2(ACoreOS653)是遵循ARINC653標准而構建的嵌入式實時操作系統。

 

如有侵權,告知必刪。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM