簡易檢索 / 詳目顯示

研究生: 蔡銘軒
Tsai, Ming-hsuan
論文名稱: 虛擬化系統設計之研究與分析
Research and Analysis of Virtual-based System Design
指導教授: 周哲民
Jou, Jer-Min
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 電機工程學系
Department of Electrical Engineering
論文出版年: 2014
畢業學年度: 102
語文別: 中文
論文頁數: 97
中文關鍵詞: 系統設計QEMU虛擬機器
外文關鍵詞: system design, QEMU, virtual machine
相關次數: 點閱:86下載:2
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著半導體工業技術的快速發展,現今對於電子產品市場的需求越來越傾向於輕薄短小,於是軟硬體系統設計的開發也相對重要起來。軟硬體開發包括了軟硬體協同設計、模擬與驗證,它帶來的優點除了可以減少我們設計硬體上的問題,加速了硬體開發的時程,而我們在開發的同時,也能夠發現軟硬體之間的各種優缺點,避免在整體設計的最後階段又因為某些缺陷而重新做調整。
    在設計過程中,當有些硬體設備無法隨手可得或是還在設計中的時後,我們可以透過軟體模擬的方式,將硬體的行為以軟體實現,此動作可稱為硬體虛擬化。虛擬化硬體不僅解決了沒有實體設備的困擾,也讓我們能夠在硬體設計的同時,根據需求開發軟體應用程式來搭配測試,不需要等到真實硬體設計到某個階段時才能夠進行驗證,不但減少了整體設計上的時程,對於整個系統設計來說,也能夠在設計前期獲得相關資訊,減少設計後期所出現的風險。
    本文使用系統模擬機器QEMU作為研究目標,鑽研有關於QEMU是如何模擬不同的系統平台,並且同時開發軟體應用程式以及驅動程式來驗證我們在QEMU上所設計的虛擬硬體。建立一套基於QEMU系統虛擬機的軟硬體系統設計流程。

    SUMMARY
    Virtualization is a host platform, complete emulating multiple different target systems through a virtual machine, which allows a host platform can be installed and used in a variety or several operating systems, and allows them to run at the same time. This way you can more easily meet the needs of different users, so that multiple users can simultaneously share hardware resources, making use of the hardware resources of the opportunity to improve.

    With the fast development of technology in the semiconductor industry, today's electronics market demand for more and more inclined to short, light, so the development of hardware and software system design is relatively important. Hardware and software development, including the hardware and software co-design, simulation and verification, Its advantages in addition to reducing our hardware design issues on the hardware accelerated development schedule, in our development, it can also find various advantages and disadvantages between hardware and software, and avoiding re-adjusted some of the drawbacks in the final stage of the overall design.

    Index terms:system design;QEMU;virtual machine

    摘要 III Abstruct IV 誌謝 IX 目錄 X 圖 目 錄 XIII 表 目 錄 XVII 第一章 緒論 1 1.1 研究動機 1 1.2 研究分析 2 1.3 論文架構 2 第二章 背景與相關研究 3 2.1 虛擬機介紹 3 2.1.1 虛擬機的分類 4 2.2 二進制指令集翻譯技術介紹 7 2.2.1 二進制翻譯(Binary Translation)技術分類 8 2.3 虛擬機相關研究 9 2.3.1 FX!32 9 2.3.2 VMware 9 2.3.3 XEN 11 2.3.4 KVM 13 2.3.5 QEMU 14 2.4 ELF binary file介紹 18 2.4.1 ELF 格式執行檔 18 2.4.2 ELF 可執行檔內部資訊簡介 20 第三章 虛擬機系統模擬架構分析 22 3.1 系統虛擬層級 22 3.1.1 開始執行QEMU System Mode 23 3.1.2 QEMU參數初始化 24 3.1.3 目標平台系統的建立 26 3.1.4 載入作業系統相關程式碼 32 3.1.5 QEMU運行目標系統 33 3.2 開發平台ARM versatile PB926EJ-S 35 3.2.1 ARM Versatile PB926EJ-S架構 35 3.2.2 AMBA系統匯流排 37 3.2.3 ARM Versatile PB926EJ-S記憶體配置 38 3.2.4 ARM Versatile PB926EJ-S中斷訊號連接 39 3.2.5 QEMU 模擬ARM Versatile PB926EJ-S架構 41 3.3 程序虛擬層級 42 3.3.1 開始執行 QEMU User Mode 42 3.3.2 QEMU User Mode 使用方式 42 3.3.3 QEMU User Mode 模擬 43 3.4 QEMU模擬不同指令集架構之轉換與執行 44 第四章 QEMU虛擬硬體設計與軟體設計 48 4.1 軟體區塊設計 50 4.1.1 驅動程式設計 50 4.1.2 使用者應用程式設計 62 4.2 虛擬硬體區塊設計 65 4.2.1 QEMU虛擬硬體介面設計 65 4.3 QEMU上無作業系統的模擬設計 69 第五章 QEMU系統虛擬機模擬分析與範例演練 74 5.1 QEMU系統模擬機個區塊執行效率分析 74 5.1.1 QEMU System mode 各區塊執行範例分析 74 5.2 QEMU新增虛擬硬體與驗證 84 5.2.1 編譯目標裝置驅動程式與目標應用程式 84 5.2.2 發展環境介紹 85 5.2.3 使用QEMU 驗證軟硬體設計 86 5.3 QEMU non-OS架構設計驗證 89 第六章 結論與未來研究 93 6.1 結論 93 6.1.1 軟硬體模組設計 93 6.1.2 QEMU二進制執行核心的分析 94 6.2 未來研究 95 參考文獻 96

    [1] J.E.Smith and Ravi Nair : “Virtual Machines: Versatile Platforms for Systems and Processes”, Morgan Kaufmann, 2005.
    [2] J.E.Smith and Ravi Nair : “An Overview of Virtual Machine Architectures”,Morgan Kaufmann, 2004.
    [3] Erik R.Altman, David Kaeli and Yaron Sheffer, “Welcome to the Opportunities of Binary Translation,” Computer, Vol 33, No 3, March 2000, IEEE Computer Society Press, pp 40-45.
    [4] C.Cifuentes and V .Malhotra, “Binary Translation: Static, Dynamic, Retargetable?,” Proceedings of International Conference on Software Maintenance. Monterey, CA, Nov 4-8 1996. IEEE-CS Press. pp 340-349.
    [5] Li Jianhui, Ma Xiangning, and Zhu Chuanqi, “Dynamic binary Translation and Optimization”, Proceedings Journal of Computer Research and Development, pp.44(1):161~168, 2007.
    [6] Anton Chernoff, Mark Herdeg, Ray Hookway, Chris Reeve, Norman Rubin, Tony Tye, S. Bharadwaj Yadavalli, and John Yates, “FX!32: a Profile-Directed Binary Translator”, IEEE Micro, vol. 18, no.2, 1998.
    [7] VMware Server Virtual Machine Guide,“http://www.vmware.com/”
    [8] Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauery, Ian Pratt,Andrew Warfiled, “Xen and the Art of Virtualization”, SOSP'03, October 19-22, 2003, Bolton Landing, New York, USA.
    [9] Hung-Yu Chang, Ching-Hsien Hsu: “On Customization of Virtual Cluster and Its Performance Analysis”. Journal of Information Technology and Applications, Vol.6, No.4, pp. 182-191 2012.
    [10] Fabrice Bellard, “QEMU, a Fast and Portable Dynamic Translator”, USENIX Annual Technical Conference(2005), pp.41-46, 2005
    [11] ARM Staff (2003-2007), “RealView Platform Baseboard for ARM926EJ-S User Guide.”
    [12] ARM Staff(1999), “AMBATM Specification, 2000-2003 Rev 2.0”
    [13] 張勝雲(2008),“多執行緒虛擬機的研究與設計”,國立成功大學電機工程學系碩士論文.
    [14] 許維哲(2012),“虛擬系統層級之JEPG編碼器軟硬體協同設計”,國立成功大學電機工程學系碩士論文.
    [15] Linux kernel source, https://www.kernel.org/
    [16] ARM Architecture, http://www.arm.com/zh/

    下載圖示 校內:2017-08-20公開
    校外:2019-08-20公開
    QR CODE