RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

深度剖析航空電子嵌入式實時操作系統(tǒng)設計思路

電子設計 ? 來源:互聯(lián)網 ? 作者:佚名 ? 2017-11-28 09:17 ? 次閱讀

在傳統(tǒng)的嵌入式實時操作系統(tǒng)中,內核和應用都運行在同一特權級,應用程序可以無限制的訪問整個系統(tǒng)地址空間。因此在某些情況下,應用的潛在危險動作會影響其他應用和內核的正常運行,甚至導致系統(tǒng)崩潰或者誤操作。國外各大嵌入式開發(fā)商相繼推出此類支持ARINC653,具有內核和應用保護機制的操作系統(tǒng)。但在國內的嵌入式領域,這樣的研究還有一定差距?;诖?,本文提出了一種航空電子嵌入式實時操作系統(tǒng)(A-RTOS,Avionics RTOS)的一種設計思路,并在具有MMU和支持高級保護模式的目標板上完成了實現(xiàn)。

航空電子標準ARINC653

ARINC653主要闡述了模塊化綜合航空電子設備IMA(Integrated Modular Avionics)使用的應用軟件的基線操作環(huán)境。它定義了航空應用與下層操作環(huán)境之間的接口和數(shù)據交換的模式以及服務的行為,并描述了嵌入式航空電子軟件的運行時環(huán)境

ARINC653 Supplement 1對ARINC653的補充主要包括以下幾點:在系統(tǒng)結構上,提出了System Partition的概念,明確區(qū)間上的應用調度應該是區(qū)間級別的,這些應用共享區(qū)間資源;區(qū)間管理方面,闡述區(qū)間調度中主時間框架的定義原則,并補充了區(qū)間模式的變遷過程;對區(qū)間間通信的原則進行更為詳盡的說明;增加關于健康監(jiān)測的錯誤級別和錯誤處理的解釋。

軟件構成

航空電子中的核心模塊軟件包括兩類:應用軟件和核心軟件。位于應用軟件和操作系統(tǒng)OS之間的APEX(APplication EXecutive)接口,定義了系統(tǒng)為應用軟件提供的一個功能集合。利用這個功能集合,應用軟件可以控制系統(tǒng)的調度,通信和內部狀態(tài)信息。APEX接口相當于為應用提供的一種高層語言。而對于OS來說,是關于參數(shù)和入口機制的定義。

圖1給出了ARINC653中各部分之間的關系

2012110605532224869551.jpg

分區(qū)和區(qū)間管理

分區(qū)(Partitioning)是ARINC653中一個核心概念。在IMA(Integrated Modular Avionics)系統(tǒng)中,一個核心模塊會包含一個或多個航空電子應用,并且這些應用要能夠獨立運行。分區(qū)就是航空電子應用中的一個功能劃分。分區(qū)的單位稱為區(qū)間,區(qū)間內的每一個執(zhí)行單元稱為進程。每一個區(qū)間具有自己獨立的數(shù)據、上下文和運行環(huán)境,這樣做的好處是能夠防止一個區(qū)間的錯誤影響到其他區(qū)間。另外,它能使得整個系統(tǒng)容易驗證、確認和認證

區(qū)間化以及區(qū)間的管理和調度是由OS來實現(xiàn)的。ARINC653為區(qū)間的調度規(guī)定了一種基于時間窗的循環(huán)調度算法。這種調度算法的原理如圖2所示。

2012110605532226431552.jpg

為了完成各區(qū)間的周期性調度,由OS維護一個固定時間長度的主時間框架,該時間框架在模塊的運行期內周期性的重復。每個時間框架可以劃分為若干個時間窗口。系統(tǒng)利用一個事先確定的配置表,在規(guī)定的時間窗口內激活對應區(qū)間的運行。這樣就能夠保證每個應用在分配給它的時間周期內訪問公共資源不被打斷。

ARINC supplement 1對主時間框架的時間定義原則進行了補充。它規(guī)定主時間框架的大小應該是核心模塊中所有區(qū)間周期的最小公倍數(shù)的正整數(shù)倍,并應考慮到每個區(qū)間每次執(zhí)行的時間長度和執(zhí)行頻率。

在ARINC653 Supplement 1發(fā)布時又增加了系統(tǒng)區(qū)間屬性和啟動條件屬性。區(qū)間的工作模式包括空閑,冷啟動,熱啟動和正常四種,如圖3所示。每個區(qū)間所需資源在系統(tǒng)構建時指定,在區(qū)間初始化完成時區(qū)間對象創(chuàng)建。OS在進入運行模式時啟動應用區(qū)間,然后區(qū)間進入正常運行模式。監(jiān)測管理功能在響應致命錯誤時將重啟區(qū)間或者停止區(qū)間的運行。

2012110605532229556553.jpg

A-RTOS系統(tǒng)設計與實現(xiàn)

A-RTOS的系統(tǒng)結構如圖4所示。在此系統(tǒng)中,各個應用工作在所屬區(qū)間的環(huán)境中,并且應用和內核及各個應用之間都被保護墻隔離,無法相互破壞,從而保證了核心模塊的可靠性。

2012110605532231119554.jpg

隔離和保護機制

隔離和保護是ARINC653首要強調的特性,也是必須解決的重點之一。A-RTOS主要采用兩種方式來實現(xiàn)應用與內核以及應用之間的隔離和保護。

第一種方式是使用內存管理單元MMU。通過MMU能夠實現(xiàn)邏輯地址到物理地址的轉化,并且對訪問權限進行控制。這樣可以保護操作系統(tǒng)內核不受應用軟件有意或無意的破壞,也有效的防止了各應用軟件之間的相互破壞。圖5給出了MMU的頁目錄/頁表方式的地址轉換流程。

2012110605532234244555.jpg

第二種方式就是系統(tǒng)調用。A-RTOS為了實現(xiàn)對內核及應用之間的保護,提供了兩種運行形態(tài):用戶態(tài)和系統(tǒng)態(tài)。其中操作系統(tǒng)內核是運行在系統(tǒng)態(tài)的。因此用戶態(tài)的應用是不能夠直接調用系統(tǒng)內核提供的功能接口的,必須通過TRAP系統(tǒng)調用方式來進行。

此種方式下,當用戶態(tài)的應用需要調用內核提供的系統(tǒng)調用時,首先要執(zhí)行一組特殊的指令使系統(tǒng)進入系統(tǒng)態(tài)以便執(zhí)行需要的系統(tǒng)調用,當調用完成后,內核將執(zhí)行另一組特征指令將系統(tǒng)返回到用戶態(tài)。

每種支持保護模式的系統(tǒng)都提供了專門的軟中斷命令來完成從用戶態(tài)進入系統(tǒng)態(tài)的功能。系統(tǒng)掛接一個軟中斷處理函數(shù),所有的系統(tǒng)調用都通過這個軟中斷進入并以不同的參數(shù)值(即系統(tǒng)調用號)來加以區(qū)分。

系統(tǒng)調用的另一種形式是稱為CALL-LIB的調用庫機制。此種機制類似于windows系統(tǒng)的動態(tài)鏈接庫,可以滿足動態(tài)加載和更新組件的需要,也是A-RTOS的特點之一。

區(qū)間調度機制

ARINC653規(guī)定,區(qū)間調度模式的主要特征是:1)調度單元是區(qū)間;2)區(qū)間沒有優(yōu)先級;3)調度算法是預先確定的,按照固定的周期重復,并且只能由系統(tǒng)集成者進行配置。每個循環(huán)中,至少要為區(qū)間分配一個區(qū)間窗口。

在A-RTOS中,為了方便系統(tǒng)處理和能更好符合ARINC653規(guī)范,對以上規(guī)定進行了一定程度的修訂:調度單元是區(qū)間和系統(tǒng)進程;區(qū)間具有優(yōu)先級。但這些修訂不影響操作系統(tǒng)區(qū)間層POS以及應用程序使用者,所以在外部特性上并不與ARINC653規(guī)定違背。

除此之外, A-RTOS還引入兩個系統(tǒng)區(qū)間:Kernel區(qū)間和Idle區(qū)間。Kernel區(qū)間優(yōu)先級最高,用于為整個系統(tǒng)的運行提供支持;并且一些系統(tǒng)級進程,也屬于Kernel區(qū)間,方便調度。Idle區(qū)間具有最低的優(yōu)先級,用于填充系統(tǒng)時間。當系統(tǒng)中沒有其他區(qū)間可以運行,就運行Idle區(qū)間。

A-RTOS區(qū)間的調度原則是首先基于優(yōu)先級調度,對同一優(yōu)先級的區(qū)間可使用時間片輪轉調度或者基于時間窗的循環(huán)調度策略。

A-RTOS采用兩級調度機制。系統(tǒng)中具有區(qū)間的優(yōu)先級位圖和每個優(yōu)先級對應的就緒鏈表,每個區(qū)間中也包含系統(tǒng)進程的優(yōu)先級位圖和對應的就緒鏈表。利用優(yōu)先級位圖和就緒鏈表,可以很容易的實現(xiàn)對區(qū)間和系統(tǒng)進程的調度。圖6給出了這種調度模型。

2012110605532237369556.jpg

調度模塊首先根據系統(tǒng)中的區(qū)間優(yōu)先級位圖和區(qū)間就緒鏈表來進行區(qū)間調度,被調度到的區(qū)間再根據區(qū)間內的進程優(yōu)先級位圖和進程就緒鏈表進行系統(tǒng)進程的調度。此方法相對于一級調度方式而言,能夠保證調度時間的確定性,系統(tǒng)調度時間不會因為區(qū)間和系統(tǒng)進程的多少而發(fā)生變化,符合實時操作系統(tǒng)的定義。

在進行基于時間窗調度時,兩個系統(tǒng)區(qū)間實際上也會參與調度。Kernel區(qū)間的運行時間會計算在區(qū)間調度配置表中當前區(qū)間的運行時間上。因此對于某應用區(qū)間而言,它的運行時間實際上會包含系統(tǒng)區(qū)間的運行。

進程池機制

在A-RTOS中,進程池是指一組由系統(tǒng)進行維護的進程,這些進程能夠為應用提供一組服務。應用通過系統(tǒng)提供的調用接口對系統(tǒng)提出應用請求,系統(tǒng)把應用的請求交給進程池,進程池自動選擇一個空閑進程對其進行服務,當服務完畢以后,系統(tǒng)會回收該系統(tǒng)進程。

進程池主要應用在時鐘定時器服務、中斷服務和異步IO操作。

異步信號和異步IO機制

A-RTOS支持異步信號機制,允許在某種情況下COS以異步方式發(fā)送信號到上層的POS。異步信號的一個典型使用就是異步IO。這是由于在ARINC653的應用中,POS中的進程通過系統(tǒng)調用產生阻塞性IO請求的時候,如果IO不是異步的,則此時該進程就會阻塞,等待系統(tǒng)調用的返回。但是COS并不知道POS中的應用進程的存在,當其中的一個進程阻塞的時候,整個區(qū)間都會被阻塞。采用異步IO方式可避免這種情況的發(fā)生。

2012110605532240493557.jpg

圖7 異步IO工作流程示意圖

當應用請求了阻塞性的IO服務時,A-RTOS會啟動稱為一個系統(tǒng)進程來進行應用請求的IO操作,這就是異步IO機制。A-RTOS將這種為實現(xiàn)異步IO操作而創(chuàng)建的系統(tǒng)進程稱為worker進程。

如圖7,在ARINC653的應用中,當POS中的一個進程調用異步IO系統(tǒng)調用時,該系統(tǒng)調用檢查此IO是否為阻塞工作方式,如果是,則創(chuàng)建一個worker進程去完成這個要求的IO工作,并返回一個AIO_PENDING值到POS。POS檢查到這個返回值以后,把正在進行異步IO調用的進程從就緒隊列取下放到等待隊列,然后進行重調度。當worker進程完成了要求的IO操作時,即發(fā)送異步信號到POS,從而喚醒原阻塞進程。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    RT-Thread聯(lián)合河北大學發(fā)起嵌入式操作系統(tǒng)專業(yè)班-保定站

    RT-Thread官方將在11月23至24日河北省保定市(河北大學)發(fā)起為期兩天的嵌入式操作系統(tǒng)專業(yè)培訓班暨RT-Thread師資培訓!本次培訓將會深入講解RT-Thread嵌入式實時
    的頭像 發(fā)表于 11-16 01:09 ?243次閱讀
    RT-Thread聯(lián)合河北大學發(fā)起<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>專業(yè)班-保定站

    什么是嵌入式操作系統(tǒng)?

    什么是嵌入式操作系統(tǒng)? 想象一下,如果一個智能設備,比如你口袋里的智能手機,是一個有頭腦的機器人,那么嵌入式操作系統(tǒng)(Embedded Operating System,簡稱EOS)就
    發(fā)表于 11-08 15:07

    嵌入式 Linux 操作系統(tǒng)配置

    隨著物聯(lián)網(IoT)和智能設備的快速發(fā)展,嵌入式系統(tǒng)在各個領域扮演著越來越重要的角色。Linux因其開源、靈活和穩(wěn)定的特性,成為嵌入式系統(tǒng)的首選操作
    的頭像 發(fā)表于 11-06 10:22 ?333次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    ,會更多地使用環(huán)保材料,以減少對環(huán)境的污染。同時,系統(tǒng)設計將更加注重生態(tài)可持續(xù)性,滿足可持續(xù)發(fā)展的需求。 6. 實時操作系統(tǒng)(RTOS)的發(fā)展 實時
    發(fā)表于 09-12 15:42

    新書發(fā)布——《RT-Thread嵌入式實時操作系統(tǒng)內核、驅動和應用開發(fā)技術》

    我們非常高興地宣布,由鄭苗秀、沈鴻飛和廖建尚編著的《RT-Thread嵌入式實時操作系統(tǒng)內核、驅動和應用開發(fā)技術》一書正式發(fā)布。本書的編寫團隊由多位在嵌入式
    的頭像 發(fā)表于 09-03 08:06 ?571次閱讀
    新書發(fā)布——《RT-Thread<b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>內核、驅動和應用開發(fā)技術》

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)嵌入式系統(tǒng)開發(fā)平臺。它通常包括一個處理器、內存、存儲器、輸入/輸出接口等硬件組件,以及一個基于Linux的
    的頭像 發(fā)表于 09-02 09:09 ?371次閱讀

    開啟全新AI時代 智能嵌入式系統(tǒng)快速發(fā)展——“第六屆國產嵌入式操作系統(tǒng)技術與產業(yè)發(fā)展論壇”圓滿結束

    嵌入式系統(tǒng)電子信息產業(yè)的基礎,是智能系統(tǒng)的核心。大模型催生AI走入千家萬戶、喚醒端側AI的需求爆發(fā)。以機器人、無人駕駛和智能制造為代表的智能嵌入式
    發(fā)表于 08-30 17:24

    嵌入式系統(tǒng)中的實時操作系統(tǒng)

    嵌入式RTOS是嵌入式應用程序運行、相互交互和與外界通信的底層軟件機制。在本節(jié)中,您將了解嵌入式軟件開發(fā)人員使用哪些流行RTOS以及它們運行的嵌入式硬件平臺。
    的頭像 發(fā)表于 08-20 11:28 ?480次閱讀

    簡單認識RTOS實時操作系統(tǒng)

    RTOS(Real Time Operating System,實時操作系統(tǒng))是一種專門設計用于在嚴格時間限制內處理任務的操作系統(tǒng)。它以其高實時性、多任務處理能力和資源管理能力在工業(yè)自
    的頭像 發(fā)表于 08-20 11:20 ?2684次閱讀

    RT-Thread出席第六屆中國嵌入式技術大會,共話嵌入式操作系統(tǒng)與智能工業(yè)

    第六屆中國嵌入式技術大會將于8月27-28日在深圳會展中心(福田)1號館舉行。本屆大會以“AI與開源,開啟嵌入式系統(tǒng)智能新時代”為主題,聚焦人工智能與嵌入式應用、
    的頭像 發(fā)表于 08-03 08:35 ?394次閱讀
    RT-Thread出席第六屆中國<b class='flag-5'>嵌入式</b>技術大會,共話<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>與智能工業(yè)

    第六屆國產嵌入式操作系統(tǒng)技術與產業(yè)發(fā)展論壇議程發(fā)布

    每年一度的國產嵌入式操作系統(tǒng)論壇即將在杭州濱江舉辦,今年是第六屆了,又是中國嵌入式系統(tǒng)新朋老友相聚的時刻。大模型催生AI走人千家萬戶、喚醒端側AI的需求爆發(fā)。以機器人、無人駕駛和智能制
    發(fā)表于 07-26 10:54

    嵌入式系統(tǒng)怎么學?

    開發(fā)工具:熟悉常用的嵌入式系統(tǒng)開發(fā)工具,包括集成開發(fā)環(huán)境(IDE)、編譯器、調試器(如Keil、IAREmbedded Workbench、Eclipse)等。 5、實時操作系統(tǒng)(R
    發(fā)表于 07-02 10:10

    嵌入式系統(tǒng)軟硬件基礎知識大全

    作為一種廣泛應用于各個領域的技術,其軟硬件基礎知識對于開發(fā)者來說至關重要。在本文中,我們將詳細探討嵌入式系統(tǒng)的軟件基礎知識,以幫助讀者深入了解這一領域。實時操作系統(tǒng)
    發(fā)表于 05-09 14:12

    帶你認識實時操作系統(tǒng)(rtos)

    實時操作系統(tǒng)(RTOS)是為嵌入式系統(tǒng)實時應用提供一個穩(wěn)定、可預測和高效運行環(huán)境的操作系統(tǒng)。
    的頭像 發(fā)表于 04-16 16:30 ?1246次閱讀
    帶你認識<b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>(rtos)

    再談嵌入式實時操作系統(tǒng)

    程序的可移植性得到了增強,系統(tǒng)開發(fā)的工作量減輕的同時也提高了開發(fā)效率。對實時性和可靠性日益增長的要求正在塑造某些現(xiàn)代領域的嵌入式實時操作系統(tǒng)
    的頭像 發(fā)表于 04-09 17:27 ?785次閱讀
    再談<b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b><b class='flag-5'>操作系統(tǒng)</b>
    RM新时代网站-首页