當他們遷移到新的硬件平臺時,幫助保護他們的舊軟件投資。這為嵌入式開發(fā)人員提供了與多年來在新服務(wù)器平臺上運行舊操作系統(tǒng) (OS) 和應用程序的 IT 組織相同的優(yōu)勢。隨著硬件平臺從單核轉(zhuǎn)向多核 32 位到 64 位架構(gòu)并增加新的連接,例如 Wi-Fi、藍牙或蜂窩通信,這項投資尤其關(guān)鍵。
隨著物聯(lián)網(wǎng) (IoT) 的出現(xiàn),嵌入式系統(tǒng)重獲新生,并且隨著它們參與機器對機器 (M2M) 通信的非常相關(guān)的子集,它們現(xiàn)在的發(fā)展速度比以往任何時候都快。歷史短。這些傳統(tǒng)專用系統(tǒng)現(xiàn)在必須發(fā)展到具有多個內(nèi)核的新架構(gòu)平臺,并且通常擁有或需要 64 位架構(gòu),而不僅僅是 32 位地址空間。添加新的通信媒介(如 Wi-Fi、藍牙或蜂窩)以及新的 GUI 要求(如觸摸、滑動和拖動)給嵌入式設(shè)計人員帶來了一系列全新的復雜性。
然而,嵌入式開發(fā)人員現(xiàn)在可以使用虛擬化范式,因為他們試圖發(fā)展他們的遺留系統(tǒng)以滿足這些新要求,而無需完全重寫或重新設(shè)計現(xiàn)有系統(tǒng);因此,虛擬化可以幫助開發(fā)人員管理將他們的系統(tǒng)帶入當今互聯(lián)世界的成本和時間。
一個棘手問題的優(yōu)雅解決方案
有一種技術(shù)可以讓嵌入式開發(fā)人員保留他們的遺留軟件系統(tǒng),即使它周圍的世界——包括它運行的硬件——處于一個不斷變化的世界。該技術(shù)是虛擬化。該技術(shù)已在企業(yè)軟件世界中使用多年,使 IT 部門能夠運行多個版本的 IT 應用程序和操作系統(tǒng),即使它們已經(jīng)過時很長時間。它在嵌入式領(lǐng)域還沒有被廣泛使用,主要是因為嵌入式系統(tǒng)的刷新率沒有企業(yè)領(lǐng)域那么快,而且還因為企業(yè)管理程序不能像桌面一樣滿足嵌入式尺寸和性能要求OS 的使用頻率低于實時操作系統(tǒng) (RTOS)。
在研究嵌入式管理程序如何使嵌入式開發(fā)人員受益之前,讓我們更詳細地研究一下虛擬化。虛擬化是一種技術(shù),它為在其上運行的軟件(包括處理器、內(nèi)存和設(shè)備)提供硬件的“虛擬”表示。在我們的日常生活中,一個很好的例子是運行在 Apple Mac 上的管理程序,它允許 Microsoft Windows 在同一硬件平臺上與 Mac OS 一起運行,因為它為 Windows 提供了“虛擬”PC。這是類型 2 管理程序的一個很好的示例,其中管理程序?qū)嶋H上作為應用程序運行在本機操作系統(tǒng)之上,然后“來賓”操作系統(tǒng)運行在它之上。這帶來了本機操作系統(tǒng)仍在控制中并且客戶操作系統(tǒng)同時運行的優(yōu)勢,因為它本質(zhì)上是作為應用程序運行的。但是,該解決方案中的多層軟件存在巨大的性能問題,而且該技術(shù)對于所有嵌入式 RTOS 的使用都不是很便攜。
還有另一種虛擬化解決方案,通常稱為“Type 1”或“裸機”,它不依賴于本機操作系統(tǒng),直接與硬件交互,為來賓提供“虛擬”硬件。這越來越接近于滿足嵌入式開發(fā)人員的需求,因為它肯定比 Type 2 更高效。但是,如圖 1 所示,它仍然依賴于一個“助手”操作系統(tǒng),它的大小接近在類型 2 的情況下到本機操作系統(tǒng)。盡管它被稱為“裸機”,但這并不意味著它具有嵌入式開發(fā)人員所需的實時或確定性屬性。
因此,嵌入式開發(fā)人員可以使用不同種類的管理程序來利用虛擬化解決方案。由于構(gòu)建高效的嵌入式管理程序所需的設(shè)計存在一些固有差異,因此需要一個新名稱來區(qū)分類型 1,因此嵌入式管理程序被稱為類型 0 管理程序。
比較 Type 0 和 Type 1 時的兩個關(guān)鍵區(qū)別是 1) 大小和 2) 實時性能。通過移除 Type 1 中使用的“輔助”操作系統(tǒng)并創(chuàng)建真正的裸機管理程序,運行時內(nèi)存需求從 GB 下降到 MB,靜態(tài)代碼大小從 MB 下降到 KB。此外,通過移除重量級的輔助操作系統(tǒng)并用小型嵌入式實時內(nèi)核或“分離內(nèi)核”替換它來分離資源,現(xiàn)在可以實現(xiàn)實時確定性。此外,通過利用現(xiàn)代處理器中的硬件虛擬化功能,使用管理程序的性能開銷達到本機性能的 95% 以上。
現(xiàn)實世界的嵌入式虛擬化使用
確定嵌入式虛擬機管理程序可以提供合理的嵌入式占用空間和實時性能后,我們現(xiàn)在可以專注于嵌入式開發(fā)人員在將現(xiàn)有系統(tǒng)遷移到下一代連接嵌入式設(shè)備時的好處。這些新系統(tǒng)的主要目標如下:
遷移到既可以是多核又可以是 64 位的現(xiàn)代硬件平臺
與現(xiàn)代標準用戶界面的兼容性
連接性增加,隨之而來的是對更高安全性的要求
嵌入式管理程序如何幫助解決所有這些問題,并減少遺留系統(tǒng)的重寫代碼量?管理程序可以很好地完成一些僅使用標準 RTOS 難以實現(xiàn)的事情。
抽象底層硬件
這些管理程序功能中的第一個功能是從 RTOS 和在其上運行的應用程序中抽象出底層硬件。這在將現(xiàn)有的 RTOS 和應用程序遷移到新的硬件平臺時確實很有幫助,因為管理程序可以使虛擬硬件看起來就像原始硬件一樣,并且可以應用于內(nèi)存、處理器和設(shè)備。
因此,由于新的物理硬件可以是帶有一組新的現(xiàn)代設(shè)備的多核 64 位處理器,因此管理程序可以提供一個 32 位單核虛擬處理器,新物理設(shè)備映射到傳統(tǒng)的虛擬版本設(shè)備。這可以防止立即遷移到新的 SMP、64 位 RTOS,并且還減少了為板上的新設(shè)備創(chuàng)建新 BSP 的需要。這也是引入新連接選項(例如 Wi-Fi 或蜂窩網(wǎng)絡(luò))的一種相對優(yōu)雅的方式,因為可以通過設(shè)備虛擬化使它們看起來像普通的以太網(wǎng)設(shè)備。
多操作系統(tǒng)促進新接口、安全性
虛擬化的第二個關(guān)鍵能力是允許多個操作系統(tǒng)在單個硬件平臺上運行。這允許嵌入式開發(fā)人員保持其遺留系統(tǒng)完好無損,并通過引入另一個并行運行的操作系統(tǒng)來添加新功能。這可能看起來非常低效,但隨著硬件技術(shù)的飛躍和內(nèi)存成本的提高,具有硬件虛擬化支持的現(xiàn)代多核系統(tǒng)實際上可以運行多個操作系統(tǒng)而不會降低性能;這也比必須采購過時的硬件組件便宜得多。當將新的連接介質(zhì)引入系統(tǒng)時,這種多操作系統(tǒng)場景是另一個有趣的設(shè)計考慮因素,而不是虛擬化新設(shè)備,
除了引入遺留系統(tǒng)之外,這種多操作系統(tǒng)場景還為連接的嵌入式系統(tǒng)帶來了一些有趣的設(shè)計優(yōu)勢,并有助于引入新的需求,例如現(xiàn)代用戶界面和額外的安全性。嵌入式開發(fā)人員一直面臨的一個問題是嵌入式系統(tǒng)的標準用戶界面,因為標準的基于 GUI 的操作系統(tǒng)傳統(tǒng)上對于實時系統(tǒng)來說太大或太慢。對于 RTOS,GUI 必須從頭開始構(gòu)建,因此不具備我們在手機、平板電腦和計算機上習慣的所有觸摸/滑動功能。
通過使用嵌入式虛擬機管理程序,開發(fā)人員也可以得到他們的蛋糕并吃掉它。通過在一個虛擬機 (VM) 中安裝 RTOS 并在另一個 VM 中安裝更傳統(tǒng)的 GUI 操作系統(tǒng)(如 Android),實時部分得到處理,并內(nèi)置了用戶友好的標準 GUI;通過使用多核處理器,虛擬機管理程序可以為每個處理器分配自己的專用處理器、內(nèi)存和資源。
難題的最后一塊是安全性——這可能是聯(lián)網(wǎng)嵌入式設(shè)備最熱門的話題之一,因為這些曾經(jīng)專用和專有的系統(tǒng)現(xiàn)在正在通過開放的互聯(lián)網(wǎng)連接和控制;因此,它們現(xiàn)在可能成為網(wǎng)絡(luò)犯罪和網(wǎng)絡(luò)恐怖主義的目標。通過使用分離內(nèi)核和嵌入式管理程序,系統(tǒng)的不同部分可以很容易地隔離和保護。
例如,連接到 Internet 的虛擬機通常不同于控制某物或存儲信息的虛擬機,后者通常是惡意攻擊的主要目標。因此,即使一個虛擬機被感染,這種感染也不會傳播到另一臺虛擬機,因為分離內(nèi)核將它們分開,就像它們在物理上獨立的硬件上運行時一樣。
嵌入式虛擬化是真的嗎?
總之,被稱為嵌入式虛擬機管理程序的虛擬化技術(shù)基于實時分離內(nèi)核,可以幫助嵌入式開發(fā)人員將他們的傳統(tǒng)嵌入式系統(tǒng)帶入下一代連接的多核系統(tǒng),并具有用戶友好的 GUI 和增加的安全性以防止惡意威脅。這一切似乎都好得令人難以置信。在 LynuxWorks,我們開發(fā)了一個名為 LynxSecure 的分離內(nèi)核和嵌入式虛擬機管理程序,現(xiàn)在它已經(jīng)到了第五代,它正在幫助嵌入式開發(fā)人員實現(xiàn)他們的新設(shè)計目標——按時、按預算。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19748瀏覽量
232964 -
嵌入式
+關(guān)注
關(guān)注
5126文章
19446瀏覽量
313325 -
GUI
+關(guān)注
關(guān)注
3文章
671瀏覽量
40593
發(fā)布評論請先 登錄
安科瑞嵌入式智能儀表:引領(lǐng)傳統(tǒng)配電系統(tǒng)數(shù)字化升級的先鋒力量

嵌入式去哪個城市好?
哪些專業(yè)適合學習嵌入式開發(fā)?
什么是嵌入式人工智能

什么是嵌入式?一文讀懂嵌入式主板
【「嵌入式Hypervisor:架構(gòu)、原理與應用」閱讀體驗】+ 了解Hypervisor
【「嵌入式Hypervisor:架構(gòu)、原理與應用」閱讀體驗】+全文學習心得
【「嵌入式Hypervisor:架構(gòu)、原理與應用」閱讀體驗】+第7-8章學習心得
【「嵌入式Hypervisor:架構(gòu)、原理與應用」閱讀體驗】+第三四章閱讀報告
【「嵌入式Hypervisor:架構(gòu)、原理與應用」閱讀體驗】+第一二章讀后感
嵌入式Hypervisor:架構(gòu)、原理與應用 閱讀體驗 +Hypervisor基礎(chǔ)概念

評論