전가상화와 반가상화는 하이퍼바이저의 가상화 방식을 구분짓는 것이다. 좀 더 구체적으로 표현하자면 하드웨어의 I/O 접근을 어디까지 가상화하느냐이다.

전가상화의 대표적인 제품은 VMWare, 반가상화의 대표적인 제품은 Xen, 그리고 둘다 지원하는 제품은 KVM이다.

 

1. 전가상화

전체 하드웨어를 가상화하는 것이다. Guest OS와 하드웨어 사이에 위치한 하이퍼바이저가 모든 명령을 중재한다. 이것은 즉 하이퍼바이저가 모든 명령을 트랩, 핸들링해야 함으로 인하여 부담이 커진다는 것이다.

또한 전가상화를 실현하기 위해서는 CPU의 VT(Virtual Technololgy) 기술을 사용하기 때문에 다소 성능 하락이 발생한다.

 

2. 반가상화

전가상화의 단점을 해결하기 위해 등장했다. 그렇게 때문에 하이퍼바이저가 모든 명령을 트랩, 핸들링하지 않는다. 필요한 부분만 처리를 하며 "하이퍼콜"이라는 개념을 도입하였다.

그런데 Guest OS가 하이퍼콜을 통해 하이퍼바이저에 명령을 보내야 하는데 OS가 기본적으로는 이러한 역할을 수행할 수 없다. 따라서 Xen-tool 같은 별도의 도구를 설치하여 구현하는데, 만약 이러한 도구가 설치되지 않으면 반가상화가 아닌 전가상화로 동작하게 된다.