원문정보
Implementing Shadow Page Tables using TLB Maintenance Operations for Full Virtualization of ARM Architecture
초록
영어
Recently virtualization technology has been applied to ARM architecture based embedded systems. Typically, hardware resources such as processor, memory and device should be virtualized to implement system virtualization. To implement memory virtualization, shadow page table technique is typically used. A shadow page table is a page table which is maintained by a virtual machine monitor to manage the virtual address translation of guests running in a virtual machine. The implementation of shadow page tables is classified depending on the synchronization between guest page tables and shadow page tables. The first method uses traps to capture the page table writes. Since this method modifies guest page tables to be write-protected, the writing guest page tables generates a trap. Another method is using the TLB maintenance operations which guest executes. In this paper, we implement shadow page tables using the latter method and apply this shadow page table technique to the virtual machine monitor for ARM architecture that we are working on. Furthermore, we run Linux kernel on the virtual machine monitor and evaluate performance on a BeagleBoard-xM using QEMU emulator. The results of the evaluation show that the performance of our virtual machine monitor is slower than the virtual machine monitor using paravirtualization. However, this virtual machine monitor has good performance among the virtual machine monitors using full-virtualization.
한국어
최근 ARM 구조를 사용하는 임베디드 시스템에서 가상화 기술에 대한 관심이 높아지고 있다. 일반적으로 시스템 가상화 구현을 위해서는 프로세서, 메모리 및 디바이스 등의 하드웨어 자원을 가상화한다. 이 중 메모리 가상화를 구현하기 위한 방법으로 섀도 페이지 테이블 기술이 주로 사용되고 있다. 섀도 페이지 테이블은 가상 머신 상에서 동작하는 게스트의 가상 주소 변환을 관리하기 위하여 가상 머신 모니터가 유지하는 페이지 테이블이다. 섀도 페이지 테이블은 게스트 페이지 테이블과 섀도 페이지 테이블을 동기화하는 방법에 따라 게스트 페이지 테이블에 쓰기 보호를 설정하여 게스트가 페이지 테이블을 수정할 때 발생하는 예외를 이용하는 방법, 혹은 게스트가 수행하는 TLB 관리 명령어를 이용하는 방법으로 구현한다. 본 논문에서는 ARM 구조에서 TLB 관리 명령어를 이용한 섀도 페이지 테이블을 구현하여 본 연구에서 개발 중인 ARM 기반 가상 머신 모니터에 적용하였다. 또한 이 가상 머신 모니터를 이용하여 BeagleBoard-xM을 동작시키는 QEMU 에뮬레이터 상에서 Linux 커널을 수행시켜 성능을 시험하였다. 시험 결과는 기존의 ARM 기반 가상화 연구와 비교하여 반가상화 방식보다는 낮은 성능을 보였지만 전가상화 방식 중에서는 만족스러운 성능을 보였다.
목차
Abstract
1. 서론
2. 관련 연구
2.1 섀도 페이지 테이블
2.2 섀도 페이지 테이블 구현 방법
3. 설계 및 구현
3.1 섀도 페이지 테이블 엔트리 생성
3.2 섀도 페이지 테이블 엔트리 삭제
3.3 메모리 보호
4. 시험 및 평가
5. 결론
감사의 글
참고문헌