一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內(nèi)不再提示

如何利用虛擬化技術(shù)解決物聯(lián)網(wǎng)開發(fā)難題(上 )

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-25 19:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

物聯(lián)網(wǎng)市場的應(yīng)用場景日益復(fù)雜,越來越多的上網(wǎng)設(shè)備需要支持更多的硬件資源、操作系統(tǒng)、軟件工具及應(yīng)用程序,現(xiàn)有的解決方案顯然無法為數(shù)量龐大的物聯(lián)網(wǎng)設(shè)備提供相應(yīng)的靈活性,這使開發(fā)者們面臨巨大的設(shè)計壓力。虛擬化技術(shù)是解決這些問題的關(guān)鍵。不過,現(xiàn)有的虛擬化解決方案并不能滿足物聯(lián)網(wǎng)開發(fā)的輕量級和靈活性的特殊要求。為了滿足當(dāng)前物聯(lián)網(wǎng)市場的發(fā)展趨勢,Linux基金會推出了開源項目---ACRN,

ACRN到底具有哪些強大的功能,它又是怎么實現(xiàn)的?今天我們就從架構(gòu)到應(yīng)用對ACRN進行詳細分析,讓開發(fā)者們快速上手使用ACRN進行產(chǎn)品設(shè)計。

ACRN是一個專為嵌入式設(shè)備設(shè)計的hypervisor,包括如下兩部分:一套hypervisor的參考軟件和架構(gòu),通過虛擬機監(jiān)視器(Virtual Machine Manager)可以在同一個物理硬件上安全地同時運行多個操作系統(tǒng)。另外,它還為設(shè)備虛擬化模擬定義了一套參考設(shè)計框架,稱為“ACRN設(shè)備模型”。

ACRN hypervisor是一個Type-I的hypervisor,可以直接運行在物理硬件上,適用于各種物聯(lián)網(wǎng)和嵌入式設(shè)備解決方案。ACRN hypervisor解決了當(dāng)前數(shù)據(jù)中心hypervisor和partitioning hypervisor之間存在的差距。ACRN hypervisor設(shè)計時把系統(tǒng)分為不同的功能域,并為物聯(lián)網(wǎng)和嵌入式設(shè)備精心挑選的用戶操作系統(tǒng)進行共享優(yōu)化。

汽車應(yīng)用案例

ACRN hypervisor的一個有趣的案例是用于汽車場景。ACRN hypervisor可以用于構(gòu)建軟件定義駕駛艙(SDC)或者車載娛樂系統(tǒng)(IVE)。作為參考實現(xiàn),ACRN可以為嵌入式hypervisor廠商的解決方案提供一個很好的基礎(chǔ),以及一套I/O設(shè)備虛擬化的參考設(shè)計。

在這種場景下,汽車SDC系統(tǒng)由儀表盤(IC)系統(tǒng)、車載信息娛樂系統(tǒng)(IVI)和一個或多個后座娛樂系統(tǒng)(RSE)組成。為了整體系統(tǒng)安全性考慮,每個系統(tǒng)都作為獨立的虛擬機運行。

儀表盤系統(tǒng)(IC)用于顯示和駕駛員相關(guān)的車輛的駕駛操作信息,如:

汽車的速度、燃油、行駛里程和其它駕駛信息;

投影在擋風(fēng)玻璃上的抬頭顯示,用以警告缺油或胎壓報警;

顯示后視攝像頭影像和車身的周邊攝像頭信息,用于輔助停車;

車載娛樂系統(tǒng)(IVI)的功能包括:

導(dǎo)航系統(tǒng)、收音機和其它娛樂系統(tǒng);

連接到移動設(shè)備,可以打電話,播放音樂或者通過語音識別來控制應(yīng)用程序;

通過手勢識別或觸控進行交互;

后座娛樂系統(tǒng)(RSE)可以運行:

娛樂系統(tǒng);

虛擬辦公;

連接到前排座椅的IVI系統(tǒng)和移動設(shè)備(云連接);

連接到移動設(shè)備,可以打電話,播放音樂或者通過語音識別來控制應(yīng)用程序;

通過手勢識別或觸控進行交互;

ACRN hypervisor可以支持Linux*和Android*虛擬機作為用戶操作系統(tǒng)(UOS),UOS由ACRN hypervisor進行管理。開發(fā)者和OEM廠商可以在ACRN hypervisor之上運行自己的虛擬機,以及IC、IVI和RSE VM。Service OS是作為VM0運行(在Xen* hypervisor中被稱為Dom0,在KVM* hypervisor中被稱為Host OS),User OS用戶操作系統(tǒng)作為VM1運行(也被稱為DomU)。

注:Android*虛擬機的支持將在未來版本發(fā)布。

圖1顯示了一個使用ACRN hypervisor的實例框圖。

圖1:SOS和UOS運行在ACRN hypervisor之上

從ACRN hypervisor的架構(gòu)圖中可以看到:

ACRN hypervisor直接位于bootloader之上,因而具備快速啟動的能力;

部分資源進行partitioning,以確保安全關(guān)鍵性應(yīng)用和非安全關(guān)鍵業(yè)務(wù)可以共存在同一平臺上;

豐富的I/O設(shè)備虛擬化提供在多個VM之間的I/O設(shè)備共享,從而提供全面的用戶體驗;

通過高效的虛擬化,一個SoC可以支持多個操作系統(tǒng)同時運行;

圖1中的黃色部分是ACRN項目的軟件棧。該架構(gòu)框圖中列出的某些功能還沒有完全實現(xiàn),歡迎社區(qū)共同參與開發(fā)實現(xiàn)。另外,圖中的其他模塊來自于別的開源項目,這里僅供參考。

例如,Service OS和Guest Linux來源于https://clearlinux.org上的Clear Linux項目,而未來Guest Android的支持將會來自https://01.org/android-ia項目。

當(dāng)前ACRN所支持的功能列表,請參照發(fā)布說明。

許可證

ACRN hypervisor和ACRN Device Model軟件采用的都是自由許可證的BSD-3-Clause,它允許以“源代碼和二進制再次發(fā)布和使用,無論是否進行了修改”, 許可證中也注明了完整版權(quán)聲明和免責(zé)聲明。

ACRN Device Model, Service OS, and User OS

為了使ACRN hypervisor代碼盡可能精悍且高效,用于實現(xiàn)I/O設(shè)備共享的device model代碼運行在Service OS中而非ACRN Hypervisor。哪些I/O設(shè)備被共享以及其實現(xiàn)細節(jié)將在下面的pass-through章節(jié)具體介紹。

Service OS在所有虛擬機里,以最高優(yōu)先權(quán)運行,以滿足那些對時間響應(yīng)要求很高的需求和系統(tǒng)服務(wù)質(zhì)量的需求(QoS)。具體到Service OS中的任務(wù)(task),他們的優(yōu)先級則有高有低。例如響應(yīng)User OS請求的回調(diào)函數(shù),其運行在Service OS的軟件(或者mediator)就會繼承User OS的優(yōu)先級。另外,在Service OS中還有一些在后臺運行的任務(wù)也是低優(yōu)先級。

在上述的車載系統(tǒng)示例中,User OS是駕駛控制和車內(nèi)娛樂的中心樞紐。它能提供收音機和各種娛樂選項、車內(nèi)空調(diào)和通風(fēng)控制、車輛導(dǎo)航顯示等支持。它可以讓第三方設(shè)備使用USB、藍牙或者WiFi等連接技術(shù)與車載系統(tǒng)進行交互,例如:Android Auto* 或者 Apple CarPlay*, 還能提供許多其它功能。

啟動步驟

在圖2中,我們展示了在一個采用英特爾架構(gòu)平臺的NUC上使用UEFI驗證啟動的步驟。

Figure 2 ACRN Hypervisor Boot Flow

啟動引導(dǎo)順序執(zhí)行如下:

1 UEFI驗證和啟動ACRN hypervisor和Service OS的引導(dǎo)加載程序;

2 UFEI(或Service OS的引導(dǎo)加載程序)驗證并啟動Service OS內(nèi)核;

3 Service OS的內(nèi)核通過dm-verity驗證并且加載ACRN Device Model和虛擬引導(dǎo)加載程序;

4 虛擬引導(dǎo)加載程序啟動用戶端的驗證啟動進程;

ACRN Hypervisor架構(gòu)

ACRN hypervisor是Type 1的虛擬機管理程序,能夠直接運行在硬件系統(tǒng)上。它是一個混合的VMM架構(gòu),采用一個運行在特權(quán)級的Service OS來管理和協(xié)調(diào)I/O設(shè)備的使用。它能支持多個用戶虛擬機,其中每個虛擬機都可以運行Linux或者安卓操作系統(tǒng)作為用戶操作系統(tǒng)。

在虛擬機內(nèi)運行的操作系統(tǒng)是與其它虛擬機內(nèi)的系統(tǒng)或應(yīng)用程序相互隔離的,從而縮小了潛在的被攻擊可能性,最大限度地減小安全隱患。當(dāng)然由于系統(tǒng)運行在虛擬機內(nèi)也可能會給其應(yīng)用程序的運行帶來額外的延遲。

圖3顯示了ACRN hypervisor、車載系統(tǒng)中的Instrumental Cluster (IC) VM和Service VM一起協(xié)同工作的架構(gòu)圖。Service OS(SOS)負責(zé)包括平臺設(shè)備在內(nèi)的大部分設(shè)備的管理,并提供I/O的協(xié)調(diào)功能。某些PCIe設(shè)備可以通過VM配置直通給User OS使用。IC應(yīng)用程序和虛擬機特定的應(yīng)用程序都運行在SOS中,例如:ACRN device model和ACRN VM管理器。

ACRN hypervisor內(nèi)還有ACRN虛機管理器,用來收集User OS的運行信息,并控制用戶虛擬機的開始、停止和暫停,還能暫停或者恢復(fù)執(zhí)行單個虛擬CPU。

圖3 ACRN Hypervisor 架構(gòu)圖

ACRN hypervisor采用了英特爾虛擬化技術(shù)(Intel VT),其運行在虛擬機擴展模式(VMX)的root模式下,也稱為主機模式或VMM模式。其他所有的用戶虛擬機包括UOS和SOS都運行在VMX non-root模式或guest模式下。(以下為了簡略,我們將繼續(xù)使用術(shù)語VMM模式和guest模式)。

VMM模式下有4種權(quán)限的ring模式,但ACRN hypervisor僅在ring 0的特權(quán)模式下運行,其余ring 1-3并未使用。運行在guest模式下的用戶系統(tǒng)(包括SOS和UOS)也有自己的4個ring模式(ring 0-3)。用戶系統(tǒng)的內(nèi)核運行在guest模式下的ring 0,而用戶系統(tǒng)的應(yīng)用程序則在guest模式下運行于ring 3(ring 1和ring 2一般不被商業(yè)操作系統(tǒng)所使用)。

圖4 VMX 簡介

如圖4所示,VMM模式和guest模式通過VM Exit和VM Entry進行切換。當(dāng)引導(dǎo)加載程序?qū)⒖刂茩?quán)交給ACRN hypervisor時,處理器還未啟動VMX模式。ACRN hypervisor首先需要通過VMXON指令啟用VMX模式。啟用VMX后,處理器處于VMM模式,它可以通過VM resume指令進入guest模式(或者通過第一次VM launch指令),然后可以通過處理器的VM exit事件回到VMM模式。一般處理器會在響應(yīng)某些指令和事件時發(fā)生VM exit。

在guest模式下,處理器的執(zhí)行是由一個虛擬機控制結(jié)構(gòu)(VMCS)所控制的。VMCS包含了虛機狀態(tài)(在VM Entry時加載并在VM Exit時保存),主機狀態(tài)(在VM exit時加載),以及虛機的控制執(zhí)行。ACRN hypervisor為每個虛擬CPU創(chuàng)建了一個VMCS數(shù)據(jù)結(jié)構(gòu),并使用該VMCS來控制運行在guest模式下處理器的行為。

當(dāng)虛機執(zhí)行到一個敏感指令時,就會觸發(fā)一次定義在VMCS配置中的VM exit事件。當(dāng)VM exit發(fā)生后,系統(tǒng)的控制權(quán)就交給了ACRN hypervisor。ACRN hypervisor會模擬虛機的指令(如果VM exit的原因是由于指令權(quán)限問題),然后恢復(fù)虛機繼續(xù)執(zhí)行它的下一條指令,或者根據(jù)VM exit的原因進行相關(guān)處理(例如,一個虛機的存儲頁面需要建立映射關(guān)系),然后恢復(fù)虛機重新執(zhí)行該條指令。

需要注意的是用于VMM模式的地址空間和用于guest模式的地址空間是不同的。guest模式和VMM模式下使用不同的內(nèi)存映射表,因此虛機是無法訪問ACRN hypervisor的。ACRN hypervisor使用EPT來映射虛機地址,虛機頁表會將虛機的線性地址映射到虛機的物理地址, EPT表則將虛機的物理地址映射到機器物理地址或主機物理地址(HPA)。

ACRN Device Model Architecture

因為系統(tǒng)設(shè)備可能需要在不同的虛機之間被共享,虛機內(nèi)應(yīng)用程序(和操作系統(tǒng))要對這些共享設(shè)備進行訪問就需要借助設(shè)備模擬。一般來說,設(shè)備模擬有三種架構(gòu):

·第一種架構(gòu)被稱為hypervisor中的設(shè)備模擬,這是在VMware*工作站產(chǎn)品(一個基于操作系統(tǒng)的hypervisor)中實現(xiàn)的設(shè)備模擬方式。在這種方式中,hypervisor負責(zé)模擬需要在各個虛機操作系統(tǒng)之間共享的常見設(shè)備,其中包括:虛擬磁盤、虛擬網(wǎng)絡(luò)適配器和其它必要的平臺資源。

·第二種架構(gòu)稱為用戶空間的設(shè)備模擬。顧名思義,不是將設(shè)備模擬的實現(xiàn)嵌入到hypervisor中,而是將其放在一個用戶空間的應(yīng)用程序中實現(xiàn)。比如被各種獨立的hypervisor所使用的QEMU就提供了此類的設(shè)備模擬方式。這種架構(gòu)的優(yōu)勢在于設(shè)備模擬的實現(xiàn)不依賴于hypervisor,所以其它hypervisor可以重用改實現(xiàn)。甚至它還可以做任意設(shè)備的模擬,而不必擔(dān)心其功能的實現(xiàn)會影響hypervisor(其在特權(quán)模式下運行)。

·第三種架構(gòu)則是從基于hypervisor的設(shè)備模擬改變而來的半虛擬化驅(qū)動程序。該架構(gòu)一開始是在XEN項目中引入的,其中hypervisor提供物理設(shè)備驅(qū)動,每個虛機操作系統(tǒng)則需要安裝一個與能與物理驅(qū)動配合使用的hypervisor感知的驅(qū)動程序。

在以上討論的設(shè)備模擬架構(gòu)中,共享設(shè)備都需要付出代價。因為不管設(shè)備模擬是在hypervisor中,還是在每個虛機內(nèi)的用戶空間中,都存在相應(yīng)的系統(tǒng)開銷。不過只要系統(tǒng)設(shè)備需要被多個虛機操作系統(tǒng)共享,這種開銷就是值得的。反之如果設(shè)備不需要被共享,那么就可以使用更有效的方法來訪問設(shè)備,例如使用“直通”。

看完以上的分析,你是否對ACRN有了更深入的了解?也是否有更多問題急需解答? 不用著急,我們將在下期中繼續(xù)講解各種技術(shù)細節(jié),例如ACRN設(shè)備模塊架構(gòu)、設(shè)備pass through, ACRN I/O mediator, Virtio框架結(jié)構(gòu)等一一為你展示。

審核編輯:符乾江
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    聯(lián)網(wǎng)藍牙模塊有哪些優(yōu)勢?

    隨著聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,藍牙模塊作為聯(lián)網(wǎng)的重要組成部分,其應(yīng)用越來越廣泛。那么,聯(lián)網(wǎng)藍牙模
    發(fā)表于 06-28 21:49

    工業(yè)聯(lián)網(wǎng)能夠解決哪些生產(chǎn)難題

    工業(yè)聯(lián)網(wǎng)能夠解決以下生產(chǎn)難題: 設(shè)備故障與停機問題: 通過在關(guān)鍵設(shè)備安裝傳感器,實時監(jiān)測設(shè)備的運行狀態(tài)和性能參數(shù),如振動、溫度、壓力等。 利用
    的頭像 發(fā)表于 06-24 14:55 ?159次閱讀

    聯(lián)網(wǎng)的應(yīng)用范圍有哪些?

    在運輸車輛安裝傳感器,能實時監(jiān)控車輛位置、行駛速度、油耗等,提高運輸效率,降低物流成本。比如京東的智能倉儲物流系統(tǒng),利用聯(lián)網(wǎng)實現(xiàn)了貨物的自動
    發(fā)表于 06-16 16:01

    聯(lián)網(wǎng)未來發(fā)展趨勢如何?

    、設(shè)備和資源連接在一起,實現(xiàn)城市管理的智能和高效。智慧城市可以解決交通擁堵、能源浪費等城市問題,提升居民的生活質(zhì)量和城市的可持續(xù)發(fā)展。 醫(yī)療保?。?b class='flag-5'>物
    發(fā)表于 06-09 15:25

    聯(lián)網(wǎng)工程師為什么要學(xué)Linux?

    聯(lián)網(wǎng)工程師需要掌握Linux的主要原因可以從技術(shù)生態(tài)、開發(fā)需求、行業(yè)應(yīng)用及就業(yè)競爭力四個角度來分析: 一、技術(shù)生態(tài)與行業(yè)適配性 1)
    發(fā)表于 05-26 10:32

    智慧消防聯(lián)網(wǎng)平臺

    本人想建立一個聯(lián)網(wǎng)智慧消防平臺,想找懂技術(shù)的有合伙意愿的共同投資開發(fā),有感興趣的聯(lián)系我13633612945
    發(fā)表于 04-15 22:18

    為什么選擇蜂窩聯(lián)網(wǎng)

    。雖然需要支付訂閱費用,但卻能保證廣泛的覆蓋范圍、可擴展性、內(nèi)置服務(wù)質(zhì)量、可靠性和無懈可擊的安全性。這樣,您就可以專注于特定聯(lián)網(wǎng)產(chǎn)品的開發(fā),而無需部署和維護與在非授權(quán)頻段運行的其他 LPWAN
    發(fā)表于 03-17 11:42

    宇樹科技在聯(lián)網(wǎng)方面

    宇樹科技在聯(lián)網(wǎng)領(lǐng)域有多方面的涉及和發(fā)展,以下是一些具體信息: 傳感器技術(shù)合作 與傳感器公司合作:宇樹科技與一些傳感器技術(shù)公司有合作,例如奧比中光為宇樹機器狗提供激光雷達及結(jié)構(gòu)光傳感
    發(fā)表于 02-04 06:48

    聯(lián)網(wǎng)就業(yè)有哪些高薪崗位?

    聯(lián)網(wǎng)就業(yè)有哪些高薪崗位? 聯(lián)網(wǎng)行業(yè)迎來了全面爆發(fā)式的發(fā)展,眾多高薪崗位吸引著人們的目光。聯(lián)網(wǎng)技術(shù)
    發(fā)表于 01-10 16:47

    聯(lián)網(wǎng)學(xué)習(xí)路線來啦!

    云平臺應(yīng)用技術(shù) 了解云計算的基本概念和服務(wù)模式,學(xué)習(xí)硬件設(shè)備如何入住云平臺,并且如何利用云平臺進行數(shù)據(jù)處理和分析。 掌握大數(shù)據(jù)處理技術(shù)和分析基本方法,為
    發(fā)表于 11-11 16:03

    聯(lián)網(wǎng)技術(shù)的挑戰(zhàn)與機遇

    ,從智能家居、智慧城市到工業(yè)自動、醫(yī)療健康等眾多領(lǐng)域。然而,聯(lián)網(wǎng)技術(shù)的快速發(fā)展也帶來了一系列挑戰(zhàn)與機遇。 挑戰(zhàn): 安全性問題:聯(lián)網(wǎng)設(shè)備
    的頭像 發(fā)表于 10-29 11:32 ?1453次閱讀

    【星閃派聯(lián)網(wǎng)開發(fā)套件體驗連載】智能交通燈

    板,5個模塊,1個底板,1條數(shù)據(jù)線 單獨的星閃派開發(fā)板: 全家福: 硬件組裝: 星閃派聯(lián)網(wǎng)開發(fā)套件,模塊、集成化,各功能模塊已集成到小電
    發(fā)表于 10-05 13:00

    潤和軟件星閃派聯(lián)網(wǎng)開發(fā)套件資料+答疑帖

    星閃派聯(lián)網(wǎng)開發(fā)套件具有豐富的通信接口、開放性、模塊、集成化等多個亮點;可基于星閃派聯(lián)網(wǎng)
    發(fā)表于 09-29 10:24

    什么是聯(lián)網(wǎng)技術(shù)

    什么是聯(lián)網(wǎng)技術(shù)? 聯(lián)網(wǎng)技術(shù)(Internet of Things, IoT)是一種通過信息傳感設(shè)備,按約定的協(xié)議,將任何物體與網(wǎng)絡(luò)相連接,實現(xiàn)智能
    發(fā)表于 08-19 14:08

    【新品上線】星閃派聯(lián)網(wǎng)開發(fā)套件免費試用

    星閃派聯(lián)網(wǎng)開發(fā)套件具有豐富的通信接口、開放性、模塊、集成化等多個亮點;可基于星閃派聯(lián)網(wǎng)
    發(fā)表于 08-16 09:34