Abstract
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.