透過您的圖書館登入
IP:3.133.79.70
  • 學位論文

具有硬體支援之ARM架構的記憶體虛擬化實作

Memory Virtualization on ARM Architecture with Virtualization Hardware Extension

指導教授 : 鍾葉青

摘要


虛擬化是一個在共享資源、安全管理等十分熱門的技術,特別是在雲端計算為發展趨勢的現在。一直以來,嵌入式硬體多以ARM架構為主要的開發平台,隨著雲端技術對於伺服器的需求增加,ARM著眼於伺服器市場,也提出了適用於伺服器的新一代架構。 ARM架構在V7版本開始提供虛擬化硬體支援技術,相較於過去在ARM架構開發虛擬機器,記憶體虛擬化必須藉由影子頁表來完成記憶體虛擬化,並且必須要完成客戶機器頁表尋找、反向對應表等複雜的維護作業。ARMv7-A所提供的硬體支援技術,提供了專為虛擬化所用的HYP模式,以及對於處理器、記憶體、與輸入輸出介面的各種控制系統的暫存器,同時提供獨立於一般作業系統的記憶體轉換流程,ARMv7-A的所有硬體支援記憶體虛擬化都建立在40位元記憶體定址空間,並且記憶體位址的轉換接遵循64位元的描述式。這篇論文會討論如何使用這些ARMv7-A所提供的硬體支援技術,以完成ARM架構上的虛擬機器。

並列摘要


Virtualization is a very important technique on resource sharing and server security, and it becomes an indispensable technique on cloud computing. Most of embedded hardware devices are developed on ARM architecture because of simpler instruction sets than X86 and excellent power consumption. To the accompaniment of popular cloud computing, ARM holding also targets on server market to create more business-opportunities. Therefore, ARM provided new architecture for the incoming cloud computing generation. Hardware-assisted extension is supported since ARMv7. Without hardware-assisted extension, shadow page table is the general method to implement memory virtualization. In addition, complex work for maintaining shadow page table such as walking guest page table and building reverse map are necessary for memory virtualization on ARM. In contrast to ARMv6, ARMv7-A provides a special processor mode for hypervisor implementation. Besides, there are some specific registers controlling processor, memory, or I/O virtualization. What’s more, ARMv7-A provides a two-stage memory system control which formed into 64-bit descriptor, covering 40-bit memory address space. In this thesis, I will discuss how to implement memory virtualization with ARMv7-A hardware-assisted virtualization extension.

參考文獻


[5] G. J. Popek and R. P. Goldberg, “Formal requirements for virtualizable third generation architectures,” Communications of the ACM, vol. 17, no. 7, pp. 412-421, 1974.
[7] ARM Architecture Reference Manual: ARMv7-A and ARMv7-R edition
[10] Gernot Heiser, Ben Leslie, “The OKL4 Microvisor: convergence point of microkernels and hypervisors”, in APSys ’10 Proceedings of the first ACM Asia-pacific workshop on Workshop on systems
[12] Trango. “Trango: secured virtualization on ARM”, http://www.trango-vp.com
[18] Linaro: open source software for ARM, www.linaro.org

延伸閱讀