背景:混合關(guān)鍵性系統(tǒng)
在嵌入式場(chǎng)景中,雖然 Linux 已經(jīng)得到了廣泛應(yīng)用,但并不能覆蓋所有需求,例如高實(shí)時(shí)、高可靠、高安全的場(chǎng)合。這些場(chǎng)合往往是實(shí)時(shí)操作系統(tǒng)的用武之地。有些應(yīng)用場(chǎng)景需要 Linux 的管理能力、豐富的生態(tài)又需要實(shí)時(shí)操作系統(tǒng)的高實(shí)時(shí)、高可靠、高安全,那么一種典型的設(shè)計(jì)是采用一顆性能較強(qiáng)的處理器運(yùn)行 Linux 負(fù)責(zé)富功能,一顆微控制器/ DSP /實(shí)時(shí)處理器運(yùn)行實(shí)時(shí)操作系統(tǒng)負(fù)責(zé)實(shí)時(shí)控制或者信號(hào)處理,兩者之間通過(guò) I/O、網(wǎng)絡(luò)或片外總線(xiàn)的形式通信。這種方式存在的問(wèn)題是,硬件上需要兩套系統(tǒng)、集成度不高,通信受限與片外物理機(jī)制的限制如速度、時(shí)延等,軟件上 Linux 和實(shí)時(shí)操作系統(tǒng)兩者之間是割裂的,在靈活性上、可維護(hù)性上存在改進(jìn)空間。
受益于硬件技術(shù)的快速發(fā)展,嵌入式系統(tǒng)的硬件能力越來(lái)越強(qiáng)大,如單核能力不斷提升、單核到多核、異構(gòu)多核乃至眾核的演進(jìn),虛擬化技術(shù)和可信執(zhí)行環(huán)境(TEE)技術(shù)的發(fā)展和應(yīng)用,未來(lái)先進(jìn)封裝技術(shù)會(huì)帶來(lái)更高的集成度等等,使得在一個(gè)片上系統(tǒng)中(SoC)部署多個(gè) OS 具備了堅(jiān)實(shí)的物理基礎(chǔ)。
同時(shí),受應(yīng)用需求的推動(dòng),如物聯(lián)網(wǎng)化、智能化、功能安全與信息安全等等,整個(gè)嵌入式軟件系統(tǒng)也越發(fā)復(fù)雜,全部由單一 OS 承載所有功能所面臨的挑戰(zhàn)越來(lái)越大。解決方式之一就是不同系統(tǒng)負(fù)責(zé)各自所擅長(zhǎng)的功能,如 Windows 的 UI、Linux 的網(wǎng)絡(luò)通信與管理、實(shí)時(shí)操作系統(tǒng)的高實(shí)時(shí)與高可靠等,而且還要易于開(kāi)發(fā)、部署、擴(kuò)展,實(shí)現(xiàn)的形式可以是容器、虛擬化等。
面對(duì)上述硬件和應(yīng)用的變化,結(jié)合自身原有的特點(diǎn),嵌入式系統(tǒng)未來(lái)演進(jìn)的方向之一就是「混合關(guān)鍵性系統(tǒng)(MCS,Mixed Criticality System)」, 這可以從典型的嵌入式系統(tǒng)——汽車(chē)電子的最近發(fā)展趨勢(shì)略見(jiàn)一斑。
「圖 1」 openEuler Embedded 中的混合關(guān)鍵性系統(tǒng)大致架構(gòu)
從 openEuler Embedded 的角度,混合關(guān)鍵性系統(tǒng)的大致架構(gòu)如圖 1 所示,所面向的硬件是具有同構(gòu)或異構(gòu)多核的片上系統(tǒng),從應(yīng)用的角度看會(huì)同時(shí)部署多個(gè) OS /運(yùn)行時(shí),例如 Linux 負(fù)責(zé)系統(tǒng)管理與服務(wù)、1 個(gè)實(shí)時(shí)操作系統(tǒng)負(fù)責(zé)實(shí)時(shí)控制、1 個(gè)實(shí)時(shí)操作系統(tǒng)負(fù)責(zé)系統(tǒng)可靠、1 個(gè)裸金屬運(yùn)行時(shí)運(yùn)行專(zhuān)用算法,全系統(tǒng)的功能是由各個(gè) OS /運(yùn)行時(shí)協(xié)同完成。中間的「混合部署框架」和「嵌入式虛擬化」是具體的支撐技術(shù)。關(guān)鍵性(Criticality)狹義上主要是指功能安全等級(jí),參考泛功能安全標(biāo)準(zhǔn) IEC-61508,Linux 可以達(dá)到 SIL1 或 SIL2 級(jí)別,實(shí)時(shí)操作系統(tǒng)可以達(dá)到最高等級(jí) SIL3;廣義上,關(guān)鍵性可以擴(kuò)展至實(shí)時(shí)等級(jí)、功耗等級(jí)、信息安全等級(jí)等目標(biāo)。
在這樣的系統(tǒng)中,需要解決如下幾個(gè)問(wèn)題:
「高效地混合部署問(wèn)題」:如何高效地實(shí)現(xiàn)多 OS 協(xié)同開(kāi)發(fā)、集成構(gòu)建、獨(dú)立部署、獨(dú)立升級(jí)。
「高效地通信與協(xié)作問(wèn)題」:系統(tǒng)的整體功能由各個(gè)域協(xié)同完成,因此如何高效地實(shí)現(xiàn)不同域之間高效、可擴(kuò)展、實(shí)時(shí)、安全的通信。
「高效地隔離與保護(hù)問(wèn)題」:如何高效地實(shí)現(xiàn)多個(gè)域之間的強(qiáng)隔離與保護(hù),使得出故障時(shí)彼此不互相影響,以及較小的可信基(Trust Compute Base)。
「高效地資源共享與調(diào)度問(wèn)題」:如何在滿(mǎn)足不同目標(biāo)約束下(實(shí)時(shí)、功能安全、性能、功耗),高效地管理調(diào)度資源,從而提升硬件資源利用率。
對(duì)于上述問(wèn)題,openEuler Embedded 的當(dāng)前思路是「混合關(guān)鍵性系統(tǒng) = 部署 + 隔離 + 調(diào)度」,即首先實(shí)現(xiàn)多 OS 的混合部署,再實(shí)現(xiàn)多 OS 之間的隔離與保護(hù),最后通過(guò)混合關(guān)鍵性調(diào)度提升資源利用率,具體可以映射到「混合部署框架」和「嵌入式虛擬化」?;旌喜渴鹂蚣芙鉀Q「高效地混合部署問(wèn)題」和「高效地通信與協(xié)作問(wèn)題」,嵌入式虛擬化解決「高效地隔離與保護(hù)問(wèn)題」和「高效地資源共享與調(diào)度問(wèn)題」。
多 OS 混合部署框架
openEuler Embedded 中多 OS 混合部署框架的架構(gòu)圖如下所示,引入了開(kāi)源框架 OpenAMP[1]作為基礎(chǔ),并結(jié)合自身需要進(jìn)一步創(chuàng)新。
「圖 2」 多 OS 混合部署框架的基礎(chǔ)架構(gòu)
在上述架構(gòu)中,libmetal 提供屏蔽了不同系統(tǒng)實(shí)現(xiàn)的細(xì)節(jié)提供了統(tǒng)一的抽象,virtio queue 相當(dāng)于網(wǎng)絡(luò)協(xié)議中的 MAC 層提供高效的底層通信機(jī)制,rpmsg 相當(dāng)于網(wǎng)絡(luò)協(xié)議中的傳輸層提供了基于端點(diǎn)(endpoint)與通道(channel)抽象的通信機(jī)制,remoteproc 提供生命周期管理功能包括初始化、啟動(dòng)、暫停、結(jié)束等。
在 openEuler Embedded 22.03 中,集成了 OpenAMP 相關(guān)支持,并與 openEuler 的 SIG Zephyr[2] 合作實(shí)現(xiàn)了 openEuler Embedded 與實(shí)時(shí)操作系統(tǒng) Zephyr[3] 在 QEMU 平臺(tái)上的混合部署,具體可以參考
多 OS 混合部署 Demo[4]
在此基礎(chǔ)上,openEuler Embedded 的混合部署框架還會(huì)繼續(xù)演進(jìn),包括對(duì)接更多的實(shí)時(shí)操作系統(tǒng),如國(guó)產(chǎn)開(kāi)源實(shí)時(shí)操作系統(tǒng) RT-Thread[5],實(shí)現(xiàn)如圖 3 所示的多 OS 服務(wù)化部署并適時(shí)引入基于虛擬化技術(shù)的嵌入式彈性底座。
「圖 3」 多 OS 服務(wù)化部署架構(gòu)
在上述多 OS 服務(wù)化部署架構(gòu)中,openEuler Embedded 是中心,主要對(duì)其他 OS 提供管理、網(wǎng)絡(luò)、文件系統(tǒng)等通用服務(wù),其他 OS 可以專(zhuān)注于其所擅長(zhǎng)的領(lǐng)域,并通過(guò) shell、log 和 debug 等通道與 Linux 豐富而強(qiáng)大維測(cè)體對(duì)接從而簡(jiǎn)化開(kāi)發(fā)工作。
原文標(biāo)題:Embedded SIG | 多 OS 混合部署框架
文章出處:【微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
處理器
+關(guān)注
關(guān)注
68文章
19896瀏覽量
235299 -
嵌入式
+關(guān)注
關(guān)注
5152文章
19675瀏覽量
317655 -
硬件
+關(guān)注
關(guān)注
11文章
3484瀏覽量
67510 -
openEuler
+關(guān)注
關(guān)注
2文章
328瀏覽量
6342
原文標(biāo)題:Embedded SIG | 多 OS 混合部署框架
文章出處:【微信號(hào):openEulercommunity,微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn)】Milk-V DuoS之異構(gòu)多核OS混合部署實(shí)驗(yàn)
翼輝信息發(fā)布QuickAMP混合多系統(tǒng)解決方案

橋接智能制造:PROFINET與Devicenet混合架構(gòu)賦能汽車(chē)擦凈機(jī)器人升級(jí)

如何利用RAKsmart服務(wù)器實(shí)現(xiàn)高效多站點(diǎn)部署方案
多智能體仿真中的統(tǒng)一混合模型框架研究

北京迅為RK3568開(kāi)發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)

《AI Agent 應(yīng)用與項(xiàng)目實(shí)戰(zhàn)》閱讀心得3——RAG架構(gòu)與部署本地知識(shí)庫(kù)
微服務(wù)容器化部署好處多嗎?
華為推出RN/H5多設(shè)備自適應(yīng)組件庫(kù)
大語(yǔ)言模型開(kāi)發(fā)框架是什么
混合云部署k8s集群方法有哪些?
混合部署 | 在迅為RK3568上同時(shí)部署RT-Thread和Linux系統(tǒng)
混合部署 | 在迅為RK3568上同時(shí)部署RT-Thread和Linux系統(tǒng)
混合部署 | 在RK3568上同時(shí)部署RT-Thread和Linux系統(tǒng)-迅為電子

評(píng)論