<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 淺談嵌入式實時操作系統(tǒng)設(shè)計

          淺談嵌入式實時操作系統(tǒng)設(shè)計

          作者: 時間:2014-07-28 來源:網(wǎng)絡(luò) 收藏

            在傳統(tǒng)的中,內(nèi)核和應(yīng)用都運(yùn)行在同一特權(quán)級,應(yīng)用程序可以無限制的訪問整個系統(tǒng)地址空間。因此在某些情況下,應(yīng)用的潛在危險動作會影響其他應(yīng)用和內(nèi)核的正常運(yùn)行,甚至導(dǎo)致系統(tǒng)崩潰或者誤操作。

          本文引用地址:http://www.ex-cimer.com/article/256147.htm

            為了滿足航空電子對高可靠性、高可用性以及高服務(wù)性的要求, 1997年1月ARINC發(fā)布了(航空電子應(yīng)用軟件標(biāo)準(zhǔn)接口),并于2003年7月發(fā)布 Supplement 1,對區(qū)間管理、區(qū)間通信及健康監(jiān)測部分進(jìn)行了補(bǔ)充說明,用以規(guī)范航空電子設(shè)備和系統(tǒng)的開發(fā)。

            隨即,國外各大嵌入式開發(fā)商相繼推出此類支持,具有內(nèi)核和應(yīng)用保護(hù)機(jī)制的操作系統(tǒng)。但在國內(nèi)的嵌入式領(lǐng)域,這樣的研究還有一定差距?;诖?,本文提出了一種航空電子(A-RTOS,Avionics RTOS)的一種設(shè)計思路,并在具有MMU和支持高級保護(hù)模式的目標(biāo)板上完成了實現(xiàn)。

            航空電子標(biāo)準(zhǔn)ARINC653

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

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

            軟件構(gòu)成

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

            

          ?

            圖1給出了ARINC653中各部分之間的關(guān)系。

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

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

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

            

          ?

            圖2 基于時間窗的循環(huán)調(diào)度算法原理

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

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

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

            

          ?

            圖3 區(qū)間狀態(tài)轉(zhuǎn)化模型

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

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

            

          ?

            圖4 A-RTOS的系統(tǒng)結(jié)構(gòu)

            隔離和保護(hù)機(jī)制

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

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

            

          ?

            圖5 頁目錄/頁表方式的地址轉(zhuǎn)換流程

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

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

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


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();