国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

實時響應的嵌入式系統(tǒng)虛擬化微內(nèi)核架構分析

2024-11-22 00:00:00賈玉柱
電腦知識與技術 2024年26期

關鍵詞:實時響應;嵌入式系統(tǒng);虛擬化微內(nèi)核架構

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2024)26-0031-04開放科學(資源服務)標識碼(OSID) :

0 引言

隨著計算機技術的不斷發(fā)展,各種先進的技術被應用于各個領域,其中,嵌入式虛擬技術由于具備諸多方面的優(yōu)勢,故在軟件和系統(tǒng)開發(fā)中被廣泛應用。相較于傳統(tǒng)技術,此項技術可以滿足用戶的多元化要求,具有高度集成特點。因此,研究此項課題,具有十分重要的意義。

1 實時響應的嵌入式系統(tǒng)虛擬化微內(nèi)核架構

主機微內(nèi)核和用戶級環(huán)境,屬于整體架構的重要內(nèi)容,其中,前者屬于組件,其在運行過程中,所處環(huán)境為最高權限級別,為保證系統(tǒng)安全,該組件將與安全性無關的特性刪除,僅將調(diào)度器和內(nèi)存管理保存,兩種特性關系到運行安全。因此主機微內(nèi)核組件的存在,使系統(tǒng)在信任計算方面的條件減少。在查閱文獻后得知,系統(tǒng)附加服務,是用戶環(huán)境的重要組成部分,其本質(zhì)上屬于一種運行模式。

本文所研究的微內(nèi)核架構,以半虛擬化方案為基礎,簡言之,就是對來賓操作系統(tǒng)進行修改,使其成為虛擬處理器或顯示地調(diào)用hypervisor,為特權操作處理創(chuàng)造有利的條件。在架構中,各虛擬機均具有托管作用,負責半虛擬化操作系統(tǒng)或用戶應用程序軟件的映像,各映像地址空間獨立,且執(zhí)行媒介均為虛擬硬件。接下來,本章節(jié)會對內(nèi)核架構進行簡單的分析。

1.1 內(nèi)存管理

內(nèi)存管理是指軟件運行階段,計算機內(nèi)存資源分配和使用的技術,其作用為高效分配、釋放和回收內(nèi)存資源。在虛擬化微內(nèi)核架構中,內(nèi)存特權級別分為三個,1) host,用于滿足虛擬機監(jiān)視器的存儲需求;2)guest kenel,對來賓操作內(nèi)核進行存儲;3) guest user,存儲應用程序,其涉及的主體為用戶系統(tǒng)。就實際情況而言,在內(nèi)存管理期間,各虛擬機均會建立與之相匹配的頁表,且各頁表之間相互獨立,且表內(nèi)信息的訪問權限非常高,如果利用虛擬機無法訪問。同時,為提升信息存儲的安全性,該架構內(nèi)存管理單元功能完善,可以防止用戶利用軟件片段,對guest kernel進行訪問,因此,有助于保證系統(tǒng)安全。此外,結合半虛擬化概念,該架構中的來賓操作系統(tǒng),可以向虛擬機監(jiān)視器發(fā)送超啟動信號,更新頁表映像[1]。

1.2 調(diào)度器

實時調(diào)度技術已經(jīng)成為虛擬化系統(tǒng)構建中應用廣泛的技術,為提升調(diào)度器的可靠性,需要結合架構情況,開展額外的調(diào)度器計算。同時,在以服務器為基礎的調(diào)度器,被應用于RT-XEN(一種基于Xen的分層的單核實時調(diào)度框架RT-Xen) 以及其他微內(nèi)核中,為保證調(diào)度器的應用效果,優(yōu)化舊調(diào)度接口尤為關鍵。如果用戶在操作時,需要設計時間表,且該時間表能夠正常運行,此時,將原始調(diào)度任務作為依據(jù),完成實時任務的設置,是虛擬機監(jiān)視器的主要功能。以上操作的實現(xiàn),有利于使系統(tǒng)運行負載下降,最終達成簡化系統(tǒng)內(nèi)核的目的。虛擬機監(jiān)視器調(diào)度器在應用過程中,以后臺調(diào)度理念為基礎,在高優(yōu)先級任務執(zhí)行完畢空閑時間內(nèi),執(zhí)行低優(yōu)先級任務,在避免低優(yōu)先級任務對高優(yōu)先級任務的執(zhí)行造成干擾的同時,提高任務的執(zhí)行效率。

基于優(yōu)先級的搶占式循環(huán)調(diào)度策略如圖2所示。此外,一般情況下,一般用途操作系統(tǒng)的優(yōu)先級高于實時操作系統(tǒng),若兩個操作系統(tǒng)處于同一優(yōu)先級,只要一般用途操作系統(tǒng)準備運行,則實時操作系統(tǒng)的運行中央處理器必然被搶占,致使觸發(fā)實時操作系統(tǒng)運行的調(diào)度程序中,定時器節(jié)拍與系統(tǒng)出現(xiàn)中斷情況?,F(xiàn)階段,為降低優(yōu)先級問題對實時調(diào)度系統(tǒng)正常運行產(chǎn)生的影響,工作人員可以通過優(yōu)化調(diào)度策略,使用準確傳遞定時器方式,避免實時操作系統(tǒng)的調(diào)度運行通路被堵塞[2]。

1.3 定時器

實時操作系統(tǒng)調(diào)度器在運行過程中,需要對特定任務能否執(zhí)行加以明確,此項目標的實現(xiàn),主要將定時器tick數(shù)作為依托,與此同時,在系統(tǒng)中,虛擬機監(jiān)控器起到了關鍵作用,不僅具有管理功能,還能滿足來賓操作系統(tǒng)的需求,管理對象為定時器,除對其進行管理外,還能根據(jù)需求,采取有效的措施訪問定時器,常用的手段為捕獲和超調(diào)。盡管上述操作難度偏低,但是在系統(tǒng)實際運轉過程中,系統(tǒng)管理程序的存在,會使依托定時器運轉的系統(tǒng)性能開銷有所提高。同時,在虛擬機定時器的解析受到管理程序定時器周期限制的情況下,系統(tǒng)的運行狀況將出現(xiàn)問題。現(xiàn)階段,為提高實時操作系統(tǒng)的可調(diào)度性,需要開展高精度定時器虛擬工作。

定時器虛擬化實現(xiàn)的方法如下:

1) 需要為系統(tǒng)建立系統(tǒng)定時器、一般用途操作系統(tǒng)和實時操作系統(tǒng)三個獨立的物理定時器,其中,系統(tǒng)定時器可以被應用于主機系統(tǒng)當中,依托微內(nèi)核系統(tǒng)進行訪問,用于操作系統(tǒng)的計時器與其他虛擬機共享。

2) 賦予虛擬機直接訪問和編寫定時器的權限,不會被管理程序所限制。同時,保證來賓操作系統(tǒng)映射被存儲到內(nèi)存空間當中。同時,來賓操作系統(tǒng)不僅可以訪問分配給他的定時器,還能實現(xiàn)定時器自由配置,完成對定時器周期、間隔值等參數(shù)的調(diào)整。

3) 虛擬化一般用于操作系統(tǒng)中的計時器,在應用過程中有著諸多功能,可以為模擬工作的開展,創(chuàng)造有利的條件。

1.4 中斷虛擬化

在該架構中的虛擬中斷通用控制器,可以被用于系統(tǒng)中斷控制。具體來說,在系統(tǒng)實際運轉過程中,虛擬機監(jiān)視器可以為系統(tǒng)生成虛擬中斷信號,在中斷信號發(fā)出后,為保障來賓操作系統(tǒng)能夠繼續(xù)原本的中斷處理過程,架構中的虛擬中斷通用控制器被設置成與虛擬寄存器物理性質(zhì)相類似的中斷通用控制寄存器,虛擬中斷通用控制器在運行時,可以存儲每個虛擬機的虛擬中斷狀態(tài),并結合中斷狀態(tài),對中斷通用控制器的行為狀態(tài)加以模擬。

在生成物理中斷的情況下,虛擬機監(jiān)視器處理程序的作用會被充分發(fā)揮,其作用為生成虛擬終端,其所處位置是通用控制器內(nèi),之后,插入虛擬器后,虛擬機會自動跳轉。值得注意的是,各虛擬機在進入中斷狀態(tài)后,各虛擬機具有一致性的特點,但彼此之間相互獨立,即使某個虛擬機出現(xiàn)異常無法正常運行,其他虛擬機也不會受到影響,并且,在出現(xiàn)物理中斷現(xiàn)象后,其數(shù)據(jù)信息會被其他虛擬機所收集。

1.5 虛擬機間通信

實時響應的嵌入式系統(tǒng)虛擬化微內(nèi)核架構中,可以將微內(nèi)核進程通信視為虛擬機之間的通信。在操作階段,工作人員可以采取有效通信方式,對同步進程通信模型加以替換,以解決傳統(tǒng)方式存在的弊端,研究結果表明,使用異步通信方式的效果顯著,能夠?qū)νㄐ胚^程加以優(yōu)化,降低通信工作的復雜度?;诖耍ぷ魅藛T在本次架構設計工作中,提出了一種基于中斷請求的虛擬機間通信機制,在實際工作過程中可以依托虛擬機監(jiān)視器,使異步虛擬機通信需求被有效滿足。在實際工作階段,各虛擬機均擁有內(nèi)存頁,且這個內(nèi)存頁具有共享性。工作人員可以將監(jiān)視器和端口作為起點,對內(nèi)存頁進行訪問。在通信發(fā)送和接收階段,僅需將簡單的讀寫指令使用內(nèi)存執(zhí)行即可,在發(fā)送后,虛擬機會將信息帶入共享區(qū),由監(jiān)視器通知接收方虛擬機,由其讀取信息即可,故傳輸效率極高。由于上述流程屬于異步流程,因此,這一技術方法在應用時的速度,快于單純L4微內(nèi)核(L4微內(nèi)核屬于操作系統(tǒng)內(nèi)核的一種)[3]。

1.6 共享內(nèi)存區(qū)

以來賓操作系統(tǒng)為切入點而言,關系到特權訪問的權限,所處位置均為虛擬監(jiān)視器,若系統(tǒng)對資源的訪問頻率較高,系統(tǒng)會因需要大量開展超調(diào)用工作,而出現(xiàn)較大的開銷。為解決上述問題,在設置實時響應的嵌入式系統(tǒng)虛擬化微內(nèi)核架構時,可以設置虛擬機監(jiān)視器和內(nèi)存區(qū),值得注意的是,內(nèi)存區(qū)具有共享性的特點,其中,系統(tǒng)對虛擬資源予以訪問時,可以將內(nèi)存機作為基礎,而不需要反復開展超調(diào)用工作,開銷會隨之減少。就實際情況而言,來賓操作系統(tǒng)訪問的資源主要包括兩類,分別為多個寄存器組成的資源和虛擬中斷控制器,該寄存器包括原狀態(tài)寄存器與保存程序狀態(tài)寄存器兩部分組成。在實踐中,寄存器與虛擬中斷控制器內(nèi)容,均在共享內(nèi)存區(qū)域被存儲。其中,寄存器的超調(diào)用信號,能夠被宏代碼所取代。此外,系統(tǒng)運行階段,可基于宏完成一系列的操作,操作載體為寄存器。在上述操作完成后,共享內(nèi)存中的內(nèi)容會發(fā)生轉化,變?yōu)樘摂M寄存器讀寫進程。虛擬機監(jiān)視器在必要情況下,可以實現(xiàn)對程序狀態(tài)寄存器與虛擬寄存器狀態(tài)的調(diào)整。

2 基于seL4構建的嵌入式虛擬化系統(tǒng)

2.1 基于seL4的微內(nèi)核架構

seL4微內(nèi)核屬于操作系統(tǒng)內(nèi)核,是L4微內(nèi)核家族中最先進的成員。其應用優(yōu)勢在于可以通過微應用程序提供訪問控制模型的方式,提高系統(tǒng)的安全性能基礎,從嵌入式系統(tǒng)的角度看,以seL4微內(nèi)核為基礎,所構建的虛擬機管理器,具有諸多方面的優(yōu)勢,具體為隔離和授權功能,所針對的對象為軟件組件,故有利于增強組件之間通信控制效果,并實現(xiàn)提高系統(tǒng)運轉安全性的目的。如圖3所示為基于seL4微內(nèi)核架構的實時響應的嵌入式系統(tǒng)虛擬化系統(tǒng)架構。

2.2 嵌入式虛擬化系統(tǒng)的實現(xiàn)

2.2.1 Hypervisor軟件架構

在研究實時響應的嵌入式系統(tǒng)虛擬化微內(nèi)核架構的應用性能時,可以綜合應用Chcore微內(nèi)核與虛擬化技術,Chcore微內(nèi)核操作系統(tǒng)屬于一種以微內(nèi)核操作系統(tǒng)結構為基礎的系統(tǒng),同時,為提高系統(tǒng)軟件性能指標測試工作的可靠性,需要將硬件虛擬加速技術融入系統(tǒng)當中,基于Chcore構建的虛擬機管理器系統(tǒng)如圖4所示。其中,分析架構虛擬層添加后,主要由3 層異常級別組成,其中,EL1層屬于用戶功能模塊所處位置。內(nèi)核態(tài)功能模塊處于系統(tǒng)的EL1、EL2層當中,因此,在構建模擬分析系統(tǒng)時,須提高各層數(shù)據(jù)集操作接口管控情況的關注度[4]。在圖4中,增加的虛擬化部分主要由陰影顯示,因為所采用的設計思路以內(nèi)核態(tài)跨層為主,使ARM提供支持被充分發(fā)揮,可以在最大限度上完成對微內(nèi)核的優(yōu)化。

2.2.2 Hypervisor組件構成

基于上文所研究的架構,需要做好相關組件的設計工作,如圖5所示。在觀察圖5后得知,其組件分別由以下部分組成:

1) 虛擬機創(chuàng)建、配置和管理;

2) 滿足客戶操作系統(tǒng)虛擬機需求的調(diào)度器;

3) 創(chuàng)建物理地址的虛擬內(nèi)存管理;

4) 各異常級別的虛擬中斷異常處理,若操作系統(tǒng)在其他因素的影響下陷入異常,該組件可以實現(xiàn)對外部設備和虛擬機之間通信的處理。

在Hypervisor系統(tǒng)中異常級別為EL1、EL0的虛擬化模塊功能較為相似,以便保證系統(tǒng)在運轉過程中,能夠最大限度在用戶態(tài)中生成代碼功能,減少微內(nèi)核所承擔的任務。同時,為提高運轉效率,在系統(tǒng)設計階段,系統(tǒng)內(nèi)核部分所保留的功能以基礎功能為主,其余功能需要在系統(tǒng)處于用戶態(tài)的情況下,開展測試分析[5]。

2.3 嵌入式虛擬化系統(tǒng)的功能

2.3.1 Hypervisor 功能測試

在驗證實時響應的嵌入式系統(tǒng)虛擬化微內(nèi)核架構的Hypervisor功能的過程中,構建的驗證硬件環(huán)境為Hikey970,系統(tǒng)開發(fā)板如圖6所示。從圖中可以看出,Hikey970環(huán)境共有8個中央處理器,可以實現(xiàn)負載的均衡處理,在性能測試環(huán)節(jié),工作人員需要先關閉處理器的動態(tài)均衡調(diào)度機制,然后在0號中央處理器處,開啟多個虛擬機,觀察虛擬機能否正常執(zhí)行任務,從而達到驗證系統(tǒng)功能的目的。

虛擬啟動的狀態(tài)情況,如圖7所示,在觀察圖7后得知,在同時開啟7臺虛擬機的情況下,虛擬機的任務均能正常執(zhí)行,輸出taskl。

在查看系統(tǒng)調(diào)度日志后,發(fā)現(xiàn)各編號的虛擬機均能在0號中央處理器上時分復用,如圖7所示。

2.3.2 Hypervisor性能分析

為了解系統(tǒng)架構添加虛擬化層后,系統(tǒng)運行開銷與虛擬機在Hikey970環(huán)境下的開銷變化,需要對Hy?pervisor的性能加以分析。通過分析可以發(fā)現(xiàn),在添加虛擬層后,系統(tǒng)round-trip IPC通信的cycle次數(shù)為3302<5000,符合標準UPC的性能要求。在測試上下文切換及中斷處理開銷時,可以發(fā)現(xiàn),12000次上下文切換情況下,cycles次數(shù)為2773368個,中斷過程中需處理的cycle 個數(shù)為5279199 個,個數(shù)約為90%的直接在Hikey970環(huán)境下運行產(chǎn)生的額外開銷,因此,可以認為該系統(tǒng)的應用性能符合要求。

3 結論

總而言之,在半虛擬化微內(nèi)核架構,無法滿足當前嵌入式系統(tǒng)工作需要的情況下,構建實時響應的嵌入式系統(tǒng)虛擬化微內(nèi)核架構,并依托結構性能測試結果,對架構的性能加以優(yōu)化,成為降低超調(diào)用開銷,提高實時操作系統(tǒng)可調(diào)度性的必要舉措。

沙坪坝区| 介休市| 佛冈县| 邵阳县| 松江区| 突泉县| 班玛县| 光泽县| 罗甸县| 万荣县| 泸溪县| 观塘区| 新民市| 利川市| 岢岚县| 保定市| 文成县| 锦屏县| 墨玉县| 水富县| 长垣县| 太仓市| 襄汾县| 新巴尔虎右旗| 濉溪县| 酉阳| 西充县| 鲁山县| 吐鲁番市| 临高县| 华安县| 龙泉市| 平安县| 南漳县| 连云港市| 阆中市| 唐山市| 根河市| 大石桥市| 新沂市| 乌兰浩特市|