作為FACE(未來機載能力環境)成功成果的證明,自FACE 2.0發布以來,幾乎每個適用的軍事項目對任務系統軟件的強制性一致性要求都下降了。但是,即使FACE告知并指導戰術任務系統軟件設計的各個方面(通信,飛行控制,飛行地圖和規劃,駕駛艙顯示等),車輛控制領域對FACE的采用持保留態度。交付安全關鍵型硬實時控制系統的必要性引發了人們對FACE多核操作系統段(OSS)固有的復雜性所阻礙的技術可行性的擔憂。
最近在車輛控制項目(特別是基于多核處理器的項目)方面的經驗已經證明,將CPU虛擬化作為一種強大的工具,可以補充操作系統解決軟件組件之間的集成沖突,這些軟件組件與平臺要求在API [應用程序編程接口]兼容性和架構假設方面差異很大。
未來機載能力環境 (FACE) 標準將虛擬化主要視為一種硬件整合工具。但隨著世界在無人駕駛車輛的發展中不斷向前推進,整合車輛控制和任務系統計算的需求將成為強制性的,并且關注點將更加相關。鑒于虛擬化能夠實現核心 FACE 原則,其中硬實時控制至關重要,因此值得進一步考慮虛擬化。
人臉的愿景
多年來,軍事系統主要基于專有應用程序、中間件、操作系統和/或硬件。這種情況導致了一些問題,包括交貨時間長、成本高以及重用現有技術的機會很少。在競爭性招標中對系統進行修改是不可能的,因為唯一有能力進行更改的供應商是原始系統的供應商。
FACE聯盟 - 行業供應商,政府專家,學術界和客戶之間的合作伙伴關系 - 旨在解決這些問題。在軍用航空電子系統中使用開放標準的標準化方法有望降低實施成本,加速開發,確保穩健的架構和始終如一的高質量軟件實施,并最大限度地增加重用機會。
航空電子系統中的虛擬化
嵌入式航空電子系統中多核虛擬化的許多好處都有據可查。將具有各種操作系統和應用程序的多臺傳統單板計算機 (SBC) 整合到單個多核虛擬化 SBC 中的能力被廣泛認為是下一代航空電子設備最切實的好處。然而,CPU 虛擬化和虛擬機管理程序提供與實時性能、軟件可組合性和架構健壯性相關優勢的能力對于資深嵌入式軟件社區來說鮮為人知。以下各節討論在 FACE 參考體系結構上下文中應用的這些優勢: 專用分區段,簡化實時空間,提高可移植性和重用性。
專用分區段
在過去的十年中,通過CPU虛擬化在單個處理器上運行多個操作系統的能力有了相當大的進步。雖然底層硬件在IT世界中得到普及和普遍采用,但它具有對關注穩健性和可預測性的嵌入式工程師同樣具有吸引力的功能。
在傳統的平臺軟件設計中,每個處理器托管一個操作系統 (OS) 內核,負責管理內存分配、執行調度、中斷路由、異常處理、外設控制和總線多路復用。現在,支持虛擬化的多核硬件現在能夠容納許多內核,每個內核都分配了不同類型和大小的資源子集。因此,可以在單個設備上實現多個獨立的軟件運行時,而不會受到公共內核的干擾和隨之而來的共模故障危險。這些功能增強了與安全和安保問題相關的基本體系結構屬性。
從安全角度來看,使用內置 CPU 虛擬化功能來隔離硬件安全功能,并將應用程序運行時服務與硬件控制接口分開,對于確保系統穩健性大有幫助。這種設計技術消除了通常被利用的威脅向量,這些威脅媒介會導致安全策略繞過、權限提升和完全失去 CPU 控制。
從安全角度來看,使用虛擬化分區功能(例如:
DMA 通道隔離
共享的最后一級緩存分區
內存總線帶寬分配
獨立的中斷、事件和異常處理
在硬件級別以更高的保真度強化和控制軟件分區的能力符合 FACE 的理想。圖 1 中顯示的圖表介紹了由 FACE 參考體系結構的虛擬機管理程序實現的“硬件分區段”的概念。該描述顯示了一個虛擬機管理程序,該管理程序在兩個不同的 CPU 內核上隔離了兩組軟件。每組都配置了符合 FACE 標準的組件。每組軟件在單個操作系統托管的設計上被授予更大的分區屬性,其中設備驅動程序和內部服務是分開的。
[圖1 |具有 CPU 虛擬化輔助硬件分區段的 FACE 配置示例。
簡化實時空間
在FACE中添加另一個部分將是一項重大任務。在操作系統下引入另一類技術和軟件層對于對復雜性持謹慎態度的實時和安全意識開發人員來說似乎適得其反。但是,CPU 虛擬化提供的硬件分區和多路復用功能提供了在處理器上封裝和映射關鍵任務的運行時功能子集的機會,該處理器同時托管具有固有更豐富的運行時和服務依賴關系的應用程序。
例如,假設車輛控制運行狀況監視器應用程序(如 TMR [三模塊冗余] 錯誤檢測所需的高頻多數投票 CBIT [連續內置測試]必須與多核處理器上的飛行計劃應用程序一起運行。使用基于虛擬機監控程序的解決方案,而不是在共享相同網絡堆棧和內核的同一操作系統上同時實現這兩個應用程序,運行狀況監控應用程序(如圖 2 所示)可以是:
映射到單獨的 CPU 內核
映射到單獨的以太網 MAC
根據獨立的線程調度算法運行
與正交中斷和阻塞信號量隔離
與 DMA 和操作系統內核內存訪問錯誤隔離
在優化的、簡約的、符合 POSIX 標準的運行時環境中運行
[圖2 |具有獨立實時分區的人臉配置示例。
對于希望簡化最壞情況執行時間 (WCET) 分析的實時程序員來說,結果是一個理想的場景。然而,在線路可更換單元 (LRU) 級別,該平臺保留了托管具有更豐富的傳輸服務段 (TSS) 和操作系統段 (OSS) 功能要求的應用程序的能力,這些應用程序不太關心時間和完整性危害。
可移植性和重用
軍事程序經常受到板級支持包 (BSP) 非經常性工程 (NRE) 成本的困擾,如果內部平臺軟件更便攜,則可以避免這些成本。眾所周知,低級代碼模塊(尤其是驅動程序)在提供重用和互操作性的有價值的屬性方面存在問題。
標準化操作系統內部內核接口是不切實際的,因為它們具有獨特的設計和(在許多情況下)專有性質。但是,幾類設備驅動程序自然獨立于核心服務,需要最少的操作系統功能支持(如文件系統),可以通過虛擬機監控程序隔離,并通過標準進程間通信 (IPC) 接口與應用程序集成。
可以證明,設備可以獨立于操作系統進行控制,并與其他組件集成,而無需嵌入專有的操作系統依賴項。考慮一個 OpenGL UA 應用程序,它只需要能夠訪問 GPU 設備接口的驅動程序。另一個示例:具有 TSS 兼容 I/O 接口的獨立 MIL-STD-1553 服務,可用于 PCS [便攜式組件段] 應用程序(參見圖 3)。
[圖3 |獨立一致性單位 (UoC) 的示例。
TSS 層和本地應用程序運行時軟件無需依賴資源映射和 IPC 傳輸的操作系統實現,而是具有足夠的功能來定位依賴模塊并與使用標準虛擬機管理程序提供的接口和服務集成。這種方法甚至可以遵循 FACE 一致性單位 (UoC) 包裝要求。這一愿景并不牽強,因為諸如OASIS“VIRTIO”之類的虛擬化標準已經存在并且已經確立。正如FACE依靠POSIX來維護OSS的標準規范一樣,VIRTIO也可以同樣支持提議的硬件分區段。
虛擬化適用于人臉
FACE取得了巨大的成功。但迄今為止,FACE的可移植性和互操作性優勢通常僅限于TSS層以上操作系統托管的任務系統軟件。
使這種情況惡化的是,將軍用航空電子設備瞄準無人系統的發展可能會看到任務系統與車輛控制計算領域的潛在界限減少,FACE的局限性變得更加令人惱火。
為了履行其章程,FACE必須滿足車輛控制軟件的需求。最近在車輛控制子系統方面的經驗已經證明,虛擬化是降低平臺軟件復雜性的一種手段,可以劃分出低級硬件控制訪問,同時提供分區和互操作性接口的廣為人知的架構優勢。推進這些低級能力的標準化,可以彌合車輛控制開發在FACE合規性可行性方面的差距,而不會玷污現有FACE規定對任務系統開發的無可置疑的好處。
審核編輯:郭婷
-
嵌入式
+關注
關注
5144文章
19584瀏覽量
315943 -
cpu
+關注
關注
68文章
11057瀏覽量
216360 -
計算機
+關注
關注
19文章
7639瀏覽量
90418
發布評論請先 登錄
虛擬化數據恢復—XenServer虛擬化平臺上VPS不可用的數據恢復案例

交流充電樁負載能效提升技術
應急車輛智能管理平臺物聯網解決方案
hyper v 虛擬化,Hyper-V 虛擬化:Hyper-V虛擬化的最佳實踐

hyper v 虛擬化,hyper-v虛擬化:企業級虛擬化解決方案的全面解析

虛擬化數據恢復—XenServer虛擬機數據恢復案例

云計算中的虛擬化技術應用
什么是虛擬機?什么是虛擬化?
虛擬化數據恢復—XenServer虛擬化平臺數據恢復案例

評論