国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于嵌入式微內(nèi)核操作系統(tǒng)的空間隔離消息通信設(shè)計方法

2021-10-19 01:52:16彥,姜
攀枝花學(xué)院學(xué)報 2021年5期
關(guān)鍵詞:數(shù)據(jù)流分區(qū)嵌入式

周 彥,姜 兵

(成都飛機(jī)設(shè)計研究所,四川 成都 610091)

0 引言

飛機(jī)管理系統(tǒng)是下一代戰(zhàn)斗機(jī)最重要的飛行安全關(guān)鍵系統(tǒng)之一,它以飛控系統(tǒng)為核心,通過飛機(jī)管理計算機(jī),對所有與飛行安全相關(guān)的機(jī)載系統(tǒng)進(jìn)行綜合控制與管理。

目前,國外已有成熟的基于嵌入式實時操作系統(tǒng)的飛控系統(tǒng)軟件產(chǎn)品,如:Green Hills的INTEGRITY 178B操作系統(tǒng)在波音-787飛機(jī)中的應(yīng)用、Wind River的VxWorks 653在X-47B無人機(jī)飛控系統(tǒng)中的應(yīng)用、Lockheed Martin定制開發(fā)的VMX操作系統(tǒng)在JSF飛機(jī)中的應(yīng)用等。

從國內(nèi)的情況來看,目前戰(zhàn)斗機(jī)飛控機(jī)載軟件的操作系統(tǒng)大多是針對飛控計算機(jī)硬件環(huán)境定制開發(fā)的,很顯然能夠滿足飛控系統(tǒng)需求。但是,具有操作系統(tǒng)功能特性的各種軟件模塊沒有形成一個獨立的內(nèi)核,與應(yīng)用層軟件沒有明顯的層次劃分,這種設(shè)計特點決定了該類型操作系統(tǒng)不可能支持分區(qū)功能。

為了突破這一瓶頸,實現(xiàn)分區(qū)操作系統(tǒng)在飛行安全關(guān)鍵系統(tǒng)中的應(yīng)用,我們前期開展了嵌入式實時操作系統(tǒng)在飛機(jī)管理系統(tǒng)的應(yīng)用研究。在這項研究中,采用了國內(nèi)自研的時空隔離嵌入式實時分區(qū)操作系統(tǒng),并成功完成了基于該操作系統(tǒng)的飛機(jī)管理系統(tǒng)應(yīng)用軟件的設(shè)計和原理驗證,為自研操作系統(tǒng)在飛行安全關(guān)鍵軟件研發(fā)領(lǐng)域的應(yīng)用起到了重要的支撐作用。但是,在經(jīng)過多次驗證后,原有的軟件架構(gòu)設(shè)計中的不足逐步開始體現(xiàn),主要包括以下幾個方面:a)軟件架構(gòu)層次界限模糊;b)對于采用主/從CPU架構(gòu)的計算機(jī),主要消息收發(fā)嚴(yán)重依賴主CPU的接口分區(qū),從而CPU的功能嚴(yán)重受影響;c)應(yīng)用框架不明確,各個分區(qū)開發(fā)者自行定義分區(qū)結(jié)構(gòu),相同功能重復(fù)開發(fā),測試驗證的時間和成本攀升。

本文從分析嵌入式實時操作系統(tǒng)在上一階段的研究情況入手,在大量前期工作的基礎(chǔ)上總結(jié)工程實踐經(jīng)驗,借鑒國外先進(jìn)軟件設(shè)計理念,提出了一種基于嵌入式微內(nèi)核操作系統(tǒng)的空間隔離消息通信設(shè)計方法,并對其在飛管系統(tǒng)機(jī)載軟件中的應(yīng)用驗證進(jìn)行了分析說明。

1 空間隔離的消息通信原理

基于安全分區(qū)的操作系統(tǒng)架構(gòu)下的分區(qū)間消息通信方式有直接通信和間接通信兩種。

其中,直接通信,即是指在通信過程中雙方必須明確對通信的對方進(jìn)行命名。符合ARINC653標(biāo)準(zhǔn)直接通信的常見應(yīng)用應(yīng)由端口、通道和消息組成。分區(qū)間通信是通過端口發(fā)送和接收消息完成的。分區(qū)通過端口的直接互聯(lián)實現(xiàn)了間接互聯(lián)。通道提供了端口之間的互聯(lián)機(jī)制,每一條通道指明了發(fā)送消息的端口名稱和所屬分區(qū),及接收消息的端口和所屬分區(qū)。

間接通信,即是指通信的雙方不需要指出消息的來源和去向,即發(fā)送者不指出消息的接受方,而接受方也不指出消息的源,消息發(fā)送到郵箱,從郵箱中接收消息。每個郵箱有一個唯一的標(biāo)識。間接通信方式中通信鏈接的特點是只有當(dāng)分區(qū)共享一個公共郵箱時鏈接才建立;一個鏈接可以與多個分區(qū)相聯(lián)系;每對分區(qū)之間可以使用多個通信鏈接;

基于這一間接通信方式的典型應(yīng)用即是消息訂閱分發(fā)技術(shù),它提供數(shù)據(jù)的交換和集成,數(shù)據(jù)訂閱分發(fā)服務(wù)是一種在網(wǎng)絡(luò)環(huán)境下不同資源間實現(xiàn)信息動態(tài)交換的一種信息共享機(jī)制,包括發(fā)送和接收訂閱請求、分發(fā)訂閱的內(nèi)容,對本系統(tǒng)內(nèi)的環(huán)境和數(shù)據(jù)進(jìn)行自動維護(hù)并為整個網(wǎng)絡(luò)提供分布式數(shù)據(jù)訂閱分發(fā)服務(wù)。

2 空間隔離的消息通信設(shè)計

根據(jù)安全分區(qū)間接通信原理,考慮在飛機(jī)管理計算機(jī)中設(shè)置數(shù)據(jù)池作為消息訂閱和發(fā)布的郵箱,分區(qū)間不再使用共享內(nèi)存,而采用跟總線消息一致的消息機(jī)制進(jìn)行數(shù)據(jù)的交換。根據(jù)設(shè)計要求,在計算機(jī)中設(shè)定一片內(nèi)存區(qū)域作為數(shù)據(jù)池,每個分區(qū)需要設(shè)立獨立的分區(qū)發(fā)布數(shù)據(jù)緩存和分區(qū)訂閱數(shù)據(jù)緩存區(qū)域。

2.1外接口數(shù)據(jù)傳輸方式設(shè)計

目前的飛機(jī)管理計算機(jī)提供了DMA(Direct Memory Access)和CPU兩種數(shù)據(jù)搬移的方式,首先對這兩種通信通路的執(zhí)行效率進(jìn)行測試。

我們基于一個樣例CPU時序分區(qū)軟件,將其移植到新的消息收發(fā)機(jī)制中,對數(shù)據(jù)搬移時間和軟件運行時間進(jìn)行了測試。作為測試樣本的CPU分區(qū)時序分布如圖1所示。

圖1 樣例CPU時序分布圖 圖2 內(nèi)接口DMA/CPU傳輸效率對比

作為測試樣本的主CPU的軟件包括3個應(yīng)用分區(qū)和3個I/O分區(qū)。測試選取了以DMA和CPU兩種傳輸方式,測試方式為被測分區(qū)軟件在控制管理模式下連續(xù)運行100000個小幀周期,獲取時間測試點的CPU時基寄存器值,計算兩個測試點的時基之差并折算為毫秒。2種傳輸方式的測試用例設(shè)計如表1所示。

表1 多標(biāo)簽飛控數(shù)據(jù)集統(tǒng)計信息

2.1.1 DMA方式

總線數(shù)據(jù)和CCDL數(shù)據(jù)通過DMA交換數(shù)據(jù),DMA配置為直接模式,主CPU實時任務(wù)運行時間的測試結(jié)果見表2。

表2 DMA方式執(zhí)行時間測試

2.1.2CPU方式

總線數(shù)據(jù)和CCDL數(shù)據(jù)通過CPU交換數(shù)據(jù),CPU拷貝為32位模式,主CPU實時任務(wù)運行時間的測試結(jié)果見表3。

表3 CPU方式執(zhí)行時間測試

將兩種測試樣本的數(shù)據(jù)傳輸效率和運行效率進(jìn)行比較,如圖2所示。CPU耗費的I/O時間平均達(dá)到了DMA耗費的I/O時間的1.78倍,其在I/O處理上的效率遠(yuǎn)低于DMA。因此,對于外部接口,即在主CPU和總線接口單元緩存的通信及主CPU到從CPU的雙口通信應(yīng)采用DMA進(jìn)行數(shù)據(jù)的收發(fā)。

2.2內(nèi)接口數(shù)據(jù)傳輸方式設(shè)計

對于主CPU內(nèi)部接口,可以采用DMA和CPU兩種數(shù)據(jù)搬移的方式,對Cache使能和Cache禁止的軟件執(zhí)行效率進(jìn)行了測試,測試方式參數(shù)設(shè)置同上。2種訪問方式的測試用例設(shè)計如表4。

表4 測試用例設(shè)置

分區(qū)間通信的僅在分區(qū)內(nèi)的執(zhí)行時間內(nèi)進(jìn)行,不占用3個I/O分區(qū)的時間,因此,分區(qū)內(nèi)的數(shù)據(jù)測試僅測試三個應(yīng)用分區(qū)的執(zhí)行時間,其I/O時間為消息發(fā)布和訂閱時間,運行時間即是實時周期任務(wù)執(zhí)行時間。將消息訂閱和發(fā)布的時間及程序運行時間進(jìn)行單獨測試。

2.2.1 DMA方式

分區(qū)間消息通過DMA交換數(shù)據(jù),DMA配置為直接模式,主CPU實時任務(wù)運行時間見表5。

表5 DMA方式分區(qū)接口/運行時間測試

2.2.2 CPU方式

分區(qū)間消息通過DMA交換數(shù)據(jù),DMA配置為直接模式,主CPU實時任務(wù)運行時間見表6。

表6 CPU方式分區(qū)接口/運行時間測試

將兩種測試樣本的數(shù)據(jù)傳輸效率和運行效率進(jìn)行比較,如圖2所示。

根據(jù)測試結(jié)果發(fā)現(xiàn),不管是I/O時間還是執(zhí)行時間,CPU傳輸均優(yōu)于DMA傳輸。從而對于內(nèi)部接口,即在主CPU內(nèi)部的分區(qū)間數(shù)據(jù)通信應(yīng)采用CPU進(jìn)行數(shù)據(jù)的收發(fā)。

2.3數(shù)據(jù)池及數(shù)據(jù)流設(shè)計

從執(zhí)行效率考慮,外部接口設(shè)計應(yīng)使用DMA數(shù)據(jù)傳輸,內(nèi)部接口設(shè)計應(yīng)使用CPU進(jìn)行數(shù)據(jù)傳輸,但是對于外部接口和內(nèi)部接口交匯的部分,即數(shù)據(jù)池的設(shè)計存在著物理矛盾。矛盾的本體在于:

(1)數(shù)據(jù)池需要為外接口設(shè)置為Cache禁止;

(2)數(shù)據(jù)池需要為內(nèi)接口設(shè)置為Cache使能。

對分區(qū)數(shù)據(jù)流進(jìn)行分析后,發(fā)現(xiàn)分區(qū)間的數(shù)據(jù)交換僅存在于主CPU內(nèi)部,沒有將分區(qū)發(fā)布的內(nèi)部接口包發(fā)送到總線的設(shè)計需求,因此結(jié)合空間分離和系統(tǒng)級別分離的原理,在空間隔離的消息通信設(shè)計中對數(shù)據(jù)池進(jìn)行拆分,劃分為局部數(shù)據(jù)池和全局?jǐn)?shù)據(jù)池兩級數(shù)據(jù)池訂閱和發(fā)布的數(shù)據(jù)中心。

(3)局部數(shù)據(jù)池及數(shù)據(jù)流。局部數(shù)據(jù)池用于分區(qū)間消息的通信,其通信模式及數(shù)據(jù)流設(shè)計參見圖3。

圖3 局部消息通信模型 圖4 全局消息通信模型

(4)全局?jǐn)?shù)據(jù)池及數(shù)據(jù)流。其通信模式及數(shù)據(jù)流設(shè)計如圖4所示,主CPU和總線接口單元雙口及主CPU和從CPU雙口間的數(shù)據(jù)交換數(shù)據(jù)流如圖4。

3 方法驗證及應(yīng)用

根據(jù)空間隔離的消息通信設(shè)計方法,在某型戰(zhàn)斗機(jī)飛機(jī)管理系統(tǒng)應(yīng)用軟件完成了空間隔離的數(shù)據(jù)訂閱和發(fā)布設(shè)計。并基于某型飛管計算機(jī)進(jìn)行了原理驗證,該計算機(jī)的硬件構(gòu)型見表7:

表7 目標(biāo)機(jī)構(gòu)型

系統(tǒng)在正常工作期間,總線數(shù)據(jù)或分區(qū)之間的數(shù)據(jù)通訊均通過數(shù)據(jù)池實現(xiàn)數(shù)據(jù)交換。操作系統(tǒng)系統(tǒng)服務(wù)程序則按照系統(tǒng)初始化期間應(yīng)用在分區(qū)中間層內(nèi)訂閱和發(fā)布消息的速率具體執(zhí)行數(shù)據(jù)輸入輸出操作。操作系統(tǒng)負(fù)責(zé)維護(hù)這全局和局部兩個數(shù)據(jù)池,并隔離分區(qū)應(yīng)用權(quán)限。

基于單板構(gòu)型和目標(biāo)機(jī)構(gòu)型,對消息訂閱發(fā)布功能初始化、消息注冊、消息訂閱、消息周期發(fā)布和消息事件發(fā)布進(jìn)行了功能驗證,同時完成了基于目標(biāo)機(jī)的消息訂閱發(fā)布性能測試,結(jié)果見表8:

表8 驗證結(jié)果

驗證結(jié)果表明,基于嵌入式微內(nèi)核操作系統(tǒng)的空間隔離消息通信設(shè)計方法可滿足某型戰(zhàn)斗機(jī)飛機(jī)管理系統(tǒng)軟件對消息通信的功能及性能要求。

4 結(jié)論

在綜合分析了嵌入式實時操作系統(tǒng)在飛機(jī)管理系統(tǒng)應(yīng)用設(shè)計中存在的缺陷基礎(chǔ)上,本文借鑒了國外先進(jìn)設(shè)計經(jīng)驗及安全分區(qū)的通信原理,設(shè)計了空間隔離的消息通信機(jī)制,并在飛機(jī)管理系統(tǒng)的軟件設(shè)計中進(jìn)行了實際應(yīng)用和原理驗證。

通過分析和原理驗證,該方法使用的消息通信可以實現(xiàn)完全的空間隔離,并且通過靈活的SCD配置,極大降低了操作系統(tǒng)和應(yīng)用,主CPU的硬件間及主CPU和從CPU的數(shù)據(jù)間的耦合性。

截止目前,本文所研究的基于嵌入式微內(nèi)核操作系統(tǒng)的空間隔離通信設(shè)計方法已完成多輪測試驗證和試驗試飛,測試結(jié)果表明改方法設(shè)計合理正確,數(shù)據(jù)流清晰,實現(xiàn)了分區(qū)之間的有效隔離。

猜你喜歡
數(shù)據(jù)流分區(qū)嵌入式
上海實施“分區(qū)封控”
汽車維修數(shù)據(jù)流基礎(chǔ)(下)
浪莎 分區(qū)而治
搭建基于Qt的嵌入式開發(fā)平臺
一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
基于SAGA聚類分析的無功電壓控制分區(qū)
電測與儀表(2015年8期)2015-04-09 11:50:16
基于多種群遺傳改進(jìn)FCM的無功/電壓控制分區(qū)
電測與儀表(2015年7期)2015-04-09 11:40:16
北醫(yī)三院 數(shù)據(jù)流疏通就診量
上高县| 宜黄县| 青河县| 英山县| 德兴市| 安福县| 阜康市| 德庆县| 辽宁省| 株洲县| 区。| 文安县| 通山县| 新晃| 收藏| 咸阳市| 周宁县| 阳西县| 白银市| 新晃| 眉山市| 陇南市| 普兰县| 永川市| 田阳县| 栖霞市| 依安县| 申扎县| 夏津县| 白山市| 历史| 桑植县| 融水| 汶上县| 金塔县| 长汀县| 邛崃市| 刚察县| 新宾| 隆尧县| 湟源县|