亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式虛擬機管理器內(nèi)存虛擬化方法研究

        2020-05-11 12:18:33龍怡清
        科技資訊 2020年6期

        龍怡清

        摘? 要:隨著計算機科學(xué)技術(shù)的快速發(fā)展,對于計算機硬件以及軟件的應(yīng)用更加多元化,嵌入式虛擬機管理技術(shù)就是其中一個比較典型的使用案例。客戶操作系統(tǒng)順暢運行離不開嵌入式虛擬機管理器,需應(yīng)用嵌入式虛擬機管理器對硬件資源(3種硬件資源)虛擬化,而支持虛擬內(nèi)存的客戶操作系統(tǒng)則需要對CPU存儲管理單元頁表虛擬化。該文主要研究的是NXP公司的PowerPC架構(gòu)處理器,以此為例來詳細地說明CPU的存儲管理單元以及管理方法,從而提出CPU的存儲管理單元虛擬化的需求。從5個典型性虛擬機管理器軟件的內(nèi)存虛擬化研究方案中可得出虛擬化問題的有效解決方案,此方案包括軟件影子頁表、硬件支持特性,軟硬件結(jié)合中的多種方案,能進一步解決CPU存儲管理單元(MMU)頁表虛擬化問題。

        關(guān)鍵詞:嵌入式虛擬機管理器? 客戶OS? MMU頁表? 內(nèi)存虛擬化? 影子頁表

        中圖分類號:TP316 ? ?文獻標識碼:A 文章編號:1672-3791(2020)02(c)-0014-02

        嵌入式虛擬機管理器是一款運行在操作系統(tǒng)之上的軟件,在該管理器上面又同時可以運行多個操作系統(tǒng),不同的操作系統(tǒng)運行在不同的區(qū)域,這樣就方便管理。主要的功能實現(xiàn)就是將物理硬件映射給客戶操作系統(tǒng)來使用,讓客戶操作系統(tǒng)有一種在真實的硬件上面運行的感覺,要想達到這個目的并非簡單,總共需要對于三大類型的硬件設(shè)備進行虛擬化操作。第一類就是CPU核,在一個原始的物理CPU核上面進行操作,就可以同時映射出多個邏輯CPU核來供客戶操作系統(tǒng)使用,其中的重要步驟在于對原始物理CPU核的時間分割,分割為多個時間片段來執(zhí)行不同的任務(wù),讓不同的邏輯CPU核可以占用物理CPU和上周期內(nèi)的不同時間片段,就可以感覺到多個操作系統(tǒng)同時運行。第二類就是內(nèi)存,虛擬化內(nèi)存技術(shù)可以實現(xiàn)物理內(nèi)存的分劃,不同的分區(qū)肯定不能使用同一個分區(qū),這必然造成數(shù)據(jù)信息的混亂,出現(xiàn)安全事故,因此物理內(nèi)存的分劃確保數(shù)據(jù)安全性。第三類就是設(shè)備,IO設(shè)備是被多個分區(qū)共同分享的,所以也需要對于各種IO設(shè)備進行虛擬化。

        1? MMU硬件管理方法概述

        1.1 MMU硬件

        嵌入式領(lǐng)域在目前來看使用的比較主流的處理器架構(gòu)主要有ARM、X86、PowerPC等。MMU是在CPU內(nèi)部集成的一個硬件邏輯單元,可以提供4種主要的功能:MMU可以實現(xiàn)將邏輯地址轉(zhuǎn)換為物理地址,當MMU關(guān)閉時,邏輯地址是等同于物理地址的;MMU同時還提供了讀寫保護,不同的用戶被分配到不同的權(quán)限,也可以相同,然后不同的權(quán)限對應(yīng)著不同的區(qū)域,這樣就實現(xiàn)了資源的權(quán)限控制。

        PowerPC架構(gòu)處理器可以同時支持3種類型的MMU轉(zhuǎn)換模式:利用TLB將邏輯地址轉(zhuǎn)換為物理地址的頁地址轉(zhuǎn)換模式;邏輯地址轉(zhuǎn)換為物理地址的塊地址轉(zhuǎn)換模式(充分利用BAT寄存器進行的塊地址轉(zhuǎn)換模式);平板映射模式(禁止地址轉(zhuǎn)換)。

        由于并不是所有的處理器都支持MMU,并且就算硬件滿足條件,也有可能操作系統(tǒng)不支持虛擬內(nèi)存,在這種情況下就只能采取平板映射模式。但需要注意的是,塊地址轉(zhuǎn)換只用于部分處理器。

        1.2 MMU管理方法

        NXP公司的核心架構(gòu)處理器經(jīng)歷了比較漫長的發(fā)展過程,其硬件結(jié)構(gòu)隨之不斷地發(fā)生著改變,硬件的功能基本保持不變,穩(wěn)定性能越來越好,主要就是實現(xiàn)邏輯地址到物理地址的轉(zhuǎn)換和保護工作。MMU對于存儲管理機制的實現(xiàn)支持主要有兩種方式,分別是塊地址轉(zhuǎn)換形式和MMU頁表形式。其中塊地址轉(zhuǎn)換形式的內(nèi)存為128kB,是最小內(nèi)存塊。

        TLB是存在于內(nèi)存中的非常重要的一塊區(qū)域,主要用于存放MMU頁表。可以用來保護經(jīng)常使用的頁表項,MMU頁表加載之后就會進入到緩存,頻繁的改變就可以得到TLB表項,這個替換的過程是非常復(fù)雜的,一方面只有硬件的支持才能很好地完成,另一方面還需要優(yōu)秀的算法來實現(xiàn)轉(zhuǎn)換。大內(nèi)存塊常用BAT且地址不會因映射關(guān)系的改變而頻繁改變地址轉(zhuǎn)換。

        1.3 MMU虛擬化需求

        虛擬機管理器可以運行多個客戶操作系統(tǒng),如果客戶操作系統(tǒng)是基于虛擬化的,那么客戶操作系統(tǒng)處于用戶態(tài)時,沒有辦法對于MMU的空間進行管理,所以,在客戶操作系統(tǒng)上面抽象了一個適配層,如果該適配層可以很好地支持MMU的虛擬化功能,則是非常完美的實現(xiàn)。MMU虛擬化主要實現(xiàn)了3個功能:一是實現(xiàn)了客戶操作系統(tǒng)物理內(nèi)存地址到主機物理內(nèi)存地址的完美轉(zhuǎn)換;二是設(shè)置了內(nèi)存的權(quán)限管理,最大程度地避免內(nèi)存的泄露;三是將客戶頁表已訪問的信息進行緩存,方便下次直接使用。

        2? MMU虛擬化方法分析

        2.1 XEN內(nèi)存虛擬化方法

        英國劍橋大學(xué)是XEN誕生地,人們通過不懈地鉆研,發(fā)現(xiàn)X86架構(gòu)處理器與內(nèi)存虛擬化有重要關(guān)系,通過它發(fā)現(xiàn)了一種優(yōu)秀的內(nèi)存虛擬化方法??蛻舨僮飨到y(tǒng)可以直接對硬件頁表進行讀操作,而更新操作則必須要有XEN的參與,如果頻繁的陷入XEN,將會有較大的開銷,因此可以使用隊列的結(jié)構(gòu)來分批地對這些操作進行確認,這樣就可以在一定程度上降低開銷。

        X86影子模式、X86直接模式是XEN對MMU硬件虛擬化的主要方式。X86影子模式主要就是客戶操作系統(tǒng)維護客戶頁表,因此會產(chǎn)生客戶操作系統(tǒng)的影子頁表,這個影子頁表由XEN來幫忙維護。MMU硬件能進行該頁表訪問,在訪問的同時也可以訪問客戶頁表、影子頁表,并且能進行信息的有效傳遞。

        X86直接模式主要就是客戶操作系統(tǒng)維護客戶頁表,MMU可以訪問客戶頁表,客戶操作系統(tǒng)需要在XEN上面對于客戶頁表進行注冊,頁表基地址的改變可通過Linux客戶操作系統(tǒng)實現(xiàn),但XEN需在提交頁表之前確認,頁表的更新也離不開XEN的陷入,并仿真寫操作。

        2.2 ViMo內(nèi)存虛擬化方法

        韓國電子通信研究院設(shè)計的ViMo被廣泛應(yīng)用于移動通信領(lǐng)域,能支持建立在ARM基礎(chǔ)上的架構(gòu)處理器的全虛擬化技術(shù)。其主要把地址空間分為物理地址、機器地址、虛擬地址。毫無疑問虛擬地址是由客戶操作系統(tǒng)來使用的,物理地址則是主要作為客戶操作系統(tǒng)的物理地址,機器地址主要由ViMo來進行維護,每個虛擬機都有自己的機器地址,這段地址比較特別,具有物理上的連續(xù)性,使用起來非常的方便,一旦虛擬機進入關(guān)機狀態(tài),這段地址可以會被分配給其他的虛擬機使用。

        2.3 KVM/ARM內(nèi)存虛擬化方法

        KVM/ARM是第一個全系統(tǒng)的ARM虛擬化解決方案,工作原理為ARM架構(gòu)處理器,簡言之是在多核的ARM上面運行原生客戶的操作系統(tǒng)。虛擬地址的訪問權(quán)對于客戶操作系統(tǒng)以及內(nèi)核都至關(guān)重要,并且它們同時訪問的時候不能相互產(chǎn)生影響,所以內(nèi)存虛擬化勢在必行。對于真實的物理內(nèi)存而言,內(nèi)核擁有著絕對的訪問控制權(quán)限,而客戶操作系統(tǒng)則需要通過內(nèi)核才能訪問。要想實現(xiàn)這樣的需求就需要增加其他的內(nèi)存虛擬化層,這樣客戶操作系統(tǒng)就可以訪問內(nèi)存的虛擬化層。KVM/ARM的內(nèi)存虛擬化方法比較特別,為了實現(xiàn)客戶虛擬地址和客戶物理地址之間的映射,這個任務(wù)由客戶操作系統(tǒng)來完成。內(nèi)核的虛擬地址映射到真實的物理地址的原理是客戶物理地址映射到內(nèi)核虛擬地址。

        2.4 NOVA內(nèi)存虛擬化方法

        NOVA是由德國的一所大學(xué)操作系統(tǒng)研究小組設(shè)計的,基于Intel VT-x的支持全虛擬化的微內(nèi)核架構(gòu)虛擬機管理器。以下4種類型為內(nèi)存的基本類型。

        (1)HVA:由NOVA分配,在打開MMU時候的地址。

        (2)HPA:有物理平臺提供,關(guān)閉MMU時候的地址。

        (3)GPA:由NOVA分配給客戶操作系統(tǒng),客戶操作系統(tǒng)在關(guān)閉MMU時候的地址。

        (4)GVA:由客戶操作系統(tǒng)分配,客戶操作系統(tǒng)在打開MMU時候的地址。

        一般GPA等同于HVA。由于處理器支持嵌套分頁,便可以運用硬件提供的特性更好地完成內(nèi)存的虛擬化。需注意的是,處理器不支持嵌套分頁特性就需要使用vTLB算法,進而填充和刷新影子頁表。

        2.5 MobiVMM內(nèi)存虛擬化方法

        韓國大學(xué)和微軟亞洲研究院聯(lián)合開發(fā)的MobiVMM內(nèi)存虛擬化方法,適用范圍為消費電子領(lǐng)域,能有效解決資源受限、實時支持、功能高效管理。主要的設(shè)計方案就是MobiVMM和客戶操作系統(tǒng)共享一個地址空間,在共享空間時會把4GB空間里最高的32MB留置于MobiVMM,因此切換MobiVMM時,不用刷新TLB、Cache,一定程度上節(jié)省了大量的人力、物力、財力。

        3? MMU頁表虛擬化方案

        3.1 軟件方案

        在軟件方案選擇時需影子頁表、其變體二選一,原因在于它們虛擬化能力較強,能實現(xiàn)MMU頁表虛擬化。工作主要機制為對原始CPU分頁,GVA到GPA的映射不可或缺,維護主要是由客戶操作系統(tǒng)的客戶頁表完成,HVA到HPA的映射關(guān)系非常重要,維護主要是由虛擬機管理器的主機頁表完成,影子頁表主要用于維護GVA到HPA的映射關(guān)系。

        3.2 硬件支持

        硬件條件支持有了一定基礎(chǔ),便可利用這些基礎(chǔ)的特性進行MMU頁表虛擬化。其中的技術(shù)要點在于在硬件上引入另一個分頁級別,客戶操作系統(tǒng)來控制64位以及32位的頁表事件,虛擬機管理器控制擴展頁表,CPU則是使用擴展頁表和客戶頁表。

        3.3 軟硬件結(jié)合

        基于軟硬件結(jié)合的MMU頁表虛擬化解決方案,是根據(jù)虛擬機管理器所支持處理器的虛擬化特性生成的,需注意的是當處理器具有類似EPT特性時,可直接選擇MMU頁表虛擬化方案,如不支持則可采用類似影子頁表、其變體二選一的軟件MMU頁表虛擬化方案。

        4? 結(jié)語

        對嵌入式虛擬機管理器內(nèi)存虛擬化方法的研究,有利于解決各種虛擬化問題,對于客戶操作系統(tǒng)的虛擬化需結(jié)合MMU頁表進行。解決方案包括軟件解決方案、硬件支持方案、軟硬件結(jié)合解決方案。

        參考文獻

        [1] 尹學(xué)淵,陳興蜀,陶術(shù)松,等.一種無代理虛擬機進程監(jiān)控方法[J].南京大學(xué)學(xué)報:自然科學(xué)版,2019(2):98.

        [2] 劉健,王馬龍.基于負載特征的虛擬機動態(tài)遷移決策算法[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(3):123.

        [3] 陳佳昕.虛擬機隱藏進程檢測系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代計算機:專業(yè)版,2019(1):93-96.

        [4] 徐海燕,郭京.基于共享內(nèi)存的多核虛擬機系統(tǒng)中的虛擬機間通信[J].電子技術(shù)與軟件工程,2014(3):78.

        [5] 陳興蜀,趙成,陶術(shù)松.基于KVM的Windows虛擬機用戶進程防護[J].電子科技大學(xué)學(xué)報,2016(6):950-957.

        无码人妻丰满熟妇啪啪7774| 和外国人做人爱视频| 麻豆一区二区三区蜜桃免费| 亚洲中文字幕无码专区| 亚洲一区区| 中文字幕人妻在线少妇完整版| 中文字幕在线亚洲精品一区| 亚洲精品无码不卡| 8av国产精品爽爽ⅴa在线观看| 99成人精品| 中文字幕一区二区人妻在线不卡 | 国产AV秘 无码一区二区三区| 中文字日产幕码三区做法| 亚洲国产精彩中文乱码av| 亚洲码国产精品高潮在线| 美女在线国产| 国产精品亚洲一区二区三区妖精| 亚洲中文字幕国产视频| 亚洲一本到无码av中文字幕| 亚洲深夜福利| 亚洲一区二区女优av| 蜜桃a人妻精品一区二区三区| 人妻体体内射精一区二区| 午夜一级在线| 牛仔裤人妻痴汉电车中文字幕 | 一本色道久久88精品综合| 色yeye免费视频免费看| 成人免费播放片高清在线观看| 成人午夜高潮a∨猛片| 亚洲人成无码www久久久| 国产桃色精品网站| 亚洲男人综合久久综合天堂| 亚洲av无码一区二区三区不卡| 日韩欧美国产丝袜视频| 日产一区二区三区的精品| 男女真人后进式猛烈视频网站| 双腿张开被9个男人调教| 久久久精品456亚洲影院| 日韩精品久久午夜夜伦鲁鲁| 久久久久成人精品无码| 亚洲国产成人精品福利在线观看|