chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

針對嵌入式計算優(yōu)化虛擬化

星星科技指導員 ? 來源:militaryembedded ? 作者:RICH JAENICKE ? 2022-11-15 16:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

許多嵌入式系統(tǒng)已經(jīng)采用系統(tǒng)虛擬化,通過使用虛擬機(VM)將虛擬和物理系統(tǒng)分離。關鍵任務嵌入式系統(tǒng)中的虛擬化可以使用類似于企業(yè)系統(tǒng)使用的技術來實現(xiàn),但嵌入式虛擬化的不同用例為與嵌入式系統(tǒng)的優(yōu)先級更緊密地一致的其他解決方案打開了大門。

自 2000 年代初以來,虛擬化已廣泛部署在企業(yè)服務器中。服務器虛擬化的最初驅動力是關于服務器整合的,它將運行不同應用程序的多個未充分利用的服務器的服務合并到一臺計算機上。減少服務器數(shù)量節(jié)省了資本和運營成本。這種整合需要工作負載隔離,將應用程序彼此分開,并將系統(tǒng)的其余部分分開,從而提供某種程度的安全性和應用程序自主性。由于虛擬機 (VM) 將應用程序與其所依賴的操作系統(tǒng)配對,因此虛擬化還允許將 VM 從一臺服務器遷移到另一臺服務器,從而在各種任務關鍵型軍事應用程序中實現(xiàn)高可用性、負載平衡和額外的節(jié)能。

服務器虛擬化的輔助驅動器是運行為不同操作系統(tǒng) (OS) 或不同版本的操作系統(tǒng)設計的應用程序的能力。例如,運行Linux的工程工作站通常也運行Microsoft Windows以與業(yè)務應用程序進行交互。這對于支持遺留系統(tǒng)特別有用,例如從大型機遷移到服務器時。

嵌入式虛擬化用例

嵌入式虛擬化與企業(yè)用例有很多重疊,但具有不同的優(yōu)先級和附加要求。嵌入式虛擬化的主要用例是支持異構操作系統(tǒng)和提高安全性。次要用例可能包括工作負載整合、軟件許可證隔離以及促進向多核處理器的遷移。支持異構操作系統(tǒng)的常見驅動因素是需要為某些應用程序支持通用操作系統(tǒng),例如 Linux 和 Windows,而關鍵和受信任的應用程序在實時操作系統(tǒng) (RTOS) 上運行。在具有混合關鍵性的系統(tǒng)中,提高安全性尤為重要,以便將不太重要的應用程序與具有更關鍵的實時、安全或安保要求的應用程序隔離開來。

在評估安全解決方案時,一個關鍵概念是受信任計算基礎 (TCB) 的大小,該計算基礎由實施安全策略的硬件、軟件和控制組成??傮w目標是最小化 TCB 的大小和接口的數(shù)量,以便更容易地進行驗證。TCB 和接口數(shù)越大,攻擊面就越大。最小化 TCB 需要將許多非關鍵服務移出 TCB,這反過來又需要能夠隔離這些服務,并在受信任和不受信任的組件之間提供安全通信。請注意,最小化 TCB 不是最終目標,而只是簡化驗證的一種手段。對于需要高安全性的系統(tǒng),最終目標是根據(jù)適用的安全保證要求進行認證。

與服務器虛擬化中的虛擬機不同,嵌入式系統(tǒng)中的應用程序通常是高度集成的,需要協(xié)作。隨后,解決方案的一部分需要包括可預測的低延遲、高帶寬通信路徑,其權限由安全 TCB 強制執(zhí)行。特別是對于嵌入式實時系統(tǒng),滿足異構操作系統(tǒng)的虛擬化目標和提高安全性不能以犧牲系統(tǒng)的確定性或大大增加的延遲為代價。對于安全關鍵系統(tǒng)來說,情況更是如此。維護確定性對任何虛擬化解決方案來說都是一個挑戰(zhàn),因為高效的虛擬化實現(xiàn)通常使用啟發(fā)式方法來識別不同操作系統(tǒng)和給定操作系統(tǒng)的不同版本的代碼序列的變化。

虛擬化的硬件支持

眾所周知,x86 處理器的早期虛擬化性能低下,因為缺乏對虛擬化的硬件支持,包括虛擬化內存管理單元 (MMU) 和輸入/輸出內存管理單元 (IOMMU)。現(xiàn)代處理器為硬件輔助虛擬化提供支持。一個例子是英特爾 VT-x 和 VT-d。

英特爾 VT-x 提供了進入和退出虛擬執(zhí)行模式的說明,在該模式下,訪客操作系統(tǒng)將自己視為以完全權限運行,而主機操作系統(tǒng)仍受到保護。內存虛擬化實際上需要兩個級別的虛擬化。首先,來賓操作系統(tǒng)將從物理地址空間到虛擬地址空間的映射存儲在頁表中。該來賓操作系統(tǒng)無法直接訪問物理內存,因此虛擬機監(jiān)視器 (VMM) 需要提供這些頁表的虛擬化。對于英特爾處理器,頁表虛擬化的加速稱為擴展頁表 (EPT)。

面向定向 I/O 的英特爾虛擬化技術(英特爾 VT-d)為重新映射直接內存訪問 (DMA) 傳輸和設備生成的中斷提供了硬件輔助。IOMMU 跟蹤哪些物理內存區(qū)域映射到哪些 I/O 設備。分配給特定 VM 的 I/O 設備不能被其他 VM 訪問,I/O 設備也無法訪問其他 VM。

即使支持 IOMMU,VMM 仍需要將數(shù)據(jù)從網(wǎng)絡接口芯片 (NIC) 復制到虛擬機,反之亦然。PCI-SIG 的單根 I/O 虛擬化 (SR-IOV) 標準將 VMM 從將數(shù)據(jù)移入和移出虛擬機的過程中移除。數(shù)據(jù)直接在 VM 之間通過 DMA 傳輸,VMM 中的軟件開關永遠不會碰它。

雖然虛擬化硬件加速的關鍵技術是在芯片級實現(xiàn)的,但板級決策也會影響系統(tǒng)性能。例如,具有最多虛擬化功能的處理器通常是消耗最多功率的處理器,因此通常需要在優(yōu)化尺寸、重量和功耗 (SWaP) 方面做出權衡決策。NIC 的選擇會影響加速哪些 I/O 虛擬化功能。電路板上的內存量也是一個重要的考慮因素,因為虛擬化會消耗大量內存。

嵌入式虛擬化技術

一旦底層硬件已經(jīng)建立并支持虛擬化的需求,下一個問題是使用什么軟件虛擬化技術。在企業(yè)領域,主要選擇是類型 1和類型 2 虛擬機管理程序,其中類型 1 在裸機上運行,類型 2 在另一個操作系統(tǒng)上運行。對于嵌入式系統(tǒng),還有第三種選擇:具有虛擬化層的微內核。盡管將任何給定的解決方案放入這三個存儲桶之一中很方便,但現(xiàn)實情況是,類型 1 和類型 2 之間存在灰色區(qū)域,并且可以使用微內核技術實現(xiàn)類型 1 虛擬機管理程序。即使有一定程度的重疊,查看定義特征和功能也很有用。

虛擬機管理程序(也稱為虛擬機監(jiān)視器 (VMM))始于企業(yè)系統(tǒng),幾乎沒有資源限制。因此,許多虛擬機管理程序及其虛擬機都是重量級結構,通常包括設備驅動程序等功能,有時甚至包括網(wǎng)絡堆棧和文件系統(tǒng)。所有這些功能都需要大型 TCB。網(wǎng)絡堆棧具有特別高的安全風險,如最近的“URGENT/11”漏洞所示。對于類型 1 和類型 2 虛擬機管理程序,來賓操作系統(tǒng)與應用程序一起在虛擬機內運行。盡管在裸機上運行的 Type 1 虛擬機管理程序通常效率更高,但如果只有一小部分應用程序需要來賓操作系統(tǒng),則類型 2 虛擬機管理程序可能是正確的解決方案。在企業(yè)環(huán)境中,一個例子是工程環(huán)境(例如 Linux)或創(chuàng)意環(huán)境(如 macOS),它需要運行僅在 Windows 上運行的業(yè)務應用程序。同樣,嵌入式系統(tǒng)通?;旌狭藢崟r和非實時要求。使用 Type 2 虛擬機管理程序,較大的實時應用程序集將僅依賴于基本 RTOS,而不是 RTOS 和虛擬機管理程序,而只有非實時應用程序才會產(chǎn)生來賓操作系統(tǒng)、虛擬機管理程序和主機操作系統(tǒng)的虛擬化開銷。

微內核來自不同的方向,旨在通過將服務(包括虛擬化)移動到用戶模式服務器來減少內核中執(zhí)行的代碼量。這也最大限度地減少了TCB,以提高安全性和安全性。提供來賓操作系統(tǒng)支持的虛擬化層可以在用戶空間中實現(xiàn),類似于類型 2 虛擬機管理程序,以及網(wǎng)絡堆棧和文件系統(tǒng)。請注意,隔離基礎是在微內核中實現(xiàn)的,包括使用硬件虛擬化功能。

從可信計算庫中獲取虛擬化層對于安全性和安全性都是一個顯著的優(yōu)勢,因為虛擬化代碼可能很大。要使來賓操作系統(tǒng)認為它在裸機上運行,必須對系統(tǒng)的每個部分進行虛擬化。盡管硬件技術加速了內存虛擬化,但直到最近,一些處理器才開始加速某些部分的 I/O。所需的虛擬化的一些示例包括設備仿真、總線仿真以及中斷仿真和路由。所有這些仿真的代碼都非常大,并且還會造成性能損失。從來賓操作系統(tǒng)對內核的每個調用都需要捕獲、檢查并確定是否允許來賓操作系統(tǒng)進行該訪問。為了使虛擬機管理程序高效,它需要虛擬化指令序列而不是單個指令。這種前瞻功能只是增加虛擬機管理程序已經(jīng)很大的代碼庫以最大程度地減少虛擬化性能損失的一個例子。

一種特定類型的微內核是分離內核,它將其控制下的所有導出資源分配到分區(qū)中,并且這些分區(qū)是隔離的,除了明確允許的信息流。專為最高安全性而設計的分離內核符合美國國家安全局 (NSA) 定義的分離內核保護配置文件 (SKPP),該配置文件是為最惡劣的威脅環(huán)境創(chuàng)建的。

虛擬機管理程序和微內核技術的比較

如今,虛擬機管理程序和微內核中具有虛擬化層的廣泛功能集之間存在大量重疊。這兩種技術都利用基礎硬件功能(如多個特權模式/級別、MMU 和 IOMMU)來提供硬件強制隔離,并為不同的應用程序提供單獨的地址空間。虛擬機管理程序和具有虛擬化層的微內核都提供了在虛擬化環(huán)境中運行多個操作系統(tǒng)的能力,包括混合使用RTOS和非RTOS。即使有這些相似之處,這兩種技術在確定性和安全性方面也可能存在顯著差異。

基于微內核的實時操作系統(tǒng)從一開始就是為低延遲和高確定性而設計的。在虛擬機管理程序上運行 RTOS 會增加必須攔截和虛擬化的每個系統(tǒng)調用的延遲。結果是延遲增加,確定性降低。為了解決這個問題,一些虛擬機管理程序聲稱允許在裸機上運行,但這確實是用詞不當。即使沒有來賓操作系統(tǒng),應用程序仍然必須在虛擬機監(jiān)控程序上運行,虛擬機監(jiān)控程序通常比微內核大。僅在沒有來賓操作系統(tǒng)的虛擬機管理程序上運行也意味著沒有任務服務、沒有信號量和消息傳遞。

對于安全關鍵型系統(tǒng),基于虛擬機管理程序的解決方案需要安全關鍵型操作系統(tǒng)和經(jīng)過認證為任何托管應用程序最高級別關鍵性的虛擬機管理程序。與微內核相比,該代碼庫的總大小會產(chǎn)生巨大的認證負擔,并帶來不必要的風險。

或者,具有虛擬化層的微內核通過將更高延遲和降低確定性的虛擬化副作用限制為僅運行主機微內核 RTOS 的應用程序來實現(xiàn)更高的性能。在安全關鍵型系統(tǒng)中,非關鍵應用程序可以在虛擬化層上運行,而不會增加認證所需的代碼庫大小。

安全性通常是考慮虛擬機監(jiān)控程序的最常被引用的原因。一個常見的誤解是,虛擬機管理程序本質上是安全的,因為它們利用硬件來強制實施虛擬地址空間和虛擬 I/O 來隔離虛擬機。首先,其他技術(如分區(qū)操作系統(tǒng)和分離內核)也使用相同的硬件功能來強制隔離。但是,安全性的主要考慮因素是完整解決方案的安全性僅與底層軟件一樣安全。虛擬機管理程序已被證明容易受到漏洞的影響,這些缺陷可能允許通過緩沖區(qū)溢出和其他漏洞執(zhí)行代碼。例如,2018年初披露的Spectre漏洞可以誘使虛擬機管理程序向來賓應用程序泄露機密。由于虛擬機管理程序在來賓操作系統(tǒng)下運行,因此 VM 無法檢測到受損的虛擬機管理程序。這樣的漏洞甚至有一個吸引人的名字:超級劫持。

微內核具有較小的TCB,而使用分離內核技術的微內核可以具有最高級別的安全性和隔離性。該安全級別的證明是 NSA 發(fā)布的 SKPP 認證或類似的安全標準,例如通用標準 EAL6。一些虛擬機管理程序包含一些分離內核原則以提高安全性,但沒有虛擬機管理程序經(jīng)過 SKPP 或類似安全標準(如通用標準 EAL6)的認證。對于需要隔離但不需要虛擬化的系統(tǒng),基于微內核的分離內核可提供最高級別的安全性,而無需虛擬機管理程序的開銷和擴展代碼庫。

針對性能和安全性進行優(yōu)化

針對最高實時性能和最高安全性進行優(yōu)化的虛擬化解決方案的一個例子是Green Hills Software的INTEGRITY-178 tuMP RTOS,這是一個基于微內核的分離內核,具有完整的虛擬化服務,包括無需修改即可運行多個來賓操作系統(tǒng)的能力。與基于虛擬機管理程序的虛擬化解決方案相反,實時應用程序可以直接在此 RTOS 上運行,而不會在延遲或確定性方面造成虛擬化層損失。

作為分離內核,RTOS完全隔離多個應用程序/分區(qū),并控制應用程序/分區(qū)與外部資源之間的信息流。在某種程度上,這包括保護所有資源免受未經(jīng)授權的訪問,隔離除明確允許的信息流之外的分區(qū),以及一組審計服務。結果是,分離內核提供了高保證的分區(qū)和信息流控制,滿足 NEAT[不可繞過、可評估、始終調用和防篡改] 安全策略屬性。

INTEGRITY-178是唯一獲得NSA發(fā)布的SKPP認證以及通用標準EAL6+的商業(yè)操作系統(tǒng)或虛擬機管理程序。這種安全譜系已經(jīng)擴展到多核INTEGRITY-178 tuMP RTOS。

審核編輯:郭婷

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

    關注

    5186

    文章

    20149

    瀏覽量

    328844
  • 服務器
    +關注

    關注

    13

    文章

    10094

    瀏覽量

    90883
  • 操作系統(tǒng)

    關注

    37

    文章

    7328

    瀏覽量

    128632
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式和FPGA的區(qū)別

    ,F(xiàn)PGA憑借硬件并行處理能力,能夠實現(xiàn)納秒級響應,遠優(yōu)于微秒級的嵌入式系統(tǒng)。 功耗效率上,嵌入式系統(tǒng)針對特定應用優(yōu)化后能效比很高,而FPGA由于可編程特性通常功耗較大,但在特定算法
    發(fā)表于 11-19 06:55

    嵌入式系統(tǒng)的定義和應用領域

    應用系統(tǒng)在功能、可靠性、成本、體積和功耗等方面的嚴格要求的專用計算機系統(tǒng)。 那么,嵌入式系統(tǒng)具體應用在哪些領域呢?事實上,它們的應用非常廣泛。例如,在辦公自動方面,我們常見的打印機、復印機和傳真機
    發(fā)表于 11-17 06:49

    嵌入式軟件測試與專業(yè)測試工具的必要性深度解析

    嵌入式系統(tǒng)作為控制、監(jiān)視或輔助裝置運行的專用計算機系統(tǒng),其軟件測試面臨著獨特的挑戰(zhàn)和嚴格的要求。專業(yè)測試工具在嵌入式軟件開發(fā)過程中發(fā)揮著不可替代的作用,是確保系統(tǒng)可靠性和安全性的關鍵保障。嵌入
    發(fā)表于 09-28 17:42

    嵌入式達到什么水平才能就業(yè)?

    :包括GPIO、定時器、中斷、ADC 等外設的配置與調試,能實現(xiàn)如溫濕度采集、電機控制等功能掌握嵌入式 Linux 驅動開發(fā)基礎:能編寫簡單字符設備驅動,實現(xiàn)設備的初始、讀寫操作,會用內核調試
    發(fā)表于 09-15 10:20

    RISC-V 虛擬堆棧和硬件的最新進展

    RISC-V 虛擬是其突破現(xiàn)有應用邊界、進入更廣泛場景(尤其是高性能計算、云計算、服務器及復雜嵌入式領域)的關鍵能力。比如,在
    發(fā)表于 07-18 16:00 ?3674次閱讀

    Linux嵌入式和單片機嵌入式的區(qū)別?

    Processor Unit)。 2. 單片機嵌入式(也稱為嵌入式微控制器MCU): 定義:一種集成電路,能夠在一個芯片上完成各種計算、控制和管理任務。 特點:小型、低功耗、成
    發(fā)表于 06-20 09:46

    聚徽智控——從嵌入式到邊緣計算:平板工控電腦的技術進化論

    在工業(yè)數(shù)字轉型的浪潮中,平板工控電腦作為核心終端設備,正經(jīng)歷從嵌入式系統(tǒng)到邊緣計算架構的范式革命。這一進化不僅重塑了設備的技術形態(tài),更推動了工業(yè)互聯(lián)從“數(shù)據(jù)采集”向“智能決策”的跨越。本文將從技術
    的頭像 發(fā)表于 06-13 13:48 ?598次閱讀

    嵌入式系統(tǒng)存儲的軟件優(yōu)化策略

    景存儲數(shù)據(jù)的頻率,為保證產(chǎn)品壽命要求,評估選擇合適的存儲類型和容量。 四、飛凌嵌入式賦能 (1)針對eMMC,根據(jù)對壽命及健康信息讀取分析,讓應用掌握更全面的存儲信息,并作出合理的調整。 應用可以實時監(jiān)控
    發(fā)表于 02-28 14:17

    嵌入式主板選型與應用指南

    嵌入式主板是專為嵌入式系統(tǒng)設計的核心硬件平臺,廣泛應用于工業(yè)控制、物聯(lián)網(wǎng)、醫(yī)療設備等領域。以下是關于嵌入式主板的詳細介紹:1.嵌入式主板的核心特點緊湊尺寸:通常采用小型
    的頭像 發(fā)表于 02-27 14:53 ?936次閱讀
    <b class='flag-5'>嵌入式</b>主板選型與應用指南

    嵌入式系統(tǒng)中的代碼優(yōu)化與壓縮技術

    與續(xù)航能力。 二、代碼優(yōu)化策略 算法優(yōu)化:這是最基礎且有效的優(yōu)化方式。在圖像處理的嵌入式應用中,傳統(tǒng)算法可能需要大量的計算資源和時間。
    發(fā)表于 02-26 15:00

    如何提高嵌入式代碼質量?

    的情況下也必須保持穩(wěn)定的性能。 3. 硬件依賴:嵌入式軟件緊密依賴硬件平臺,需要充分理解硬件特性才能編寫高效且穩(wěn)定的代碼。 了解這些特點有助于開發(fā)人員在編寫代碼時有針對性地優(yōu)化和調整,以滿足系統(tǒng)的需求
    發(fā)表于 01-15 10:48

    嵌入式主板的概述與發(fā)展

    未來發(fā)展趨勢進行深入探討。嵌入式主板的基本概念嵌入式主板是指為嵌入式系統(tǒng)設計的電路板,它通常集成了微處理器、內存、輸入輸出接口等關鍵組件。與一般的計算機主板相比,嵌
    的頭像 發(fā)表于 01-13 16:30 ?1185次閱讀
    <b class='flag-5'>嵌入式</b>主板的概述與發(fā)展

    哪些專業(yè)適合學習嵌入式開發(fā)?

    市場的80%以上,那什么專業(yè)能夠輕松轉行呢? 1)計算機科學與技術:作為基礎學科,計算機科學與技術專業(yè)提供了編程、算法、數(shù)據(jù)結構等基礎知識,適合轉行到嵌入式、人工智能和物聯(lián)網(wǎng)領域。 2)電子信息工程
    發(fā)表于 01-03 13:44

    新手怎么學嵌入式?

    基本的概念。嵌入式系統(tǒng)是一種將計算機技術嵌入到特定設備中的系統(tǒng),它通常具有特定的功能和有限的資源。你需要學習一些計算機基礎知識,如數(shù)據(jù)結構、操作系統(tǒng)、
    發(fā)表于 12-12 10:51

    什么是嵌入式人工智能

    嵌入式人工智能是指將人工智能技術應用于嵌入式系統(tǒng)中的一種技術。嵌入式系統(tǒng)是嵌入到其他設備或系統(tǒng)中的計算機系統(tǒng),通常用于控制、監(jiān)測或執(zhí)行特定任
    的頭像 發(fā)表于 12-11 09:23 ?1519次閱讀
    什么是<b class='flag-5'>嵌入式</b>人工智能