簡易檢索 / 詳目顯示

研究生: 廖凡磊
Liao, Fan-Lei
論文名稱: Memory Virtualization for KVM-ARM
KVM-ARM之記憶體虛擬化設計
指導教授: 鍾葉青
Chung, Yeh-Ching
口試委員: 金仲達
徐慰中
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2011
畢業學年度: 99
語文別: 中文
論文頁數: 32
中文關鍵詞: KVM 系統虛擬化 ARM
外文關鍵詞: system virtualization、KVM
相關次數: 點閱:1下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 系統虛擬化技術在大型電腦的應用已臻成熟,因此我們可以在同一個硬體上跑多個 作業系統,然而這在嵌入式系統上還算是未成熟的領域,主要的原因是因為早期嵌入式系統的硬體設備較差,在自顧不暇的情況下,也就沒有辦法提供嵌入式系統運行多個作業系統的虛擬化平台,但就在嵌入式系統的處理器時脈逐漸拉高的同時, 系統虛擬化技術在嵌入式系統上實現的可能性愈來愈高,我們希望在Linux KVM的原有架構下提供ARM系列的處理器一個系統虛擬化的平台,實現在嵌入式平台上運行多個作業系統的願望。在這個想法中,記憶體的虛擬化扮演一個重要的角色,目的有兩個(1)提供給虛擬機器記憶體空間,(2)在各個虛擬機器中有效的隔離,分配 以及共享記憶體資源。為了讓guestOS可以達成以上的目的,VMM(virtual machine monitor)會引進一個新的定址空間,稱為GVA(guest virtual address)以及GPA(guest physical address),然而這個定址空間不是真正的物理地址空間,需要再由VMM來 做轉換,所以有了兩層轉換,一層是GVA到GPA一層是GPA到HPA,前者由guest OS來做,後者由VMM來做,為了降底這個轉換的負擔,我們將會採用Shadow Page Table的技術來達成。在這個技術下,VMM可以在guestOS完全不知情的情況下,快速的通過shadow page table來進行地址轉換。在本篇論文中,我們將於KVM的基礎上實作在ARMv6的記憶體虛擬化,我們也會探討如何利用rmap來保持shadow page table與guest page table的一致性,最後利用數據來說明在使用了rmap機制之後,整體效能提升了多少。


    System virtualization is getting stable in servers recently, so we can run multiple op- erating systems on the same hardware in the same time. However, there are still some problems in embedded systems. With the increase of chip speed, the possibility of run- ning system virtualization is getting higher. Before ARM provides hardware-assistance platform, we plan to purpose a approach to implement system virtualization for ARM based on KVM. In system virtualization, memory virtualization plays a very important role. There are two goals we should achieve, one is to allocate memory resource during guest execution. The other one is to provide VM with separate and secure memory resources. In order to achieve those goals, VMM(virtual machine monitor) will intro- duce two new address spaces which are called guest virtual adress and guest physical address. The translation from GVA(guest virtual address) to GPA(guest physical ad- dress) is done by guest, and the translation from GPA((guest physical address)) to HPA(host physical address) is done by VMM. To reduce the overhead of translation, we adopt a technique which is called shadow page table. Furthermore, we also purpose a mechanism which is called rmap to keep the coherence between guest page table and shadow page table. In the thesis, we will also use LMBench and MiBench to evaluate the performance of KVM-ARM.

    Content 1. Introduction 1 2. Related Work 3 2.1. Virtualization 3 2.2. Virtualization on X86 3 2.3. Intel VT-x 4 2.4. AMD-V 5 2.5. Virtualization on ARM 5 2.6. Xen on ARM 6 2.7. OKL4 6 2.8. Kernel-Based Virtual Machine 6 3. KVM on ARM 8 3.1. Environment 8 3.1.1 Hardware Environment 8 3.1.2 Software Environment 8 3.2. CPU Virtualization 9 3.2.1 Execution Model 9 3.2.2 Virtual Privilege Modes 10 3.2.3 Unpredictable sensitive instruction handling 11 3.2.4 Exception Handling 11 3.3. Memory Virtualization 12 3.4. IO Virtualization 12 3.4.1 IO emulation 13 4. Memory Virtualization Design Detail 14 4.1. Guest physical memory allocation 14 4.2. Address Translation 14 4.2.1 Shadow Page Table 14 4.2.2 Permission Model 18 4.2.3 Shadow Page Synchronization Model 21 4.3. MMU Fault Forwarding 22 4.4. Cache/TLB flush Model 23 4.5. Memory mapped IO 24 4.6. MMU-related functions for Guest OS 24 5. Experimental Results 26 5.1. Experimental Environment 26 5.1.1 Hardware Environment 26 5.1.2 Software Environment 26 5.2. Benchmark Introduction 26 5.2.1 Profiling counter 26 5.2.2 MiBench 28 5.2.3 LMBench 29 6. Conclusion and Future Work 30 6.1. Future work 30 6.2. Conclusion 30 7. Reference 31

    [1] S.T.K, “Debugging operating systems with time-traveling virtual machines,”
    [2] L. P. Cox and P. M. Chen, “Pocket hypervisors: Opportunities and challenges,” in HOTMOBILE ’07: Proceedings of the Eighth IEEE Workshop on Mobile Com- puting Systems and Applications, (Washington, DC, USA), pp. 46–50, IEEE Com- puter Society, 2007.
    [3] H. Joo-Young, S. Sang-Bum, H. Sung-Kwan, P. Chan-Ju, R. Jae-Min, P. Seong- Yeol, and K. Chul-Ryun, “Xen on arm: System virtualization using xen hypervisor for arm-based secure mobile phones,” in Consumer Communications and Network- ing Conference, 2008. CCNC 2008. 5th IEEE, pp. 257–261, 2008.
    [4] D.-G. Kim, S.-M. Lee, and D.-R. Shin, “Design of the operating system virtual- ization on l4 microkernel,” in NCM ’08: Proceedings of the 2008 Fourth Interna- tional Conference on Networked Computing and Advanced Information Manage- ment, (Washington, DC, USA), pp. 307–310, IEEE Computer Society, 2008.
    [5] F. Armand and M. Gien, “A practical look at micro-kernels and virtual machine monitors,” in CCNC’09: Proceedings of the 6th IEEE Conference on Consumer Communications and Networking Conference, (Piscataway, NJ, USA), pp. 395– 401, IEEE Press, 2009.
    [6] G. J. Popek and R. P. Goldberg, “Formal requirements for virtualizable third generation architectures,” Commun. ACM, vol. 17, no. 7, pp. 412–421, 1974.
    [7] VMware, “Vmware and hardware assist technologyt(intel vt and amd-v),” 2006.
    [8] J. Stokes, “Microsoft, intel goof up windows 7’s xp mode,” 2009.
    [9] G. Heiser, “Hypervisors for consumer electronics,” in Consumer Communications and Networking Conference, 2009. CCNC 2009. 6th IEEE, pp. 1 –5, 10-13 2009.
    [10] D. E. T. M. A. T. M. R. B. B. Matthew R. Guthaus, Jeffrey S. Ringenberg [11] E. G. S. T. K. M. A. B. Yang Xu, Felix Bruns

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)
    全文公開日期 本全文未授權公開 (國家圖書館:臺灣博碩士論文系統)
    QR CODE