반가상화

반가상화(半假想化)는 컴퓨팅에서 소프트웨어 인터페이스를 근본 하드웨어와 완전히 똑같지는 않지만 근본 하드웨어와 비슷한 가상 머신에 제공하는 가상화 기술이다.

반가상화는 가상 머신 모니터가 "더 단순한 가상의 컴퓨터"가 될 수 있게 도와 줌으로써 가상화되지 않은 하드웨어에 더 가까운 성능을 수행한다. 그러나 운영 체제는 명백하게 반가상화 VMM의 위에 실행되도록 포팅되어야 한다. 클로즈드 소스 기반의 운영 체제 소유사들은 전략적인 목적을 위해 반가상화를 허용하지 않을 수도 있다.

 역사 
반가상화는 오래된 개념을 위한 새로운 용어이다.
IBM의 VM 운영 체제는 1972년 이후로 편리한 기능 등을 제공해 왔다 VM 세계에서, 반가상화는 하드웨어 유지 보수 소프트웨어에 의해서만 흔히 쓰이는 명령어 코드를 사용하기 때문에, 이러한 반가상화를 "진단 코드"로 부른다. IBM의 대화식 모니터 시스템은 진단 코드를 사용함으로써 VM을 호출하여 서비스를 요청하도록 한다.

"반가상화"라는 용어는 데날리 가상 머신 모니터의 연구 논문에서 처음 쓰였다.A. Whitaker, M. Shaw, and S. D. Gribble, "Denali: Lightweight Virtual Machines for Distributed and
Networked Applications", Univ. of Washington Technical Report 02-02-01, (2002). (Available from Denali publications, technical reports, and talks ). 이 용어는 또한 젠, L4, TRANGO 하이퍼바이저를 서술하기 위해서도 쓰인다. 이러한 모든 프로젝트들은 반가상화 기술을 사용하여 실제 x86 명령어 세트의 가상화하기 힘든 부분을 제공하지 않는 가상 머신 기능을 추가하여 x86 하드웨어 위에서 높은 성능의 가상 컴퓨터를 지원한다.

반가상화는 또한 ARM, 파워PC, 심지어는 DSP(VirtualLogix)와 같은 x86 하드웨어 플랫폼이 아닌 곳에서도 사용된다.

성능을 위해 반가상화를 사용하는 한 예로, 가상 모니터가 있으며 이는 실제 컴퓨터의 NIC의 기능이 떨어진다 하여도 DMA 기반의 패킷 송신을 지원하는 인텔리전트 NIC를 포함하는 호스트 운영 체제를 제공한다.  패킷을 보내는 것은 완전히 가상 모니터에 의해 이루어지며 NIC 인터럽트는 모니터를 통해서도 처리될 수 있다. 호스트 운영체제로 인터럽트를 전달할 때 막대한 오버헤드를 처리하기 때문에, 성능이 개선된다.

 같이 보기 
 가상화
 엑소커널
 완전 가상화
 QEMU
 VMWare
 젠

 각주 

분류:가상화 소프트웨어