歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > DOC文檔下載  

QEMU虛擬機的移植和優(yōu)化

  • 資源ID:29766008       資源大?。?span id="2ooa6ko" class="font-tahoma">150KB        全文頁數:122頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

QEMU虛擬機的移植和優(yōu)化

QEMU虛擬機的移植和優(yōu)化 ADissertationSubmittedto Zhejiang reUnVivers。s1tffortheoereeee Y Deg Masterof Engineering VirtualMachine QEMU Author: YanWeiBin Supervisor: △墨Q堡i壘羔金£!Q至:! iYi望g Subject:£Q里衛(wèi)望主皇!△衛(wèi)衛(wèi)!i堡壘主iQ旦!里曼h翌Q!QgY Col lege: gQ!里皇g金Q至堡Q里Q叢主皇!旦i金旦g金 SubmittedDate: |I壘望墜壘!Y2壘Q!窒 ILUlllllllllllllll 412lllI 00 6 浙江大學碩士學位淪義 摘要 摘要 近年來,虛擬機技術再度成為學術界和工業(yè)界的熱點話題。虛擬機技術在云 計算、高可用服務、安全等很多領域得到了廣泛的應用。在嵌入式開發(fā)中,通過 在PC機或者服務器上運行嵌入式體系結構的虛擬機,也可以為嵌入式操作系統(tǒng)、 應用程序的開發(fā)和測試提供極大的便利。本文在分析各種不同類型的虛擬機及其 典型代表的基礎上,選擇了QEMU作為在IA-32體系Pc機上實現csky嵌入式體 系結構虛擬機的實驗平臺。 本文的主要貢獻為:首先,深入分析了QEMU用戶模式和系統(tǒng)模式的內部實 現機制。介紹了將QEMU的兩種模式移植到csky體系結構時遇到的問題及相應的 解決方案,提出了一系列QEMU前端移植的策略。然后,我們嘗試對QEMU的寄存 器分配機制進行改進,提出并實現了基于“最小交叉數”的寄存器分配算法,實 驗數據表明優(yōu)化寄存器分配機制確實可以一定程度上提高系統(tǒng)性能。最后,我們 對QEMU的調試功能進行了增強。目前QEMU的調試模塊在實現斷點和單步功能時 需要頻繁的清空翻譯塊緩沖,這可能導致調試時較差的用戶體驗。本文提出了使 用獨立的解釋執(zhí)行模塊支持單步,以及運行時判斷斷點狀態(tài)的翻譯方案,使調試 過程中不再需要清空翻譯塊緩沖,且最小化了需要重新翻譯的翻譯塊數量。另外 本文還通過實現一種新的子進程調試端口選擇方式,為QEMU用戶模式增加了多 進程程序調試支持。 QEMU,動態(tài)二進制翻譯,移植,優(yōu)化,調試 關鍵詞: Abstract 浙江大學碩士學位論文 Abstract machine once becomeahot bothin Inrecent technology topic years,virtual again machine havebeen usedin academiaand circles.Virtual industry technology widely availabi researchand otherfields.In cloud lityservices,securitymany computing,high area,avirtual board on orserveralso embedded developmentrunningpc development and ofembedded can a convenienceto testing operatoring providegreat developing differentofvirtualmachinesand and the types systemapplication.Afteranalyzing asthe of their choosethe QEMU expefimenmlplatform typicalrepresentative,we machineontheIA??32architecture a virtual esky pc。 implementing are:First studiedthe Themaincontributionsofthisdissertationof all,we QEMU describedthe virtualmachine’Sintemal mechanism,and problems, implementation usermodeand modeto encounteredinthe of QEMU’S system csky processporting front solutions.Wealso several for their strategyQEMU’S architecture,and proposed and we to the allocation end try improve mechanism,proposed porting.Then register new allocation whichbasedon”minimum a algorithm crossing implementedregister can datashowthatthenew allocationmechanism register number”.Experimental anew tosome we indeed systemperformanceextent.Finallyproposed improve mechanism,whichusea moduletO single。step separateexplanationsupport single―step thetranslationmoduletOdetecttheStatuSof we execution,and breakpoints modify hostcode.Afterthese isno need when thetranslated improments,itlonger executing tb thenumberoftbwhichneedre.translateiSminimized.In toflushthe buffer,and alsoaddthe of additiontothese supportmulti-processesdebugging improvements,we anewchild selectionmode. for processdebugport supportQEMUbyimplementing Keywords:QEMU,dynamicbinary 目錄 浙江大學碩士學位論文 目錄 摘要……………………………………………………..i Abstract.........................................................ii 第1章緒論……………………………………………….1 1.1課題背景…………………………………………….1 1.2本文的工作………………………………….i………1 1.3本文的組織…………………………………………..2 I.4本章小結…………………………………………….2 第2章虛擬機技術綜述………………………………………3 2.1虛擬機的概念…………………………………………3 2.2虛擬機的分類…………………………………………3 2.3進程虛擬機…………………………………………..5 2.3.1動態(tài)二進制翻譯………………….:……………….6 2.3.2高級語言虛擬機……………………………………7 2.3.3動態(tài)二進制優(yōu)化……………………………………7 2.3.4操作系統(tǒng)級劃分……………………………………7 2.4系統(tǒng)虛擬機…………………………………………..8 2.4.1客戶和宿主同架構的系統(tǒng)虛擬機……………………….9 2.4.2客戶和宿主不同架構的系統(tǒng)虛擬機…………………….10 2.4.3半虛擬化和預虛擬化……………………………….11 2.5 QEMqJ簡介…………………………………………..13 2.6本章小結……………………………………………13 第3章移植QEMU用戶模式…………………………………..15 3.I QEMU重要機制分析……………………………………15 3.1.1翻譯和執(zhí)行的基本單位……………………………..15 3.1-2直接跳轉鏈………………………………………16 3.1.3微指令和臨時變量…………………………………18 3.2寄存器的剪裁映射…………………………………….2l 3.3用戶模式指令翻譯…………………………………….22 浙江大學碩士學位論文 目錄 3.3.1簡單指令翻譯…………………………………….22 3.3.2復雜指令翻譯和Helper機制…………………………24 3.4其它重要的移植工作…………………………………..26 3.4.1系統(tǒng)調用映射…………………………………….26 3.4.2模擬Linux信號處理機制……………………………26 3.5本章小結……………………………………………28 第4章移植QEMU系統(tǒng)模式…………………………………..29 4.1系統(tǒng)模式指令翻譯…………………………………….29 4.1.1特權指令的翻譯策略……………………………….29 4.1.2切換寄存器組指令的翻譯……………………………3l 4.2Softmmu的實現………………………………………33 4.2.1系統(tǒng)模式下的內存訪問……………………………..33 4.2.2地址轉換過程的實現……………………………….34 4.2.3 Softmmu對指令翻譯的影響………………………….35 4.3機器管理和外圍設備實現……………………………….36 4.3.1設備和機器管理…………………………………..36 4.3.2實現一個外圍設備…………………………………38 4.4本章小結……………………………………………41 第5章優(yōu)化QEMU寄存器分配機制……………………………..42 5.1 DBT系統(tǒng)中的寄存器分配……………………………….42 5.1.1簡單寄存器分配法…………………………………43 5.1.2全局寄存器分配法…………………………………43 5.1.3 Next-use寄存器分配法…………………………….43 5.1-4簡化的圖著色寄存器分配法………………………….43 5.2 QEMU的寄存器管理……………………………………44 5.2.1 QEMU的寄存器分配機制…………………………….44 5.2.2當前機制的缺陷…………………………………..45 5.3改進方案及實現………………………………………46 5.3.1基于最小交叉數的分配機制………………………….46 5.3.2改進分配機制的實現方案……………………………48 5.4本章小結……………………………………………49 II 錄 浙江大學碩士學位論文 第6章完善QEMU的調試機制…………………………………50 6.1遠程調試中的斷點機制…………………………………5l 6.1.1軟件斷點的實現方式……………………………….51 6.1.2 GDB遠程調試中的斷點機制………………………….52 6.2系統(tǒng)模式的斷點和單步實現……………………………..53 6.2.1翻譯塊的管理…………………………………….53 6.2.2單步功能的實現機制……………………………….54 6.2.3斷點功能的實現機制……………………………….55 6.3改進方案及實現………………………………………57 6.3.1使用獨立的解釋模式實現單步………………………..57 6.3.2基于運行時判斷的斷點支持………………………….58 6.4用戶模式多線程調試…………………………………..60 6.5本章小結……………………………………………62 第7章實驗結果及分析……………………………………..64 7.1用戶模式移植實驗結果…………………………………64 7.2系統(tǒng)模式移植實驗結果…………………………………65 7.3寄存器分配機制改進實驗結果……………………………66 7.4調試機制改進實驗結果…………………………………67 7.5本章小結……………………………………………70 第8章總結與展望…………………………………………71 參考文獻…………………………………………………72 攻讀碩士學位期間主要的研究成果……………………………..75 致謝…………………………………………………….76 III 浙江大學碩士學位論文 圖【-j錄 圖目錄 圖2.1計算機系統(tǒng)的三個不同抽象層次……………………………………………4 圖2.2虛擬機的分類…………………………………………………………………5 圖2.3動態(tài)二進制翻譯系統(tǒng)的主要執(zhí)行流程………………………………………6 圖2.4半虛擬化的主要執(zhí)行流程………………………………………………….1l 圖2.5三種不同的同構系統(tǒng)虛擬機實現………………………………………….13 圖3.1一個翻譯塊的執(zhí)行過程…………………………………………………….16 7 圖3.2翻譯塊直接跳轉示意圖…………………………………………………….1 圖3.3直接跳轉鏈表……………………………………………………………….18 圖3.4指令翻譯流程……………………………………………………………….19 圖3.5寄存器的兩種映射方式…………………………………………………….22 圖3.6翻譯lsl指令生成的host基本塊……………………………………………24 圖3.7用戶模式虛擬Linux信號的初始化………………………………………..27 圖4.1特權指令翻譯方案二……………………………………………………….30 圖4.2 csky體系的不同寄存器組…………………………………………………一3l 圖4.3 QEMU訪存示意圖………………………………………………………….33 handlemmu 圖4.4 esky fault執(zhí)行流程…………………………………………一35 圖4.5翻譯過程死循環(huán)示意圖…………………………………………………….36 圖4.6基于qdev的設備和機器管理………………………………………………37 圖4.7使用總線連接外圍設備…………………………………………………….38 圖4.8UART的數據交互……………………………………………………………40 圖5.1 QEMU寄存器分配機制…………………………………………………….44 圖5.2臨時變量的DEF和USE……………………………………………………46 圖5.3兩個生命期的交叉數……………………………………………………….47 圖5.4算法增加的數據結構………………………………………………………一49 圖6.1調試模塊和虛擬機的交互………………………………………………….50 圖6.2 gdb的軟件斷點實現機制……………………………………………………5l 圖6.3斷點處理中gdb和QEMU的交互…………………………………………53 圖6.4tbs管理示意圖……………………………………………………………….54 圖6.5 QEMU單步處理流程……………………………………………………….55 圖6.6典型應用場景下的QEMU統(tǒng)計信息………………………………………58 圖6.7改進方案下斷點的處理過程……………………………………………….60 圖6.8 fork之后子進程的處理………………………………………………………61 圖6.9新方案中對fork/vfork的處理………………………………………………62 圖7.1 QEMU用戶模式測試結果………………………………………………….65 圖7.2 QEMU系統(tǒng)模式測試結果………………………………………………….66 IV 圖目錄 浙江大學碩士學位論文 圖7.3寄存器分配算法性能對比………………………………………………….67 圖7.4調試模塊改進前…………………………………………………………….68 圖7.5調試模塊改進后…………………………………………………………….68 圖7.6測試用例對應的匯編代碼………………………………………………….70 V 浙江大學碩士學位論義 表 』錄 表目錄 表3.1四種臨時變量的比較……………………………………………………….2l 表3.2 TCG的移位運算指令……………………………………………………….24 uart需要的函數………………………………………………….39 表4.1實現csky 表6.1三種單步實現方案的對比………………………………………………….57 vI 浙江大學碩士學位論文 第1章緒論 第1章緒論 1.1課題背景 Csky是核高基重大專項中由杭州中天微公司開發(fā)的一種RISC類型的嵌入式 款高中低搭配的微處理器。目標應用領域為機頂盒、手機以及一些其它的Android 設備。 我們在核高基重大專項的“高性能嵌入式CPU關鍵技術研究”分課題中,為 組成了一個基本完善的開發(fā)工具鏈。但是基于開發(fā)板的調試測試環(huán)境使用起來有 諸多不便,而我們基于傳統(tǒng)解釋執(zhí)行技術實現的模擬器由于執(zhí)行效率過低無法滿 足使用需求。 基于以上出發(fā)點,我們希望實現一個可以在IA.32體系的PC機或者Itanium 體系的服務器上高效率執(zhí)行的csky體系的模擬器或者虛擬機。從而為我們工具 鏈,操作系統(tǒng)等的開發(fā)工作提供便利,并且可以提供給下游廠商的嵌入式開發(fā)人 員使用。 1.2本文的工作 本文首先對虛擬機技術進行了綜述,列舉了各種不同類型的虛擬機,分析了 它們各自的常用實現技術和典型產品。在其基礎上,我們選擇QEMU作為我們后 續(xù)移植和優(yōu)化工作的實驗平臺。 目前,QEMU的前端已經被移植到了Arm,Mips等多種體系結構,這從側 面說明了它具有很好的可移植性。但QEMU官方在文檔方面的工作十分滯后,目 前仍然沒有任何具體的移植參考文檔。其它體系結構的移植實現可以在移植接口 方面提供一定的參考,但如何結合體系結構的特點實現一個高性能的移植仍然是 新的體系的移植者需要著重考慮的問題。為此,本文結合csky的移植實踐,研究 浙江大學碩士學位論文 第l章緒論 了QEMU用戶模式和系統(tǒng)模式移植中的重要機制的實現策略。 目前QEMU內部實現了基于生命期分析的死代碼消除等優(yōu)化措施,但也僅限 于類似的少數簡單的優(yōu)化。在性能方面QEMU尚有很多優(yōu)化的空間,例如它的寄 存器分配機制仍然非常簡陋。本文嘗試從寄存器分配機制入手,改進QEMU的寄 存器分配方法,并研究其對系統(tǒng)整體性能的影響。 QEMU提供的調試功能為應用軟件開發(fā)和內核開發(fā)提供了極大的便利,但其 調試模塊在實現單步執(zhí)行,斷點等功能時頻繁的清空翻譯塊緩沖,嚴重影響了調 試時的性能表現,導致較差的調試體驗。本文嘗試通過實現新的單步、斷點支持 機制,以徹底去除清空翻譯塊緩沖的操作,并盡量減少需要重新翻譯的翻譯塊數 目。 1.3本文的組織 論文的組織結構如下: 第二章介紹了虛擬機的概念、種類和實現技術。 第三章分析了QEMU的一些重要機制,介紹了移植QEMU用戶模式的主要 工作及移植策略,并對我們移植到esky體系的用戶模式QEMU進行了測試。 第四章介紹了移植QEMU系統(tǒng)模式時,與用戶模式相比新增的工作以及實現 機制。最后通過測試對比了我們移植的QEMU用戶模式和系統(tǒng)模式的性能表現。 第五章介紹了我們提出的寄存器分配算法的原理、實現和性能表現。 第六章在詳細分析QEMU調試模塊的斷點、單步機制的基礎上,闡述了我們 的改進方案。最后介紹了如何為用戶模式增加多進程調試支持。 第七章對全文進行總結,并對進一步的研究工作提出了展望。 1.4本章小結 本章首先介紹了本文研究的課題背景和出發(fā)點;然后對文章完成的工作進行 了簡要介紹;最后對本文的文章組織進行了說明。 2 浙江大學碩士學位論文 第2章虛擬機技術綜述 第2章虛擬機技術綜述 2.1虛擬機的概念 抽象是現代計算機系統(tǒng)軟硬件設計中最重要的方法之一。通過將整個系統(tǒng)劃 分為多個不同的層次并在每個層次定義良好的接口,使每個子系統(tǒng)或者組件可以 忽略底層的細節(jié),大大的降低了實現的復雜度。 例如,現代操作系統(tǒng)中通常將磁盤驅動器抽象為文件系統(tǒng),應用程序可以通 過文件系統(tǒng)的接口創(chuàng)建、讀寫文件,而不需要關心磁盤尋址之類的硬件細節(jié)。另 set 一個典型的例子是指令集 IsA,instructionarchitecture ,它抽象了計算機硬 件系統(tǒng)的功能,使硬件機器和操作系統(tǒng)可以由不同的廠商開發(fā),只要兩者都遵守 了ISA規(guī)范,就可以很好的協(xié)同工作。 不幸的是,抽象同時也導致了兼容性的問題:完成同樣功能的子系統(tǒng)或者組 件可能抽象出不同的接口,而使用不同接口的子系統(tǒng)之間是無法交互的。例如, 雖然現代計算機系統(tǒng)本質上都是圖靈機,可以完成同樣的功能,但不同的硬件廠 家提供了不同的指令集,導致為一種指令集編譯的操作系統(tǒng)二進制映像無法運行 于實現其它指令集的機器之上。 虛擬化技術是一種應對以上兼容性問題的方法。在一個特定的抽象層次上, 使用一個現有子系統(tǒng)或組件模擬出一個不同的接口。從上層系統(tǒng)的角度看,子系 統(tǒng)表現的像是一個,甚至多個不同與真實子系統(tǒng)不同的子系統(tǒng)。 虛擬化技術可以應用于子系統(tǒng)或者組件 例如,我們可以在一種類型的磁盤 驅動器上使用文件來模擬另一種不同類型的磁盤驅動器 。也可以應用于整個計 算機系統(tǒng),此時,我們將虛擬出來的計算機系統(tǒng)稱為“虛擬機”【l】。 2.2虛擬機的分類 圖2.1所示是一個計算機系統(tǒng)中接近硬件的幾個不同的抽象層。ISA位于計 算機硬件系統(tǒng)和軟件系統(tǒng)的分界處,它通常被劃分為兩個部分:只有操作系統(tǒng)可 以使用的特權級指令 圖2.1中由接口3表示 ,和應用程序、操作系統(tǒng)皆可使用 3 浙江大學碩上學位論文 第2章虛擬機技術綜述 的用戶級指令 圖2.1中由接口4表示 。 interface 提供了一系列的系 binary 應用程序二進制接口 ABI,application 統(tǒng)調用,使得用戶進程可以通過用戶級指令和系統(tǒng)調用 圖2.1中由接口2表示 來間接訪問硬件資源和系統(tǒng)的底層服務。操作系統(tǒng)響應系統(tǒng)調用,在確認用戶進 程有響應的權限后,代替它執(zhí)行訪問硬件資源的操作。 interface 則在ABI的基 應用程序編程接口 APl,applicationprogramming 礎上提供了更高一級的抽象。高級語言函數庫提供的接口 圖2.1中由接口l表 示 封裝了系統(tǒng)調用,使高級語言編寫的應用程序在支持相同API的不同機器上 編譯生成可在該機器上運行的二進制程序。 應用程序 ^、 7\y :程序庫 廠、 API V ABI l 操作系統(tǒng) ISA i 爪 r入 \/\ / 硬件系統(tǒng) 圖2.1計算機系統(tǒng)的三個不同抽象層次 綜上所述,計算機系統(tǒng)給操作系統(tǒng)和用戶進程提供了不同的接口。從用戶進 程的層次看,操作系統(tǒng)提供了系統(tǒng)調用、用戶級可用指令和一個獨立的地址空間。 而從更底層的,操作系統(tǒng)的層次來看,底層的硬件特性定義了機器,ISA 包括 用戶級和系統(tǒng)級 則是底層機器的訪問界面。 我們可以從同樣的角度將虛擬機劃分為兩大類,進程虛擬機和系統(tǒng)虛擬機。 其中進程虛擬機用來執(zhí)行一個單獨的用戶進程,它隨著該用戶進程的創(chuàng)建而創(chuàng) 建,并隨著該用戶進程的銷毀而銷毀。進程虛擬機模擬了目標體系結構的系統(tǒng)調 用接口和用戶級指令接口。而系統(tǒng)虛擬機則提供了一個持久的系統(tǒng)環(huán)境,用戶可 以在其之上運行操作系統(tǒng)和大量的用戶進程,且該虛擬機的狀態(tài)將被保存在虛擬 4 浙江大學碩士學位論文 第2章虛擬機技術綜述 的存儲設備中。運行于虛擬機上的用戶進程或者操作系統(tǒng)稱為客戶 Guest ,而 支持虛擬機運行的底層平臺則稱為宿主 Host ;實現進程虛擬機的虛擬化軟件通 常稱為運行時 RuntimeSoftware ,實現系統(tǒng)虛擬機的虛擬化軟件則被稱為虛擬 mac:hinemonitor 【l】。 機監(jiān)督系統(tǒng) VMM,virtual 除了模擬機器的抽象層次不同之外,客戶和宿主體系結構是否相同也是虛擬 機實現方式的重要決定因素之一。根據以上兩點,可以將虛擬機的種類劃分為如 圖2.2所示的類型【2J。我們將在后文中對每種不同類型的虛擬機進行介紹。 Same―ISA dynamic Dynamic Classic System Whole-system tranlators binaryopetimizers VMs VMs Hosted Operating。System High-level-language Codesigned level VMs VMs VMs partition 圖2.2虛擬機的分類 2.3進程虛擬機 事實上,可以認為幾乎所有的現代操作系統(tǒng)都提供了進程虛擬機。在多任務 操作系統(tǒng)中,每個用戶進程擁有自己獨立的地址空間、寄存器內容和文件句柄等, 并且每個進程都可以通過系統(tǒng)調用訪問底層的硬件資源,以至于每個進程都可以 認為自己獨立擁有一個完整的計算機系統(tǒng)。 我們可以認為操作系統(tǒng)的多任務功能是一種客戶機和宿主機同架構的進程 虛擬機,但是同架構的進程虛擬機并不局限于這種形式,我們將介紹另外兩種類 型的同架構進程虛擬機――動態(tài)二進制優(yōu)化器和操作系統(tǒng)級劃分技術。此外,本 小節(jié)中我們還將介紹兩種異構進程虛擬機一一基于動態(tài)二進制翻譯技術的異構 進程虛擬機和高級語言虛擬機。 5 浙江大學碩士學位論義 第2章虛擬機技術綜述 2.3.1動態(tài)二進制翻譯 如圖2.3所示,進程虛擬機中我們需要模擬客戶機的系統(tǒng)調用和用戶級指令。 實現這種模擬的最直接的方式是解釋執(zhí)行:一個解釋器程序取指、解碼、模擬執(zhí) 行每一條客戶機指令。但是這種方法的執(zhí)行效率非常低,通常需要數十條宿主機 translation 指令來解釋一條客戶機指令。動態(tài)二進制翻譯 DBT,dynamicbinary 技術相比解釋執(zhí)行可以獲得較好的性能。它以塊為單位將客戶機指令翻譯為宿主 機指令,并緩沖翻譯結果。因此,在長時間運行的程序中,花在指令翻譯上的時 間只占總運行時間的一小部分【3】。相比簡單的解釋執(zhí)行,動態(tài)二進制翻譯大大提 高了性能。采用二進制翻譯技術的VMM的主要執(zhí)行流程如圖2.3所示。 從cacheq-,查找當前pc對應的代碼塊 命巾 未命葉 從當前pc殲始翻譯指令直到F條 跳軾指令,,I 加入cache 跳轉F1標確定,且己繹被翻時, 嘗試設置直接跳睪專 執(zhí)行翻譯生成的代碼塊 正常結 發(fā)生異背 處理異常 更新檸序計數器 圖2.3動態(tài)二進制翻譯系統(tǒng)的主要執(zhí)行流程 是一個典型的采用動態(tài)二進制翻譯技術的進程虛擬機,它可以在Itanium體系架 構的操作系統(tǒng)之上執(zhí)行為IA.32 X86 體系結構編譯的可執(zhí)行程序【5】。QEMU用戶 模式則使用動態(tài)二進制翻譯技術實現了一個支持多種不同類型宿主和客戶體系 結構的進程虛擬機。 6 浙江大學碩士學位論文 第2章虛擬機技術綜述 2.3.2高級語言虛擬機 高級語言虛擬機是另一種廣泛使用的進程虛擬機。它并不模擬一個真實的機 器,而是模擬一個專門為高級語言設計的指令集/體系結構。高級語言虛擬機把應 用程序從對底層的操作系統(tǒng)和硬件設備的依賴中解放出來,使得應用程序只依賴 于虛擬機提供的接口。這種方式極大地提高了應用程序的可移植性。 Gough討論了應用虛擬機,并比較了使用該技術的兩個典型系統(tǒng)【6】:Java虛 擬機和微軟.NET。兩者都使用基于堆棧的指令集,且內在地支持面向對象。它們 的不同之處在于:Java虛擬機更傾向于模擬,而.NET在設計之時就考慮了JIT技 術。實際應用中,當運行于隊.32體系結構上時,兩者都使用JIT技術。 2.3.3動態(tài)二迸制優(yōu)化 為了減少性能損失,動態(tài)二進制翻譯器通常在運行時執(zhí)行一些代碼優(yōu)化措 施。采用這種技術的虛擬機可以在宿主機上運行相同體系的客戶應用程序,此時 進程虛擬機的目的不再是解決兼容性問題,而是在運行時優(yōu)化一些舊的無法重新 編譯的可執(zhí)行文件,以提高其執(zhí)行效率。我們將這類進程虛擬機稱為“動態(tài)二進 制優(yōu)化器”。 動態(tài)二進制優(yōu)化器使用翻譯執(zhí)行過程中收集的profile信息,在運行時對二進

注意事項

本文(QEMU虛擬機的移植和優(yōu)化)為本站會員(仙***)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲