기법으로 처리해야 한다. 민감하지만 특권 있는 명령이 아닌 명령, 줄여서 비특권 민감 명령은
‘가상화 불가(
non
-
virtualizable
)’ 명령으로 간주된다.
5.4
가상화 불가 명령의 처리
그런 가상화 불가 명령들을 처리하는 기법이 몇 가지 있다.
●
하나는
이진 번역
(
binary
translation
)이다. 이 접근 방식에서
VMM
은 실시간으로 게
스트
OS
의 모든 비특권 민감 명령을 탐지해서 적절한 명령으로 변환(‘번역’)한다. 이는
꽤 복잡한 과정인데, 다행히 최근
x86
프로세서들은 하드웨어 보조 가상화(
hardware
-
assisted
virtualization
)를 지원하기 때문에 이진 번역이 간단하다.
●
또 다른 옵션은
반
半
가상화
(
paravirtualization
; 또는 의사
擬似
가상화)이다. 이 경우는 게
스트
OS
의 명령들을 즉석에서 수정하는 대신, 애초에 가상화 불가 명령들을 실행하지 않
도록(대신 하이퍼바이저에 시스템 호출을 요청하도록) 게스트
OS
를 재작성한다.
Xen
하이퍼바이저가 이 기법을 사용한다.
●
하드웨어 가상화(인텔의
VT
-
x
등) 기법에서는 하이퍼바이저가
VMX 루트 모드
root
mode
라
고 부르는, 사실상 링 -
1
에 해당하는 새로운 권한 수준에서 실행된다. 이 경우
VM
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.