HARDWARE VIRTUALIZATION

VM 성능 지원 요소

VT-x와 AMD-V는 게스트 특권 명령을 VM Exit로 넘기고, EPT/NPT와 IOMMU는 메모리와 장치 접근의 가상화 비용을 줄인다.

guest OS
게스트 커널 자신의 페이지 테이블과 장치 드라이버를 가진 독립 OS처럼 실행된다.
민감 명령 제어 레지스터, 인터럽트, I/O 포트 접근
VM Exit
하이퍼바이저 KVM이나 ESXi가 게스트 상태를 저장하고 허용된 동작인지 판단한다.
VM Entry 처리 후 다시 게스트 실행 모드로 돌아간다.
hardware
VT-x/AMD-V, EPT/NPT 게스트 가상 주소에서 게스트 물리, 호스트 물리 주소까지의 변환을 CPU가 돕는다.
VT-d/IOMMU 장치 DMA가 다른 VM 메모리를 침범하지 않도록 격리한다.
VirtIO e1000 같은 완전 에뮬레이션 대신 게스트가 가상화 친화 드라이버를 사용한다.
SR-IOV 물리 NIC의 Virtual Function을 여러 VM에 나눠 직접 붙일 수 있다.
Nitro System 네트워크와 스토리지 I/O를 별도 하드웨어 경로로 오프로드한다.