Hardware virtualization

VM 직접 실행과 트랩

VT-x와 AMD-V는 게스트 커널을 안전하게 실행시키고, VM exit가 필요한 순간에만 VMM이 개입하게 만든다.

guest run

비특권 명령 직접 실행

게스트 사용자 코드와 많은 커널 코드는 하드웨어 위에서 거의 네이티브 속도로 실행된다.

VM exit

민감한 이벤트 포착

제어 레지스터 접근, 특수 I/O, 인터럽트 주입처럼 하이퍼바이저 판단이 필요한 사건에서 빠져나온다.

VMM

상태 검사와 에뮬레이션

하이퍼바이저가 VMCS/VMCB의 게스트 상태를 읽고 장치 접근이나 권한 작업을 처리한다.

VM entry

게스트 재개

처리가 끝나면 게스트 레지스터와 인터럽트 상태를 반영하고 다시 게스트 실행으로 들어간다.

EPT/NPT

게스트 물리 주소에서 호스트 물리 주소로 가는 2단계 페이지 변환을 하드웨어가 처리한다.

IOMMU

장치 DMA가 다른 VM 메모리를 침범하지 않도록 장치별 주소 변환과 격리를 제공한다.

SR-IOV

NIC 같은 장치가 가상 기능을 직접 VM에 제공해 네트워크 경로의 하이퍼바이저 개입을 줄인다.