作為FACE(未來(lái)機(jī)載能力環(huán)境)成功成果的證明,自FACE 2.0發(fā)布以來(lái),幾乎每個(gè)適用的軍事項(xiàng)目對(duì)任務(wù)系統(tǒng)軟件的強(qiáng)制性一致性要求都下降了。但是,即使FACE告知并指導(dǎo)戰(zhàn)術(shù)任務(wù)系統(tǒng)軟件設(shè)計(jì)的各個(gè)方面(通信,飛行控制,飛行地圖和規(guī)劃,駕駛艙顯示等),車輛控制領(lǐng)域?qū)ACE的采用持保留態(tài)度。交付安全關(guān)鍵型硬實(shí)時(shí)控制系統(tǒng)的必要性引發(fā)了人們對(duì)FACE多核操作系統(tǒng)段(OSS)固有的復(fù)雜性所阻礙的技術(shù)可行性的擔(dān)憂。
最近在車輛控制項(xiàng)目(特別是基于多核處理器的項(xiàng)目)方面的經(jīng)驗(yàn)已經(jīng)證明,將CPU虛擬化作為一種強(qiáng)大的工具,可以補(bǔ)充操作系統(tǒng)解決軟件組件之間的集成沖突,這些軟件組件與平臺(tái)要求在API [應(yīng)用程序編程接口]兼容性和架構(gòu)假設(shè)方面差異很大。
未來(lái)機(jī)載能力環(huán)境 (FACE) 標(biāo)準(zhǔn)將虛擬化主要視為一種硬件整合工具。但隨著世界在無(wú)人駕駛車輛的發(fā)展中不斷向前推進(jìn),整合車輛控制和任務(wù)系統(tǒng)計(jì)算的需求將成為強(qiáng)制性的,并且關(guān)注點(diǎn)將更加相關(guān)。鑒于虛擬化能夠?qū)崿F(xiàn)核心 FACE 原則,其中硬實(shí)時(shí)控制至關(guān)重要,因此值得進(jìn)一步考慮虛擬化。
人臉的愿景
多年來(lái),軍事系統(tǒng)主要基于專有應(yīng)用程序、中間件、操作系統(tǒng)和/或硬件。這種情況導(dǎo)致了一些問(wèn)題,包括交貨時(shí)間長(zhǎng)、成本高以及重用現(xiàn)有技術(shù)的機(jī)會(huì)很少。在競(jìng)爭(zhēng)性招標(biāo)中對(duì)系統(tǒng)進(jìn)行修改是不可能的,因?yàn)槲ㄒ挥心芰M(jìn)行更改的供應(yīng)商是原始系統(tǒng)的供應(yīng)商。
FACE聯(lián)盟 - 行業(yè)供應(yīng)商,政府專家,學(xué)術(shù)界和客戶之間的合作伙伴關(guān)系 - 旨在解決這些問(wèn)題。在軍用航空電子系統(tǒng)中使用開(kāi)放標(biāo)準(zhǔn)的標(biāo)準(zhǔn)化方法有望降低實(shí)施成本,加速開(kāi)發(fā),確保穩(wěn)健的架構(gòu)和始終如一的高質(zhì)量軟件實(shí)施,并最大限度地增加重用機(jī)會(huì)。
航空電子系統(tǒng)中的虛擬化
嵌入式航空電子系統(tǒng)中多核虛擬化的許多好處都有據(jù)可查。將具有各種操作系統(tǒng)和應(yīng)用程序的多臺(tái)傳統(tǒng)單板計(jì)算機(jī) (SBC) 整合到單個(gè)多核虛擬化 SBC 中的能力被廣泛認(rèn)為是下一代航空電子設(shè)備最切實(shí)的好處。然而,CPU 虛擬化和虛擬機(jī)管理程序提供與實(shí)時(shí)性能、軟件可組合性和架構(gòu)健壯性相關(guān)優(yōu)勢(shì)的能力對(duì)于資深嵌入式軟件社區(qū)來(lái)說(shuō)鮮為人知。以下各節(jié)討論在 FACE 參考體系結(jié)構(gòu)上下文中應(yīng)用的這些優(yōu)勢(shì): 專用分區(qū)段,簡(jiǎn)化實(shí)時(shí)空間,提高可移植性和重用性。
專用分區(qū)段
在過(guò)去的十年中,通過(guò)CPU虛擬化在單個(gè)處理器上運(yùn)行多個(gè)操作系統(tǒng)的能力有了相當(dāng)大的進(jìn)步。雖然底層硬件在IT世界中得到普及和普遍采用,但它具有對(duì)關(guān)注穩(wěn)健性和可預(yù)測(cè)性的嵌入式工程師同樣具有吸引力的功能。
在傳統(tǒng)的平臺(tái)軟件設(shè)計(jì)中,每個(gè)處理器托管一個(gè)操作系統(tǒng) (OS) 內(nèi)核,負(fù)責(zé)管理內(nèi)存分配、執(zhí)行調(diào)度、中斷路由、異常處理、外設(shè)控制和總線多路復(fù)用。現(xiàn)在,支持虛擬化的多核硬件現(xiàn)在能夠容納許多內(nèi)核,每個(gè)內(nèi)核都分配了不同類型和大小的資源子集。因此,可以在單個(gè)設(shè)備上實(shí)現(xiàn)多個(gè)獨(dú)立的軟件運(yùn)行時(shí),而不會(huì)受到公共內(nèi)核的干擾和隨之而來(lái)的共模故障危險(xiǎn)。這些功能增強(qiáng)了與安全和安保問(wèn)題相關(guān)的基本體系結(jié)構(gòu)屬性。
從安全角度來(lái)看,使用內(nèi)置 CPU 虛擬化功能來(lái)隔離硬件安全功能,并將應(yīng)用程序運(yùn)行時(shí)服務(wù)與硬件控制接口分開(kāi),對(duì)于確保系統(tǒng)穩(wěn)健性大有幫助。這種設(shè)計(jì)技術(shù)消除了通常被利用的威脅向量,這些威脅媒介會(huì)導(dǎo)致安全策略繞過(guò)、權(quán)限提升和完全失去 CPU 控制。
從安全角度來(lái)看,使用虛擬化分區(qū)功能(例如:
DMA 通道隔離
共享的最后一級(jí)緩存分區(qū)
內(nèi)存總線帶寬分配
獨(dú)立的中斷、事件和異常處理
在硬件級(jí)別以更高的保真度強(qiáng)化和控制軟件分區(qū)的能力符合 FACE 的理想。圖 1 中顯示的圖表介紹了由 FACE 參考體系結(jié)構(gòu)的虛擬機(jī)管理程序?qū)崿F(xiàn)的“硬件分區(qū)段”的概念。該描述顯示了一個(gè)虛擬機(jī)管理程序,該管理程序在兩個(gè)不同的 CPU 內(nèi)核上隔離了兩組軟件。每組都配置了符合 FACE 標(biāo)準(zhǔn)的組件。每組軟件在單個(gè)操作系統(tǒng)托管的設(shè)計(jì)上被授予更大的分區(qū)屬性,其中設(shè)備驅(qū)動(dòng)程序和內(nèi)部服務(wù)是分開(kāi)的。
[圖1 |具有 CPU 虛擬化輔助硬件分區(qū)段的 FACE 配置示例。
簡(jiǎn)化實(shí)時(shí)空間
在FACE中添加另一個(gè)部分將是一項(xiàng)重大任務(wù)。在操作系統(tǒng)下引入另一類技術(shù)和軟件層對(duì)于對(duì)復(fù)雜性持謹(jǐn)慎態(tài)度的實(shí)時(shí)和安全意識(shí)開(kāi)發(fā)人員來(lái)說(shuō)似乎適得其反。但是,CPU 虛擬化提供的硬件分區(qū)和多路復(fù)用功能提供了在處理器上封裝和映射關(guān)鍵任務(wù)的運(yùn)行時(shí)功能子集的機(jī)會(huì),該處理器同時(shí)托管具有固有更豐富的運(yùn)行時(shí)和服務(wù)依賴關(guān)系的應(yīng)用程序。
例如,假設(shè)車輛控制運(yùn)行狀況監(jiān)視器應(yīng)用程序(如 TMR [三模塊冗余] 錯(cuò)誤檢測(cè)所需的高頻多數(shù)投票 CBIT [連續(xù)內(nèi)置測(cè)試]必須與多核處理器上的飛行計(jì)劃應(yīng)用程序一起運(yùn)行。使用基于虛擬機(jī)監(jiān)控程序的解決方案,而不是在共享相同網(wǎng)絡(luò)堆棧和內(nèi)核的同一操作系統(tǒng)上同時(shí)實(shí)現(xiàn)這兩個(gè)應(yīng)用程序,運(yùn)行狀況監(jiān)控應(yīng)用程序(如圖 2 所示)可以是:
映射到單獨(dú)的 CPU 內(nèi)核
映射到單獨(dú)的以太網(wǎng) MAC
根據(jù)獨(dú)立的線程調(diào)度算法運(yùn)行
與正交中斷和阻塞信號(hào)量隔離
與 DMA 和操作系統(tǒng)內(nèi)核內(nèi)存訪問(wèn)錯(cuò)誤隔離
在優(yōu)化的、簡(jiǎn)約的、符合 POSIX 標(biāo)準(zhǔn)的運(yùn)行時(shí)環(huán)境中運(yùn)行
[圖2 |具有獨(dú)立實(shí)時(shí)分區(qū)的人臉配置示例。
對(duì)于希望簡(jiǎn)化最壞情況執(zhí)行時(shí)間 (WCET) 分析的實(shí)時(shí)程序員來(lái)說(shuō),結(jié)果是一個(gè)理想的場(chǎng)景。然而,在線路可更換單元 (LRU) 級(jí)別,該平臺(tái)保留了托管具有更豐富的傳輸服務(wù)段 (TSS) 和操作系統(tǒng)段 (OSS) 功能要求的應(yīng)用程序的能力,這些應(yīng)用程序不太關(guān)心時(shí)間和完整性危害。
可移植性和重用
軍事程序經(jīng)常受到板級(jí)支持包 (BSP) 非經(jīng)常性工程 (NRE) 成本的困擾,如果內(nèi)部平臺(tái)軟件更便攜,則可以避免這些成本。眾所周知,低級(jí)代碼模塊(尤其是驅(qū)動(dòng)程序)在提供重用和互操作性的有價(jià)值的屬性方面存在問(wèn)題。
標(biāo)準(zhǔn)化操作系統(tǒng)內(nèi)部?jī)?nèi)核接口是不切實(shí)際的,因?yàn)樗鼈兙哂歇?dú)特的設(shè)計(jì)和(在許多情況下)專有性質(zhì)。但是,幾類設(shè)備驅(qū)動(dòng)程序自然獨(dú)立于核心服務(wù),需要最少的操作系統(tǒng)功能支持(如文件系統(tǒng)),可以通過(guò)虛擬機(jī)監(jiān)控程序隔離,并通過(guò)標(biāo)準(zhǔn)進(jìn)程間通信 (IPC) 接口與應(yīng)用程序集成。
可以證明,設(shè)備可以獨(dú)立于操作系統(tǒng)進(jìn)行控制,并與其他組件集成,而無(wú)需嵌入專有的操作系統(tǒng)依賴項(xiàng)。考慮一個(gè) OpenGL UA 應(yīng)用程序,它只需要能夠訪問(wèn) GPU 設(shè)備接口的驅(qū)動(dòng)程序。另一個(gè)示例:具有 TSS 兼容 I/O 接口的獨(dú)立 MIL-STD-1553 服務(wù),可用于 PCS [便攜式組件段] 應(yīng)用程序(參見(jiàn)圖 3)。
[圖3 |獨(dú)立一致性單位 (UoC) 的示例。
TSS 層和本地應(yīng)用程序運(yùn)行時(shí)軟件無(wú)需依賴資源映射和 IPC 傳輸?shù)牟僮飨到y(tǒng)實(shí)現(xiàn),而是具有足夠的功能來(lái)定位依賴模塊并與使用標(biāo)準(zhǔn)虛擬機(jī)管理程序提供的接口和服務(wù)集成。這種方法甚至可以遵循 FACE 一致性單位 (UoC) 包裝要求。這一愿景并不牽強(qiáng),因?yàn)橹T如OASIS“VIRTIO”之類的虛擬化標(biāo)準(zhǔn)已經(jīng)存在并且已經(jīng)確立。正如FACE依靠POSIX來(lái)維護(hù)OSS的標(biāo)準(zhǔn)規(guī)范一樣,VIRTIO也可以同樣支持提議的硬件分區(qū)段。
虛擬化適用于人臉
FACE取得了巨大的成功。但迄今為止,F(xiàn)ACE的可移植性和互操作性優(yōu)勢(shì)通常僅限于TSS層以上操作系統(tǒng)托管的任務(wù)系統(tǒng)軟件。
使這種情況惡化的是,將軍用航空電子設(shè)備瞄準(zhǔn)無(wú)人系統(tǒng)的發(fā)展可能會(huì)看到任務(wù)系統(tǒng)與車輛控制計(jì)算領(lǐng)域的潛在界限減少,F(xiàn)ACE的局限性變得更加令人惱火。
為了履行其章程,F(xiàn)ACE必須滿足車輛控制軟件的需求。最近在車輛控制子系統(tǒng)方面的經(jīng)驗(yàn)已經(jīng)證明,虛擬化是降低平臺(tái)軟件復(fù)雜性的一種手段,可以劃分出低級(jí)硬件控制訪問(wèn),同時(shí)提供分區(qū)和互操作性接口的廣為人知的架構(gòu)優(yōu)勢(shì)。推進(jìn)這些低級(jí)能力的標(biāo)準(zhǔn)化,可以彌合車輛控制開(kāi)發(fā)在FACE合規(guī)性可行性方面的差距,而不會(huì)玷污現(xiàn)有FACE規(guī)定對(duì)任務(wù)系統(tǒng)開(kāi)發(fā)的無(wú)可置疑的好處。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5094文章
19183瀏覽量
307794 -
cpu
+關(guān)注
關(guān)注
68文章
10906瀏覽量
213054 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7544瀏覽量
88666
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
hyper v 虛擬化,Hyper-V 虛擬化:Hyper-V虛擬化的最佳實(shí)踐
![hyper v <b class='flag-5'>虛擬</b><b class='flag-5'>化</b>,Hyper-V <b class='flag-5'>虛擬</b><b class='flag-5'>化</b>:Hyper-V<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>的最佳實(shí)踐](https://file1.elecfans.com/web3/M00/06/FB/wKgZO2eRojaAedKRAAJ1cEnLmOg140.png)
hyper cpu,Hyper CPU優(yōu)化:提升虛擬機(jī)性能
![hyper cpu,Hyper CPU優(yōu)化:<b class='flag-5'>提升</b><b class='flag-5'>虛擬</b>機(jī)性能](https://file1.elecfans.com/web3/M00/06/FB/wKgZO2eRojaAedKRAAJ1cEnLmOg140.png)
hyper v 虛擬化,hyper-v虛擬化:企業(yè)級(jí)虛擬化解決方案的全面解析
![hyper v <b class='flag-5'>虛擬</b><b class='flag-5'>化</b>,hyper-v<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>:企業(yè)級(jí)<b class='flag-5'>虛擬</b>化解決方案的全面解析](https://file1.elecfans.com/web3/M00/06/FB/wKgZO2eRojaAedKRAAJ1cEnLmOg140.png)
深入KVM虛擬化之構(gòu)建高效、可擴(kuò)展的虛擬化環(huán)境
![深入KVM<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>之構(gòu)建高效、可擴(kuò)展的<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>環(huán)境](https://file1.elecfans.com/web3/M00/00/02/wKgZO2dFlGaAJ-FKAAAd7vbsf78917.png)
虛擬化數(shù)據(jù)恢復(fù)—XenServer虛擬機(jī)數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>數(shù)據(jù)恢復(fù)—XenServer<b class='flag-5'>虛擬</b>機(jī)數(shù)據(jù)恢復(fù)案例](https://file1.elecfans.com/web1/M00/F4/8B/wKgZoWctd42AfXpjAAbtwDYtgLM057.png)
emc虛擬化技術(shù)的應(yīng)用場(chǎng)景
云計(jì)算中的虛擬化技術(shù)應(yīng)用
軍營(yíng)車輛管理:數(shù)字化的未來(lái)
![軍營(yíng)<b class='flag-5'>車輛</b>管理:數(shù)字<b class='flag-5'>化</b>的未來(lái)](https://file1.elecfans.com/web2/M00/06/B4/wKgaombesquAYpp7ABAcPXdqicI894.png)
虛擬化數(shù)據(jù)恢復(fù)—EXSI虛擬機(jī)誤還原快照如何恢復(fù)數(shù)據(jù)?
![<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>數(shù)據(jù)恢復(fù)—EXSI<b class='flag-5'>虛擬</b>機(jī)誤還原快照如何恢復(fù)數(shù)據(jù)?](https://file1.elecfans.com/web2/M00/E1/58/wKgaomY4adOAeUAFAAHkmHUEi4s929.png)
什么是虛擬機(jī)?什么是虛擬化?
虛擬化數(shù)據(jù)恢復(fù)—XenServer虛擬化平臺(tái)數(shù)據(jù)恢復(fù)案例
![<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>數(shù)據(jù)恢復(fù)—XenServer<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>平臺(tái)數(shù)據(jù)恢復(fù)案例](https://file.elecfans.com/web2/M00/AE/1A/pYYBAGSX8eGASgKZAAaJGAB7KcI397.png)
評(píng)論