系統(tǒng)級虛擬層內核化的研究
發(fā)布時間:2017-12-16 10:08
本文關鍵詞:系統(tǒng)級虛擬層內核化的研究
更多相關文章: 系統(tǒng)級虛擬層 Linux內核 QEMU 跨平臺 接口移植 設備模擬
【摘要】:伴隨著計算機體系結構的快速發(fā)展,代碼遷移這一課題顯得越發(fā)重要。新的體系結構如果不能廣泛的被應用軟件支持,將很難生存下去。龍芯是我國自主研發(fā)的通用CPU,采用MIPS架構,它的發(fā)展有著重大的意義。但是,在當今處理器市場中,X86架構的CPU占據著主導地位,大量的軟件和操作系統(tǒng)都是基于該平臺開發(fā)。在這樣的環(huán)境下,發(fā)展龍芯及其相關產業(yè)鏈的首要任務就是要在軟件層上實現對X86架構的兼容。解決跨平臺軟件兼容問題的常用方法就是利用動態(tài)二進制翻譯工具在體系結構之上構建一個虛擬層來讓目標軟件運行。目前,動態(tài)二進制翻譯工具進行系統(tǒng)級模擬構建虛擬層的相關研究大多是在用戶空間下的移植和優(yōu)化。在此基礎上,本文提出了新的思路,內嵌跨平臺無需硬件支持的虛擬層到操作系統(tǒng)內核中去,讓操作系統(tǒng)直接支持虛擬層、讓虛擬層直接與硬件交互,從而提高虛擬層的運行效率。 為了驗證這一想法,動態(tài)二進制翻譯工具QEMU被內嵌到了Linux內核中,以便讓QEMU進行系統(tǒng)級模擬構建出的虛擬層運行在內核態(tài)并可以獨占計算機資源。QEMU內核化項目的最終目標是在龍芯平臺上構建內核空間中的虛擬層,而本文則實現了以X86平臺為基礎的具有基本功能的內核化虛擬層這一近期目標。文章首先分析了內核化QEMU的主要思路,給出了內核化虛擬層的架構和大致實現流程。然后,詳細介紹了接口移植問題。接口移植問題的實質是QEMU在用戶空間使用的庫函數的內核化問題。待移植接口可分為四類,分別是可直接移植接口、通過組裝修改可實現的接口、用內核方法可替代的接口和需要重寫的接口。解決接口移植問題的主要方法是利用內核函數實現QEMU調用的庫函數的功能。接著,重點分析了內核化QEMU的設備模擬問題。為了減少設備模擬帶來的性能損耗,解決該問題的核心思想是讓虛擬層直接與硬件進行交互。在介紹設備模擬問題時,以VGA顯卡直通、虛擬層輸入問題和內核化QEMU的DMA模擬方案為例進行了詳細的分析。最后,含有QEMU的Linux內核被部署在X86平臺上進行了實驗。通過一系列的測試表明,內核化QEMU的性能確實得到了一定的提升,從而證明了本文提出的優(yōu)化思路是有效的。通過本文對內核化虛擬層的研究,為如何在龍芯上構建跨平臺并且高效的系統(tǒng)級虛擬層提供了一個新的思路。
【學位授予單位】:中國科學技術大學
【學位級別】:碩士
【學位授予年份】:2014
【分類號】:TP303
【參考文獻】
中國期刊全文數據庫 前8條
1 李劍慧;馬湘寧;朱傳琪;;動態(tài)二進制翻譯與優(yōu)化技術研究[J];計算機研究與發(fā)展;2007年01期
2 謝海斌,武成崗,張兆慶,馮曉兵;動態(tài)二進制翻譯中的代碼Cache管理策略[J];計算機工程;2005年10期
3 白童心,馮曉兵,武成崗,張兆慶;優(yōu)化動態(tài)二進制翻譯器DigitalBridge[J];計算機工程;2005年10期
4 姜玲燕;梁阿磊;管海兵;;動態(tài)二進制翻譯中的中間表示[J];計算機工程;2009年09期
5 吳少剛;鄒國民;;Dalvik虛擬機在龍芯平臺上的移植與實現[J];計算機工程;2011年22期
6 李增祥;管海兵;李曉勇;;動態(tài)二進制翻譯的優(yōu)化[J];計算機應用與軟件;2007年07期
7 馬舒蘭;;動態(tài)二進制翻譯中的TCache替換算法[J];計算機應用與軟件;2008年04期
8 廖銀;孫廣中;姜海濤;靳國杰;陳國良;;動態(tài)二進制翻譯中全寄存器直接映射方法[J];計算機應用與軟件;2011年11期
,本文編號:1295619
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/1295619.html