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

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

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

評(píng)論