国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

嵌入式虛擬化支持多核實時應用程序的可擴展性

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Kim Hartman ? 2022-06-21 10:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式虛擬化對 OEM 有幾個積極的影響。例如,一旦有一種方法可以拆分應用程序以在多個內核上運行同時保持確定性,該解決方案隨后可以使實時應用程序能夠向上或向下擴展它們使用的內核數量。借助可擴展性,OEM 可以為其產品提供一系列性價比選項,而無需更改軟件。

虛擬化在計算機科學中并不是一個新概念,但隨著多核處理器的出現,它引起了新的興趣。盡管虛擬化被認為是保持多個處理器內核忙碌的一種方式,但需要注意的是,大多數類型的服務器或客戶端虛擬化并非旨在滿足時間關鍵型嵌入式處理的需求。這些虛擬化方法通常以相同的方式對待多核芯片上的所有處理器。在這些系統中,單個操作系統 (OS) 在處理器可用時將任務分配給處理器,以試圖使所有處理器盡可能地負載處理任務。

服務器和客戶端虛擬化通常會虛擬化所有硬件,包括 I/O 接口。當 I/O 接口需要服務時,虛擬機監視器 (VMM) 會處理請求并將結果傳遞給它所支持的操作系統客戶端。沒有辦法確保在屬于該客戶端的 I/O 需要服務時加載特定的 OS 客戶端,也沒有一種全局方法可以將特定 I/O 與客戶端 OS 和在其上運行的應用程序相關聯。因此,無法準確保證處理 I/O 事件需要多少時間。因此,這種方法不適用于處理嵌入式系統中的實時處理。

嵌入式系統設計人員希望直接控制系統以獲得確定性和一致的性能。雖然需要平衡整體處理器利用率并保持多核處理器盡可能繁忙,但這并不是首要任務。首先,嵌入式設計人員正在尋找能夠幫助他們在增加功能和/或降低 OEM 產品成本的同時保持確定性的軟件技術。

嵌入式設計人員正在尋找一種軟件平臺,使他們能夠組合不同類型的操作系統,以便針對手頭的任務優化處理——例如,處理關鍵 I/O 時序要求的實時操作系統和通用操作系統( GPOS) 來利用 COTS 圖形豐富的應用程序,這些應用程序運行人為導向的功能。他們還在尋找擴展應用程序的解決方案,以便他們可以使用相同的應用程序代碼庫提供不同的產品。這降低了工程開發成本,縮短了上市時間,更重要的是,使新產品能夠基于經過驗證的軟件,這些軟件可以在性能和可靠性方面不斷升級。

嵌入式虛擬化保留了確定性

為了使嵌入式應用程序具有確定性,它必須從開發項目的一開始就進行設計。確定性不是可以在最后添加的東西。必須特別考慮以確保應用程序線程可以直接控制它們所依賴的 I/O 接口。

圖 1 顯示了一個拾放裝配系統,其中 TenAsys 的 Windows 實時操作系統 (RTOS) 托管在四核處理器的三個內核上,而人機界面 (HMI) 托管在第四個內核上。運行 Microsoft Windows 的核心。運行在不同 CPU 上的實時任務在需要時通過全局對象網絡進行通信。該自動化裝配系統包括三個實時子系統:引導裝配機器人的視覺系統、多軸機器人以及將組件索引到裝配位置然后運出裝配單元的材料運輸系統。開發和調試此類應用程序以確保每個組件按要求可靠運行的理想方法是將應用程序拆分為單獨的組件。

圖 1:嵌入式系統可以節省成本并保持實時響應能力,同時通過在多核處理器上托管多個操作系統來添加功能。

pYYBAGKxLUSAPzFwAAcaGvDUllA842.png

例如,HMI 將是一個單獨的應用程序模塊,可以在 Windows 等非實時環境中運行。這需要一個可以劃分平臺資源的操作系統環境——I/O、內存、中斷和 CPU 內核(在多核處理器平臺的情況下)——以允許應用程序模塊完全獨立地運行。嵌入式虛擬化環境支持這一點,允許不同的實時任務在特定的處理器內核上運行。操作軟件對物理 I/O 接口進行分區,以便來自設備之一的中斷僅中斷處理該設備的處理器。這確保了處理實時事件的可預測響應時間。

多核芯片上的多個操作系統環境的托管由稱為嵌入式虛擬化管理器的軟件或包含在 RTOS 中的特殊嵌入式虛擬化功能進行管理。

嵌入式虛擬化可以以不同的方式實現,具體取決于處理器提供的硬件虛擬化支持量。半虛擬化解決方案使用軟件技術來修改客戶操作系統,允許它們并肩工作,而不會相互影響或損害系統的實時響應能力。實現提供了不同程度的平臺分區,并且通常僅限于在一個平臺上一次運行兩個操作系統——一個 RTOS 和一個 GPOS。一些實現已經發展到 GPOS 不需要任何修改并且很容易支持最新版本的 GPOS 的地步。當將 GPOS 耦合到 RTOS 的目的是按原樣使用傳統 RTOS 應用軟件時,這是一個真正的優勢,無需任何修改,

多年來,其中一些實現已經過優化,可為特定的操作系統組合提供最佳性能。這樣做的缺點是每個實現都特定于特定的操作系統組合,提供通用虛擬化解決方案以支持多種操作系統組合是一種不切實際的方法。

最近推出的 VT(由 Intel 處理器支持)等硬件輔助虛擬化功能通過提供內置于處理器中的硬件輔助,消除了半虛擬化的一些軟件復雜性。通過使用硬件虛擬化支持,可以構建 VMM 以在不了解客戶操作系統的情況下運行。因此,VMM 可以支持針對該平臺的任何操作系統。

英特爾處理器特性,如 VT-x(VT 特性的一個子集)確保客戶操作系統發出的任何內存地址都自動映射到物理內存中的適當地址位置。同樣,稱為 VT-d 的硬件輔助虛擬化功能自動映射總線主控 DMA 設備的 I/O 內存訪問,使作為來賓 RTOS 應用程序一部分的本機 I/O 驅動程序無需修改即可在虛擬化環境中使用。這些硬件輔助功能大大降低了 VMM 的復雜性,并使嵌入式虛擬化成為更可行的解決方案。

使可伸縮性在實時應用程序中發揮作用

雖然嵌入式虛擬化為將實時應用程序拆分為單獨的獨立操作組件提供了理想的環境,但拆分應用程序需要一種機制來支持進程間通信 (IPC)。

過去,設計人員經常在應用子系統之間建立以太網鏈路,并使用 TCP/IP 堆棧在子系統之間進行通信,但這種方法繁瑣、速度慢,有時不可靠,并且給系統的行為增加了不確定性,影響了確定性。

更好的 IPC 方法是使用稱為全局對象網絡的概念。 全局對象網絡提供了一個具有內置啟動和發現服務的托管通信環境,使應用程序能夠在加載時動態分布在一個或多個 CPU 上。自動找到需要其他進程服務的進程,并且本地管理器記錄它們的位置以跟蹤已建立的 IPC 鏈接。如果通信鏈路或目標進程發生故障,管理器會通知啟動進程。此外,當啟動過程不再需要 IPC 鏈接時,本地管理器通過清除所有記錄來保持系統清潔。由于全局對象網絡與操作系統集成,其開銷很低,并且不需要應用程序開發人員創建任何自定義軟件。

操作系統管理全局對象的位置和存在,進程通過這些對象傳遞信息以確保系統的完整性。例如,一個進程在多個處理器上使用的對象是“保持活動狀態”的,只有在所有進程都終止時才會被刪除。這需要底層管理基礎架構來確保不會過早刪除對象,或者不會因為未使用資源清理不當而導致內存泄漏。同樣,如果一個處理節點在其進程終止之前發生故障,管理器需要通知所有其他處理節點上的全局對象管理器它們應該清除對故障節點上對象的任何本地引用。

GOBSnet 通信示例

圖 2 顯示了圖 1 所示系統的軟件架構的高度簡化視圖。除了 RTOS 和實時過程軟件,Cores 0-2 還運行 INtime GOBS manager 軟件,其功能是管理全局對象通信。(GOBSnet 是 TenAsys 的全球對象網絡,由公司的 INtime Distributed RTOS 和 INtime for Windows RTOS 支持。)

圖 2: GOBSnet 促進了在不同處理器內核上運行的實時進程之間的通信。

poYBAGKxLU2AMl8BAAX9vtS0lPw407.png

使用 GOBSnet,一個內核上的進程可以使用全局內存對象與另一個內核上的另一個進程通信。啟動進程,圖 2 中的“進程 1”,創建內存對象并將其編入該內核的根進程中。完成此操作后,運行在其他處理節點上的進程可以找到內存對象,從而為所有進程提供高效的共享內存接口。這同樣適用于 IPC 使用的所有對象范圍(包括信號量和郵箱)。

第二步是讓其他進程定位內存對象并獲取其內存位置。這是通過指定處理器名稱來開始搜索來完成的。當進程找到對象時,它將其位置、類型和參數存儲在處理器節點的 GOBS 管理器中的引用對象中,并保留該引用對象的句柄。從那時起,當遠程進程(本例中的進程 2 或進程 3)想要寫入或讀取內存對象時,它會使用引用對象的句柄來檢索適當的內存對象信息以訪問它。

當進程 2 或進程 3 終止其節點的 GOBS 管理器時,該管理器會清除有關遠程內存對象的所有引用對象信息。當進程 1 終止時,它會刪除它創建的所有對象,包括內存對象。如果這不是最佳操作,則可以選擇使用計數器創建內存對象。每當另一個進程連接到內存對象時,計數器就會增加,而每當這些關聯的進程之一終止時,計數器就會減少。結果是內存對象僅在與其連接的所有進程都終止時才被刪除。這允許遠程進程進程 2 和進程 3 可以繼續通過內存對象傳遞信息的情況,即使啟動進程進程 1 已經終止。

無論實時應用程序分布在同一多核芯片上的 CPU 之間,還是網絡在一起的不同微處理器組件上的不同 CPU 內核之間,都可以使用 GOBSnet 通信。通過圍繞這種靈活的系統軟件架構設計系統,嵌入式系統開發人員有足夠的空間來提高其產品的處理能力或相應地縮小其處理能力,以應對未來的挑戰。

審核編輯:郭婷

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

    關注

    68

    文章

    20259

    瀏覽量

    252546
  • 嵌入式
    +關注

    關注

    5200

    文章

    20469

    瀏覽量

    334381
  • cpu
    cpu
    +關注

    關注

    68

    文章

    11285

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    arm嵌入式主板優缺點

    。   二、強大的擴展功能和網絡傳輸功能:隨著更多的行業開始使用到嵌入式主板,導致市場對主板功能的要求的差異化越來越大。嵌入式主板ARM的出現,恰恰滿足了這個個性的需求。從
    發表于 01-08 07:08

    什么是嵌入式操作系統?

    RT-Thread)還集成了設備驅動框架,支持 SPI、I2C、UART 等外設的標準調用,和 HAL 庫配合更高效。 四、嵌入式 OS 的典型特征(判斷一個 OS 是否適合嵌入式
    發表于 12-09 10:33

    嵌入式軟件分層架構設計原則

    嵌入式軟件分層架構的設計原則如下: 模塊擴展性:每一層應當保持松耦合,這樣當硬件變化或某些功能擴展時,只需要修改對應的層次,而不影響整
    發表于 11-28 07:05

    嵌入式實時操作系統的特點

    操作系統具備高效的中斷處理機制,能夠快速響應和處理系統的中斷事件。 資源管理:實時嵌入式操作系統提供有效的資源管理機制,包括內存管理、設備驅動程序、文件系統和網絡協議等,以支持
    發表于 11-13 06:30

    如何評估電能質量在線監測裝置的擴展性?

    評估電能質量在線監測裝置的擴展性,需圍繞 “ 硬件擴展、軟件升級、協議兼容、場景適配 ”
    的頭像 發表于 10-22 16:35 ?594次閱讀

    NetApp助力對象存儲現代,提升速度、擴展性和安全性

    智能數據基礎設施公司NetApp? (NASDAQ: NTAP) 今天宣布推出NetApp StorageGRID? 12.0,這是一款擴展的軟件定義對象存儲解決方案,專為非結構數據而設
    的頭像 發表于 09-11 10:41 ?557次閱讀

    嵌入式工程師為什么要學QT?

    Qt對嵌入式工程師來說,真的很重要嗎? Qt是一個跨平臺的C++應用程序開發框架,非常適合嵌入式系統的開發,Qt在嵌入式開發中具有很重要的作用。 在項目實踐中可以看出,Qt在工業自動
    發表于 08-14 15:15

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

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

    一文讀懂:嵌入式Linux實時性進階

    在工業控制、機器人、汽車電子等關鍵領域,嵌入式系統對實時性要求極高。 Linux作為強大的通用操作系統,其原生實時性能難以滿足最嚴苛的硬實時需求。為突破這一限制,PREEMPT_R
    發表于 07-10 15:26

    嵌入式軟件開發常用的軟件有哪些?

    源代碼編輯器。這個軟件支持語法高亮,代碼自動補全,代碼重構,查看定義功能,并且內置了命令行工具和Git版本控制系統。用戶可以更改主題和鍵盤快捷方式實現個性設置。也可以通過內置的擴展程序
    發表于 07-03 17:06

    Linux嵌入式和單片機嵌入式的區別?

    較高,需要較大的內存和存儲空間來運行Linux系統和應用程序。 5. 擴展性 : 單片機嵌入式擴展性有限,通常只能通過增加外設來
    發表于 06-20 09:46

    瑞薩電子RA系列微控制器的擴展性強的配置軟件包 (FSP)安裝下載與使用指南

    瑞薩電子RA系列微控制器的擴展性強的配置軟件包 (FSP)安裝下載與使用指南
    的頭像 發表于 06-11 17:21 ?1902次閱讀

    飛凌嵌入式ElfBoard ELF 1板卡-Regmap的優勢

    的讀寫操作,沒有提供寄存器緩存功能。 四、擴展性:Regmap 提供了一個模塊的框架,可以輕松擴展支持更多的通信接口和寄存器映射類型。這
    發表于 05-22 10:39

    瑞芯微RK3288解決方案:高性能、高擴展性嵌入式系統設計理念與應用分析

    。本文將深入剖析基于RK3288的處理方案,重點闡述其在硬件架構、軟件平臺、擴展性設計以及應用場景等方面的優勢,并探討其所蘊含的嵌入式系統設計理念。一、RK328
    的頭像 發表于 05-08 15:39 ?1140次閱讀
    瑞芯微RK3288解決方案:高性能、高<b class='flag-5'>擴展性</b>的<b class='flag-5'>嵌入式</b>系統設計理念與應用分析

    IAR推動嵌入式開發:云就緒、擴展的CI/CD和持續自動

    IAR正式發布全新云就緒平臺,為嵌入式開發團隊提供企業級的擴展性、安全性和自動能力。
    的頭像 發表于 04-07 11:21 ?697次閱讀