欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向arm多核處理器服務(wù)器平臺的系統(tǒng)虛擬機的制作方法

文檔序號:6381036閱讀:353來源:國知局
專利名稱:一種面向arm多核處理器服務(wù)器平臺的系統(tǒng)虛擬機的制作方法
技術(shù)領(lǐng)域
本發(fā)明公開了一種系統(tǒng)虛擬機,尤其涉及一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機(英文簡寫為ARMVM) ,ARM指“無內(nèi)部互鎖流水級的微處理器"(Microprocessorwithout interlocked piped stages)。屬于計算機技術(shù)領(lǐng)域。
背景技術(shù)
系統(tǒng)虛擬化是計算機系統(tǒng)結(jié)構(gòu)與計算機系統(tǒng)軟件相結(jié)合的一個重要研究方向。它通過在計算機系統(tǒng)硬件和操作系統(tǒng)之間增加虛擬機監(jiān)控器(Virtual Machine Monitor,簡稱VMM),對計算機系統(tǒng)的物理資源進行抽象,隔離硬件系統(tǒng)結(jié)構(gòu)和軟件之間的緊密依賴關(guān)系;通過動態(tài)組織CPU、內(nèi)存、1/0等多種物理資源,靈活構(gòu)建多個相互隔離的虛擬計算機,滿足多樣化的應(yīng)用需求;通過發(fā)掘應(yīng)用間的時間和空間的并行性,提高資源的利用率。 虛擬化技術(shù)在20世紀60年代首次提出,當時主要是為了對大型機硬件進行分區(qū)以提高硬件利用率。在20世紀80年代和90年代,由于客戶端-服務(wù)器應(yīng)用程序以及價格低廉的x86服務(wù)器和臺式機的發(fā)展,在分布式計算技術(shù)日益成熟的同時,虛擬化技術(shù)當時基本銷聲匿跡了。20世紀90年代Windows的廣泛使用以及Linux作為服務(wù)器操作系統(tǒng)的出現(xiàn),奠定了 x86服務(wù)器的行業(yè)標準地位。隨著x86服務(wù)器和桌面部署的增長,帶來了新的如伸縮性、靈活性和可靠性差等IT基礎(chǔ)架構(gòu)和運作難題,這使得虛擬化技術(shù)近年來得到了復(fù)興。近年隨著云計算的日益推廣,虛擬化技術(shù)在商業(yè)應(yīng)用上的優(yōu)勢日益體現(xiàn)。虛擬化改變了企業(yè)傳統(tǒng)的IT基礎(chǔ)設(shè)施部署和管理方式,大幅提高了基礎(chǔ)設(shè)施的伸縮性、靈活性和可靠性。其概念已經(jīng)深入到企業(yè)甚至每個人的日常的工作與生活中,成為了目前全球軟件產(chǎn)業(yè)中發(fā)展最快的技術(shù)之一。近年來,隨著ARM CPU性能的飛速發(fā)展,ARM CPU的應(yīng)用已經(jīng)不僅限于傳統(tǒng)的嵌入系統(tǒng)領(lǐng)域,部分高性能的ARM CPU也被逐漸應(yīng)用到商用服務(wù)器中,也即無論嵌入式還是服務(wù)器領(lǐng)域都對ARM多核處理器及其虛擬化應(yīng)用需求的日益擴大。另一方面隨著虛擬化技術(shù)快速發(fā)展以來,包括ARM架構(gòu)處理器在內(nèi)的嵌入式處理器領(lǐng)域,對虛擬化技術(shù)提出了新的需求。然而,通過對X86,PowerPC(PPC) ,ARM等的對比(見所附的表I)可以看出,目前廣泛應(yīng)用的ARM CPU,除了 2011年最新上市但尚未取得廣泛應(yīng)用的ARM Cortex-A15外,都存在迫切需要解決虛擬化漏洞并且并不支持硬件輔助虛擬化等問題,這使得面向ARM多核處理器實現(xiàn)系統(tǒng)虛擬機面臨技術(shù)挑戰(zhàn)。如無恰當?shù)奶摂M化技術(shù)的支持,將給ARM CPU在嵌入式和服務(wù)器市場的進一步廣泛應(yīng)用帶來巨大的阻力。ARM處理器要想在嵌入式系統(tǒng),尤其是服務(wù)器市場占用更重要的一席之地,虛擬化技術(shù),尤其是面向其虛擬化漏洞和無硬件輔助支持問題的技術(shù)突破刻不容緩。和本發(fā)明相關(guān)的系統(tǒng)虛擬機研究歸納起來可包括兩方面進展,面向系統(tǒng)虛擬機的設(shè)計和實現(xiàn)關(guān)鍵技術(shù)(如中國專利申請?zhí)枮?00610139664. 1,名稱為“一種虛擬機系統(tǒng)及其CPU調(diào)度方法”;中國專利公開號為CN1740989,名稱為“通用嵌入式系統(tǒng)虛擬頁屬性管理方法”),基于系統(tǒng)虛擬機的應(yīng)用關(guān)鍵技術(shù)(如中國專利公開號為CN102194080A,名稱為“一種基于內(nèi)核虛擬機的rootkit檢測機制及檢測方法”;中國專利申請?zhí)枮?2137511. 9,名稱為“一種用于嵌入式系統(tǒng)軟件開發(fā)的虛擬機裝置”;中國專利公開號為CN102243571A,名稱為“一種面向嵌入式Hypervisor的多視窗顯示虛擬化操作方法”)?,F(xiàn)在國內(nèi)外大量公司和機構(gòu)對嵌入式系統(tǒng)虛擬化的研究也形成了不少成果和產(chǎn)品。2009年VMware公司推了移動虛擬化平臺(VMware MVP),這個平臺起初可以支持多種智能手機操作系統(tǒng),支持各種實時操作系統(tǒng)和富操作系統(tǒng),包括Windows CE5. O和6. O、Linux2. 6、Symbian 9、eCos、uITRON NORTi以及uC/0S-II等,支持手機應(yīng)用遷移技術(shù),但它不適于運行規(guī)模比較大的程序。2009年思杰公司推出了另外一款手機虛擬化方案Citrix Receiver,可以使任何設(shè)備很容易地訪問運行在遠端數(shù)據(jù)中的虛擬桌面和應(yīng)用程序,這種方案把云計算技術(shù)引入到了智能手機虛擬化技術(shù)中。摩托羅拉公司也推出了 Evoke QA4虛擬化方案,采用了 OpenKernel Labs (開放內(nèi)核實驗室)的0KL4微內(nèi)核產(chǎn)品實現(xiàn)虛擬化。Open Kernel Labs也發(fā)布了幾款智能手機平臺的泛虛擬化產(chǎn)品,這些產(chǎn)品擁有OK Labs的安全超單元(SecureHyperCellArchitecture)架構(gòu),主要支持 Linux、Android、Symbian、Window Mobile 等手機操作系統(tǒng)。隨著ARM處理器的所占的份額越來越大和性能的不斷提升,ARM架構(gòu)也開始向虛擬化方向發(fā)展。現(xiàn)在已經(jīng)出現(xiàn)了多種商業(yè)的ARM架構(gòu)系統(tǒng)虛擬化方案,主要包括VirtualLogix推出的為ARM架構(gòu)設(shè)計的VLX技術(shù),Green Hills提出的INTEGRITY安全虛擬化方案。這些虛擬化方案都是非開源的,而且需要泛虛擬化技術(shù)的支持。三星公司的XenOnARM是一個針對ARM架構(gòu)虛擬化的開源解決方案。Xen采用泛虛擬化技術(shù),需要訪問訪問和修改客戶操作系統(tǒng)的源代碼,Xen OnARM需要手動修改大約4500行的客戶操作系統(tǒng)內(nèi)核代碼,并且還得根據(jù)每個源碼的版本變化做出相應(yīng)的維護工作,這些都大大加大了 Xen OnARM的應(yīng)用代價。國內(nèi)目前還沒有面向ARM多核處理器服務(wù)器平臺的實現(xiàn)KVM虛擬機的相關(guān)方案??偨Y(jié)現(xiàn)有研究結(jié)果和實現(xiàn)系統(tǒng)來看,現(xiàn)有的研究和發(fā)明存在如下趨勢和問題在體系結(jié)構(gòu)上,大部分是面向X86等架構(gòu)平臺提出的設(shè)計、實現(xiàn)和改進關(guān)鍵技術(shù)發(fā)明,在面向嵌入式系統(tǒng)平臺的發(fā)明上,虛擬機應(yīng)用技術(shù)(如利用虛擬機技術(shù)輔助實現(xiàn)虛擬化多視窗顯示和檢測等)偏多。虛擬化技術(shù)在在60-70年代提出,在80-90年代基本銷聲匿跡,直到90年代再次復(fù)興,并且前期主要采用重量的系統(tǒng)級虛擬機(如QEMU,XEN等),基于重量級虛擬機的系統(tǒng)虛擬機存在性能開銷較大的問題。而隨著虛擬機應(yīng)用范圍的推廣,近期輕量的操作系統(tǒng)級/內(nèi)核級虛擬機(如KVM,OPENVZ等)得到日益廣泛的重視。對ARM多核處理器而言,目前面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬化技術(shù)的研究相對較少,尤其是面向其無硬件輔助問題,基于輕量級虛擬機(內(nèi)核虛擬機KVM)的系統(tǒng)虛擬機整體體系結(jié)構(gòu)設(shè)計及其關(guān)鍵技術(shù)(CPU虛擬化、內(nèi)存虛擬化和10虛擬化等)的研究和發(fā)明缺乏。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機,針對ARM多核處理器虛擬化漏洞和無硬件輔助支持等問題,它實現(xiàn)了一種基于輕量級內(nèi)核虛擬機KVM的面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機系統(tǒng),為上層虛擬化應(yīng)用提供系統(tǒng)軟件支持。本發(fā)明的技術(shù)方案如下一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機,基于KVM實現(xiàn),采用宿主模型架構(gòu),在模塊構(gòu)成上,主要包括( I)物理硬件物理硬件進一步包括物理CPU,物理內(nèi)存,物理外設(shè)。物理硬件是整個系統(tǒng)虛擬機的硬件基礎(chǔ)設(shè)施。(2)宿主OS :宿主OS為物理硬件提供OS。(3)虛擬機內(nèi)核虛擬機內(nèi)核進一步包括CPU虛擬化子系統(tǒng)、內(nèi)存虛擬化子系統(tǒng)以及I/o虛擬化子系統(tǒng)。(4)虛擬硬件虛擬硬件進一步包括虛擬CPU,虛擬內(nèi)存,虛擬外設(shè)。虛擬硬件是整個系統(tǒng)虛擬機的重要輸出,為上層客戶OS和虛擬化應(yīng)用提供虛擬硬件支持。(5)設(shè)備模型設(shè)備模型為宿主QEMU進程提供設(shè)備。(6)客戶OS :客戶OS是上層客戶機應(yīng)用和虛擬硬件的中間件。 (7)宿主QEMU進程宿主QEMU進程是一個經(jīng)過修改后的QEMU,它運行于宿主操作系統(tǒng)的用戶空間,主要有兩個作用1)作為虛擬機內(nèi)核的用戶空間操作接口。2)協(xié)助虛擬機內(nèi)核完成I/O虛擬化任務(wù)?;谝陨夏K構(gòu)成,本發(fā)明公布了一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機執(zhí)行模式。所發(fā)明的執(zhí)行模式在原有Linux操作系統(tǒng)的兩種執(zhí)行模式(用戶模式和內(nèi)核模式)的基礎(chǔ)上,增加了一種管理模式。即一種面向ARM多核處理器的系統(tǒng)虛擬機執(zhí)行模式主要包括三種執(zhí)行模式(I)管理模式管理模式用于執(zhí)行非I/O的客戶機內(nèi)核代碼。(2)內(nèi)核模式內(nèi)核模式用于實現(xiàn)到管理模式的切換,并處理那些由于I/O操作而從管理模式退出的代碼或者特殊指令,虛擬機內(nèi)核工作在這種模式下。(3)用戶模式用戶模式用于執(zhí)行客戶機的用戶代碼,同時宿主機QEMU進程也運行在這種模式下?;谝陨夏K和執(zhí)行模式構(gòu)成,在核心算法上,本發(fā)明公布了一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機實現(xiàn)方法,主要包括如下幾個步驟(I)步驟SI :用戶模式下的宿主QEMU進程通過系統(tǒng)調(diào)用,進入內(nèi)核模式。(2)步驟S2 :內(nèi)核模式中,虛擬機內(nèi)核為虛擬機創(chuàng)建和初始化虛擬CPU和虛擬內(nèi)存,然后返回用戶模式。(3)步驟S3 :用戶模式下的宿主QEMU進程再次通過系統(tǒng)調(diào)用,進入內(nèi)核模式。(4)步驟S4 :內(nèi)核模式中,首先實施步驟S41,然后實施步驟S42。步驟S41和步驟S42實施內(nèi)容如下a)步驟S41 :虛擬機內(nèi)核準備客戶機的運行環(huán)境,載入客戶機代碼。b)步驟S42 :根據(jù)上次發(fā)生退出前所處的操作模式,相應(yīng)切換至管理模式或用戶模式。(5)步驟S5 :判斷客戶機代碼執(zhí)行過程是否發(fā)生異常;如發(fā)生異常,則執(zhí)行步驟S6。(6)步驟S6 :進入運行于內(nèi)核模式的虛擬機內(nèi)核執(zhí)行異常處理操作,異常處理后執(zhí)行S7。(7)步驟S7 :進行I/O訪問判斷,如果是非I/O訪問,執(zhí)行步驟S8。如果是I/O訪問,執(zhí)行SlO。
a)步驟S8 :執(zhí)行步驟S9并執(zhí)行步驟S42,即最終重新進入客戶機代碼運行。b)步驟S9 :內(nèi)存虛擬化。(8)步驟S10:退出到宿主機QEMU進程進行I/O訪問的模擬執(zhí)行,執(zhí)行完畢后再次進入客戶機運行。本發(fā)明的優(yōu)點/效果本發(fā)明所公布的面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機,它與現(xiàn)有技術(shù)相t匕,其主要的優(yōu)點是(1)由于基于內(nèi)核級虛擬機進行開發(fā),系統(tǒng)具有輕量級的優(yōu)點。(2)由于現(xiàn)有的ARM處理器大部分都存在無硬件輔助支持的問題,并且ARM處理近年來隨著性能的不斷提升,已經(jīng)從傳統(tǒng)的面向嵌入式領(lǐng)域,逐漸被服務(wù)器領(lǐng)域等嘗試和采用,故本發(fā)明具有很強的實用性和很廣的應(yīng)用范圍。


圖I本發(fā)明的面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機總體框架示意2本發(fā)明的面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機流程示意中I、物理硬件,101、物理CPU, 102、物理內(nèi)存,103、物理外設(shè)2、宿主OS,3、虛擬機內(nèi)核,4、CPU虛擬化子系統(tǒng), 5、內(nèi)存虛擬化子系統(tǒng)6、I/O虛擬化子系統(tǒng)7、虛擬CPU,8、虛擬內(nèi)存,9、虛擬外設(shè)10、虛擬硬件,11、設(shè)備模型,12、客戶OS,13、宿主QEMU進程
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點表達得更加清楚明白,下面結(jié)合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。以Cortex-A9 MPCore (一種典型的最新款的無硬件輔助虛擬化支持的ARM多核處理器),如圖1,圖2所示,一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機,具體實施方法如下在模塊構(gòu)成上,一種面向ARM多核處理器的系統(tǒng)虛擬機主要包括(I)物理硬件I :物理硬件I進一步包括物理CPUlOI,物理內(nèi)存102,物理外設(shè)103。物理硬件I是整個系統(tǒng)虛擬機的硬件基礎(chǔ)設(shè)施。(2)宿主OS 2 :宿主OS 2為物理硬件I提供OS。(3)虛擬機內(nèi)核3 :虛擬機內(nèi)核3進一步包括CPU虛擬化子系統(tǒng)4、內(nèi)存虛擬化子系統(tǒng)5以及I/O虛擬化子系統(tǒng)6。虛擬機內(nèi)核3是整個系統(tǒng)虛擬機的核心,它負責虛擬機的創(chuàng)建、銷毀、調(diào)度,虛擬機內(nèi)存的分配、管理,為虛擬機提供物理CPU、物理內(nèi)存和I/O設(shè)備的虛擬抽象,同時與宿主QEMU進程的設(shè)備模型協(xié)同完成I/O設(shè)備的模擬。(4)虛擬硬件10 :虛擬硬件10進一步包括虛擬CPU7,虛擬內(nèi)存8,虛擬外設(shè)9。虛擬硬件10是整個系統(tǒng)虛擬機的重要輸出,為上層客戶0S12和虛擬化應(yīng)用提供虛擬硬件支持。(5)設(shè)備模型11 :設(shè)備模型為宿主QEMU進程提供設(shè)備。(6)客戶0S12 :客戶OS是上層客戶機應(yīng)用和虛擬硬件的中間件。(7)宿主QEMU進程13 :宿主QEMU進程是一個經(jīng)過修改后的QEMU,它運行于宿主操作系統(tǒng)的用戶空間,主要有兩個作用1)作為內(nèi)核的用戶空間操作接口。虛擬機內(nèi)核是面向ARM多核處理器的系統(tǒng)虛擬機的核心,通過字符設(shè)備/dev/kvm/供用戶空間訪問。由于內(nèi)核不可直接使用,故需要一個用戶空間的工具,來與內(nèi)核交互。宿主QEMU進程就扮演了這個用戶空間的工具,使用戶能夠方便的操作內(nèi)核中的各個功能。2)協(xié)助內(nèi)核完成I/O虛擬化任務(wù)。QEMU本身是一個強大的系統(tǒng)級的模擬器,具有模擬全系統(tǒng)的能力,其設(shè)備模型能夠模擬多種常見的外設(shè),充分利用QEMU的設(shè)備模型科研高效簡潔地實現(xiàn)設(shè)備的管理和訪問?;谝陨夏K構(gòu)成,本實例中,一種面向ARM多核處理器的系統(tǒng)虛擬機執(zhí)行模式主要包括三種執(zhí)行模式(I)管理模式(Modl):管理模式用于執(zhí)行非I/O的客戶機內(nèi)核代碼。(2)內(nèi)核模式(Mod3):內(nèi)核模式用于實現(xiàn)到管理模式的切換,并處理那些由于I/O操作而從管理模式退出的代碼或者特殊指令,虛擬機內(nèi)核工作在這種模式下。(3)用戶模式(Mod2):用戶模式用于執(zhí)行客戶機的用戶代碼,同時宿主機QEMU進 程也運行在這種模式下?;谝陨夏K和執(zhí)行模式構(gòu)成,在核心算法上,本實例中,一種面向ARM多核處理器的系統(tǒng)虛擬機實現(xiàn)方法主要包括如下幾個步驟(I)步驟SI :用戶模式下的宿主QEMU進程通過IOCTL系統(tǒng)調(diào)用,進入內(nèi)核模式。(2)步驟S2 :內(nèi)核模式中,虛擬機內(nèi)核為虛擬機創(chuàng)建和初始化虛擬CPU和虛擬內(nèi)存,然后返回用戶模式。(3)步驟S3:用戶模式下的宿主QEMU進程再次通過IOCTL系統(tǒng)調(diào)用,進入內(nèi)核模式。(4)步驟S4:內(nèi)核模式中,首先實施步驟S41,然后實施步驟S42。步驟S41和步驟S42實施內(nèi)容如下a)步驟S41:虛擬機內(nèi)核準備客戶機的運行環(huán)境,載入客戶機代碼。b)步驟S42 :根據(jù)上次發(fā)生退出前所處的操作模式,相應(yīng)切換至管理模式或用戶模式。(5)步驟S5:判斷客戶機代碼執(zhí)行過程是否發(fā)生異常;如發(fā)生異常,則執(zhí)行步驟S6。(6)步驟S6:進入運行于內(nèi)核模式的虛擬機內(nèi)核執(zhí)行異常處理操作,異常處理后執(zhí)行S7。(7)步驟S7:進行I/O訪問判斷,如果是非I/O訪問,執(zhí)行步驟S8。如果是I/O訪問,執(zhí)行SlO。a)步驟S8 :執(zhí)行步驟S9并執(zhí)行步驟S42,即最終重新進入客戶機代碼運行。b)步驟S9:執(zhí)行內(nèi)存虛擬化。(8)步驟SlO :退出到宿主機QEMU進程進行I/O訪問的模擬執(zhí)行,執(zhí)行完畢后再次通過IOCTL進入客戶機運行。最后所應(yīng)說明的是以上實施例僅用以說明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解依然可以對本發(fā)明進行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當中。
表I
要求X86PPCARM
所有的敏感指令
存在漏洞滿足冇在漏洞
都是特權(quán)指令 處理器至少包含兩個操作模式,
滿足滿足滿足
特權(quán)模式和用戶模式 非特權(quán)模式下執(zhí)行特權(quán)指令
滿足滿足冇在漏洞
會因異常陷入特權(quán)模式 擁有一種VMM與虛擬
滿足滿足滿足
機內(nèi)存的隔離機制
權(quán)利要求
1.一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機,基于KVM實現(xiàn),采用宿主模型架構(gòu),其特征在于該虛擬機主要包括(1)物理硬件物理硬件進一步包括物理CPU,物理內(nèi)存,物理外設(shè);物理硬件是整個系統(tǒng)虛擬機的硬件基礎(chǔ)設(shè)施;(2)宿主OS:宿主OS為物理硬件提供OS ;(3)虛擬機內(nèi)核虛擬機內(nèi)核進一步包括CPU虛擬化子系統(tǒng)、內(nèi)存虛擬化子系統(tǒng)以及I/O虛擬化子系統(tǒng);虛擬機內(nèi)核是整個系統(tǒng)虛擬機的核心,它負責虛擬機的創(chuàng)建、銷毀、調(diào)度,虛擬機內(nèi)存的分配、管理,為虛擬機提供物理CPU、物理內(nèi)存和I/O設(shè)備的虛擬抽象,同時與宿主QEMU進程的設(shè)備模型協(xié)同完成I/O設(shè)備的模擬;(4)虛擬硬件虛擬硬件進一步包括虛擬CPU,虛擬內(nèi)存,虛擬外設(shè);虛擬硬件是整個系統(tǒng)虛擬機的重要輸出,為上層客戶OS和虛擬化應(yīng)用提供虛擬硬件支持;(5)設(shè)備模型設(shè)備模型為宿主QEMU進程提供設(shè)備;(6)客戶OS:客戶OS是上層客戶機應(yīng)用和虛擬硬件的中間件;(7)宿主QEMU進程宿主QEMU運行于宿主操作系統(tǒng)的用戶空間,主要有兩個作用1)作為虛擬機內(nèi)核的用戶空間操作接口 ;2)協(xié)助虛擬機內(nèi)核完成I/O虛擬化任務(wù)。
2.如權(quán)利要求I所述的一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機的實現(xiàn)方法,該實現(xiàn)方法是基于一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機執(zhí)行模式,該執(zhí)行模式在原有Linux操作系統(tǒng)的用戶模式和內(nèi)核模式兩種執(zhí)行模式的基礎(chǔ)上,增加了一種管理模式,即一種面向ARM多核處理器的系統(tǒng)虛擬機執(zhí)行模式主要包括三種執(zhí)行模式(I)管理模式管理模式用于執(zhí)行非I/O的客戶機內(nèi)核代碼;(2)內(nèi)核模式內(nèi)核模式用于實現(xiàn)到管理模式的切換,并處理那些由于I/O操作而從管理模式退出的代碼或者特殊指令,虛擬機內(nèi)核工作在這種模式下;(3)用戶模式用戶模式用于執(zhí)行客戶機的用戶代碼,同時宿主機QEMU進程也運行在這種模式下;基于以上執(zhí)行模式,一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機實現(xiàn)方法,主要包括如下幾個步驟步驟SI :用戶模式下的宿主QEMU進程通過系統(tǒng)調(diào)用,進入內(nèi)核模式;步驟S2 :內(nèi)核模式中,虛擬機內(nèi)核為虛擬機創(chuàng)建和初始化虛擬CPU和虛擬內(nèi)存,然后返回用戶模式;步驟S3 :用戶模式下的宿主QEMU進程再次通過系統(tǒng)調(diào)用,進入內(nèi)核模式;步驟S4 :內(nèi)核模式中,首先實施步驟S41,然后實施步驟S42 ;步驟S41和步驟S42實施內(nèi)容如下步驟S41 :虛擬機內(nèi)核準備客戶機的運行環(huán)境,載入客戶機代碼;步驟S42 :根據(jù)上次發(fā)生退出前所處的操作模式,相應(yīng)切換至管理模式或用戶模式;步驟S5 :判斷客戶機代碼執(zhí)行過程是否發(fā)生異常;如發(fā)生異常,則執(zhí)行步驟S6 ;步驟S6 :進入運行于內(nèi)核模式的虛擬機內(nèi)核執(zhí)行異常處理操作,異常處理后執(zhí)行S7 ;步驟S7 :進行I/O訪問判斷,如果是非I/O訪問,執(zhí)行步驟S8。如果是I/O訪問,執(zhí)行SlO ;步驟S8 :執(zhí)行步驟S9并執(zhí)行步驟S42,即最終重新進入客戶機代碼運行;步驟S9 :內(nèi)存虛擬化;步驟S10:退出到宿主機QEMU進程進行I/O訪問的模擬執(zhí)行,執(zhí)行完畢后再次進入客戶機運行。
全文摘要
本發(fā)明針對ARM多核處理器無硬件輔助支持等問題,采用輕量級虛擬化技術(shù),公開了一種面向ARM多核處理器服務(wù)器平臺的系統(tǒng)虛擬機,為上層應(yīng)用提供了高效的虛擬化基礎(chǔ)設(shè)施支持。在模塊構(gòu)成上,主要包括物理硬件,宿主OS,虛擬機內(nèi)核,虛擬硬件,設(shè)備模型,客戶OS,宿主QEMU進程。在執(zhí)行模式上,主要包括管理模式,內(nèi)核模式和用戶模式。根據(jù)應(yīng)用需求,該方法克服了ARM多核處理器無硬件輔助支持等技術(shù)難題并且采用了輕量級的內(nèi)核級虛擬機技術(shù),即可以滿足嵌入式領(lǐng)域的虛擬化應(yīng)用需求,也可以滿足服務(wù)器領(lǐng)域的虛擬化應(yīng)用需求。因此,本發(fā)明具有輕量級,廣闊的應(yīng)用前景和可產(chǎn)生顯著的經(jīng)濟效益等特色。
文檔編號G06F9/455GK102929691SQ20121044886
公開日2013年2月13日 申請日期2012年11月9日 優(yōu)先權(quán)日2012年11月9日
發(fā)明者阮利, 肖利民, 祝明發(fā) 申請人:北京航空航天大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
甘德县| 霸州市| 盐边县| 昌吉市| 康马县| 内乡县| 加查县| 曲麻莱县| 阜阳市| 嘉兴市| 沈丘县| 南陵县| 仁布县| 寻甸| 兰西县| 神木县| 正蓝旗| 鄂托克旗| 沧州市| 宿松县| 清水河县| 定陶县| 临邑县| 乌海市| 中超| 贡嘎县| 阳谷县| 华宁县| 洞头县| 胶州市| 河北区| 交口县| 开化县| 石棉县| 专栏| 儋州市| 明光市| 丰顺县| 高阳县| 二手房| 如皋市|