精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

盟通技術干貨:通過Hypervisor技術在對稱多處理(SMP)處理器上實現多操作系統部署

盟通科技 ? 2023-11-16 15:00 ? 次閱讀

SMP和AMP不同的特點

隨著多核處理器的出現,為了提高整個系統性能,誕生了不同的可部署技術。多處理主要有兩種類型:對稱多處理(SMP)和非對稱多處理(AMP)。

在SMP中,所有處理器或CPU內核都被認為是平等的,可以分享相同的系統資源,例如:操作系統、主存的地址空間、I/O和外部設備等;而AMP中,每個處理器或CPU有它們自己的軟件,它們獨立于其他處理器或內核來處理應用程序。

AMP的設計優勢在于,每個CPU在處理特定的應用程序時,不會被其他CPU的任務打斷。正如前面所說,在AMP中每個處理器都有自己單獨的內核處理邏輯。這樣的設計更適合工業現場的實時性需求。

詳細的內容可以看文末最后對SMP和AMP不同架構的討論。

而我們提出了一種新的解決方案,通過Hypervisor技術對SMP架構的CPU進行資源劃分,讓其每個分割部分運行獨立的操作系統和應用程序,同時保證其不會被其他CPU的任務打斷。

在SMP架構上實現多操作系統部署

SMP架構上實現單操作系統——Linux使用多個CPU內核

wKgZomVVpoqAFYrpAACzPKm3Is8113.png

在SMP中,大多數情況下一個計算系統運行一個單一的操作系統,如Linux。操作系統可以利用多個處理器或CPU內核來運行系統中的各種應用程序。

02

SMP架構CPU采用共享內存

wKgaomVVppqAEUIAAAAeoI4jtF0067.png

在SMP中各個CPU通過共享內存空間的方式進行數據交互,所有的處理器都可以平等地訪問內存、I/O和外部中斷。

03

SMP架構上實現多操作系統部署——實時Linux使用多個CPU內核

wKgZomVVpqmAIyFFAAHqMCptVdA724.png

在工業現場上,單個計算系統上部署多個操作系統變得越來越普遍。在使用SMP的管理程序解決方案中,多個不同的操作系統(例如Windows + real-time Linux)可以各自獨立地利用一組多個處理器或CPU內核。

Hypervisor技術可以很好的管理這些CPU內核,正如之前所述的SMP的兩大特性:多核心處理單任務及共享內存。在工業控制中為了保證實時性,必須確保運行實時任務的CPU不被其他應用占用;必須保證實時任務的內存不被其他應用占用。這些都需要Hypervisor在底層邏輯上將其完全劃分開。通過Hypervisor技術,我們可以將專用的CPU和內存分配給實時操作系統。讓其他操作系統的應用不能”觸碰“這些資源,

相比于直接使用異構的CPU,SMP+Hypervisor的優勢還在于可以按需分配整個設備資源,而AMP的異構則是在系統設計之初就固定的了。比如說,我的實際應用需要更強大的非實時應用,需要更多相關資源。相比之下,AMP在異構實現上就有很大的限制,無法按需分配,有時候不得不對應用做減法。而SMP+Hypervisor則可以靈活的傾斜更多資源給非實時應用,而給實時應用的資源可能只需要整個CPU核心的10%。

wKgZomVVpr6AH6sIAALC4h2TeQg052.png

Hypervisor技術不僅僅可以構建一個實時系統,他還可以構建多個實時系統,只要硬件的資源足夠豐富,多個不同的操作系統部署在同一個硬件上面是完全可行的。


SMP和AMP不同架構的討論

對稱多處理(SMP)

SMP通常用于高端計算,這些計算環境需要大量的計算能力去執行應用程序任務和進程,許多多處理系統使用SMP架構。SMP最適用于分時(timesharing)和多線程時間共享系統。分時是指將計算資源同時分配給多個用戶。類似地,多線程是中央處理器(CPU)的一個特性,它允許單個進程同時執行多個任務。更具體地說,多線程允許指令的多個線程獨立執行,所有線程共享相同的處理資源。分時操作系統也使用SMP。這是因為計算資源可以分配給多個用戶,多個進程可以并行運行。SMP支持該進程,SMP旨在在不同的處理單元上運行多個進程。出于同樣的原因,SMP也是多線程的。這是因為多線程同時處理多個進程,而SMP在每個處理器之間劃分線程。但是,SMP通常不會用于那些未針對多線程編程進行修改的pc或應用程序。應用程序和程序集應該設計成允許多線程。允許在不同的并行處理器上調度線程。

? SMP架構CPU采用共享內存

wKgaomVVp-qAMqXPAAAetVA-2JI316.png

不對稱多處理(AMP)

傳統的單處理器系統提供的執行環境與非對稱多處理的工作方式非常相似。它提供了一種相對簡單的方式來移植代碼,并提供了一種控制CPU使用的直接機制。在大多數情況下,你可以使用標準的調試工具和技術。AMP系統可以是同構的(每個CPU運行相同類型和版本的操作系統)或異構的(每個CPU運行不同的操作系統或相同操作系統的不同版本)。此外,AMP最有可能用于不同的CPU架構對特定應用的優化,如數字信號處理器(DSP)和微控制器(MCU)。在AMP系統中,可以在每個處理器或CPU內核上部署不同的操作系統。

如果你的操作系統支持特定的分布式編程模型,則可以充分利用同構環境中的多個cpu。在特定CPU上運行的應用程序將能夠與其他CPU上的應用程序和系統服務(例如,協議棧、設備驅動程序等)透明地通信,而不需要傳統的處理器間通信所帶來的高CPU負載。在異構系統中,必須選擇兩個共享公共基礎資源(最常見的是基于ip的)的操作系統,或者為處理器間的通信實現專有的通信方案。操作系統還應該提供訪問共享硬件組件的機制,以幫助避免資源沖突。使用AMP,應用程序使用的共享硬件資源必須在CPU之間分配。外設、物理內存以及中斷處理等資源通常是在啟動時靜態分配的。

動態分配資源會導致CPU之間復雜的協調。在AMP系統中,即使其他CPU空閑,一個進程也總是運行在同一個CPU上。因此,CPU可能會輕負荷或過載。為了解決這個問題,系統可以允許應用程序動態地從一個CPU遷移到另一個CPU。然而,這可能涉及復雜的狀態信息檢查,如果應用程序在一個CPU上停止,而在另一個CPU上重新啟動,可能會中斷服務。此外,如果cpu運行不同的操作系統,這樣的遷移即使不是不可能,也是非常困難的。

? 使用AMP在不同的cpu上分區內存和I/O

wKgaomVVp_-ATx0pAABmtvGD5Ys130.png

聯系盟通

北京盟通科技有限公司成立于2013年,是工業自動化領域的高新技術企業。公司專注于實時現場總線技術及工業通訊技術的研發、推廣及技術支持服務。依托于核心團隊多年的海外和行業經驗,盟通科技與歐洲多家自動化領域的佼佼者達成戰略合作關系,為客戶提供EtherCAT主站協議棧、OPC UA SDK軟件開發包、CANopen協議棧、FSoE協議軟件、CAN總線硬件、DINA安全模塊、艾默生Connext軟件等工業協議的標準和定制化產品

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

    關注

    68

    文章

    19178

    瀏覽量

    229200
  • 操作系統
    +關注

    關注

    37

    文章

    6747

    瀏覽量

    123204
  • ethercat
    +關注

    關注

    18

    文章

    657

    瀏覽量

    38611
  • 操作系統內核

    關注

    0

    文章

    8

    瀏覽量

    2365
收藏 人收藏

    評論

    相關推薦

    混合部署 | 在迅為RK3568同時部署RT-Thread和Linux系統

    (非對稱多處理)是一種更靈活的架構,允許不同的核心運行不同的操作系統實現更高效的資源利用和任務分配。通過 AMP,系統可以為不同的任務選擇
    發表于 11-01 10:31

    盛顯科技:拼接處理器如何實現高效數據拼接操作?

    眾所周知,高效的數據拼接操作無疑是數據處理領域的核心優勢,它能極大地縮短了處理時間,讓拼接處理器能夠迅速應對海量數據的挑戰,實現數據的快速整
    的頭像 發表于 10-23 10:58 ?184次閱讀
    盛顯科技:拼接<b class='flag-5'>處理器</b>如何<b class='flag-5'>實現</b>高效數據拼接<b class='flag-5'>操作</b>?

    【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+ Hypervisor應用場景調研

    Hypervisor有兩個類型:I型和II型,其中I型直接運行在硬件設備,II型運行在一個操作系統,該操作系統運行在硬件設備
    發表于 10-14 11:21

    【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+ 了解Hypervisor

    被稱為主管(Supervisor),而虛擬機監控程序用來托管主管,稱為超級主管,即Hypervisor,也被稱為虛擬機管理。看來Hypervisor是用來實現主機虛擬化的,同時管理多
    發表于 10-13 16:47

    對稱多處理器的特點是什么

    的主要特點是處理器之間的對稱性,這意味著每個處理器都可以執行任何任務,并且它們在處理能力是等價的。 1.
    的頭像 發表于 10-10 16:36 ?267次閱讀

    對稱多處理器系統中的進程分配包括

    在現代計算機系統中,對稱多處理器SMP)架構已經成為主流。這種架構允許多個處理器共享相同的內存地址空間和系統資源,從而提高了
    的頭像 發表于 10-10 16:34 ?197次閱讀

    對稱多處理器和非對稱多處理器的區別

    隨著計算需求的日益增長,單處理器系統已經無法滿足高性能計算的需求。多處理器系統應運而生,它們通過將多個
    的頭像 發表于 10-10 15:58 ?490次閱讀

    【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+第三四章閱讀報告

    通過時間片輪轉、內存分頁等技術實現資源的公平分配和高效利用。 中斷與異常處理 :學習了Hypervisor如何
    發表于 10-09 18:29

    【「嵌入式Hypervisor:架構、原理與應用」閱讀體驗】+第一二章讀后感

    我對本書后續章節的學習充滿了期待。我希望通過深入學習PRTOS Hypervisor的設計與實現技術,以及其在RTOS、Linux等操作系統
    發表于 10-09 18:22

    混合部署 | 在迅為RK3568同時部署RT-Thread和Linux系統

    (非對稱多處理)是一種更靈活的架構,允許不同的核心運行不同的操作系統實現更高效的資源利用和任務分配。通過 AMP,系統可以為不同的任務選擇
    發表于 09-18 10:54

    【本周六-上海】SMP對稱多處理 線下培訓

    對稱多處理(SymmetricMultiprocessing,SMP)是一種常見的并行計算架構,其中多個處理器核心共享相同的內存和總線系統。這種架構允許多個
    的頭像 發表于 06-13 08:35 ?278次閱讀
    【本周六-上海】<b class='flag-5'>SMP</b><b class='flag-5'>對稱多處理</b> 線下培訓

    RT-Thread?SMP培訓即將來襲,提升嵌入式開源開發技能,快來報名!

    對稱多處理(SymmetricMultiprocessing,SMP)是一種常見的并行計算架構,其中多個處理器核心共享相同的內存和總線系統。這種架構允許多個
    的頭像 發表于 06-06 08:35 ?342次閱讀
    RT-Thread?<b class='flag-5'>SMP</b>培訓即將來襲,提升嵌入式開源開發技能,快來報名!

    精進嵌入式開源開發技能,RT-Thread?SMP培訓即將來襲!

    對稱多處理(SymmetricMultiprocessing,SMP)是一種常見的并行計算架構,其中多個處理器核心共享相同的內存和總線系統。這種架構允許多個
    的頭像 發表于 05-31 08:35 ?462次閱讀
    精進嵌入式開源開發技能,RT-Thread?<b class='flag-5'>SMP</b>培訓即將來襲!

    如何在多處理器系統中使用EMIF?

    我想在多處理器系統中使用 EMIF。 為此,應不時將地址和數據總線設置為高阻抗狀態。 可能嗎? 我找不到圖紙中連接 EMIF 總線的位置? 直接連接到 PIN 或
    發表于 03-05 06:51

    SMP是什么 啟動方式介紹

    SMP是什么? SMP 英文為Symmetric Multi-Processing ,是對稱多處理結構的簡稱,是指在一個計算機上匯集了一組處理器
    的頭像 發表于 12-05 15:23 ?1752次閱讀