본문 바로가기
apple silicon

hypervisor type 1 vs type 2

by pwnhub 2025. 9. 5.

 

가상화 개념

 

what is virtualization ???

virtualization / emulation

virtualization -> same architecture ( cpu )

emulation -> CPU(hw) emulation ( ex : x86 -> arm )

virtualization이 emulation 보다 빠르다.

암튼 이렇게 emulation과 차이가 있다.

 

virtualization 을 구현한 것이 hypervisor 이다.

hypervisor는 type 1 과 type 2로 구분된다.

type 1 : bare-metal hypervisor

type 2 : hosted hypervisor

 

type 1 은 실제 hw 자원 위에서 이를 가상화하여 게스트에게 분배하는 역할만 한다.

type 2 는 host OS가 존재하고, 그 위에 가상머신이 올라가는 구조이다.

 

type 1 이 type 2 보다 빠르다.

 

type 1 은 hypervisor 가 os 처럼 설치되는 형태인데, vmware의 ESXI와 KVM(나중에 다룰거지만 애매함), microsoft hyper-v 가 있다.

( type 1이 보통 type 2 보다 비싸다)

 

type 2 는 vmware 의 workstation, virtual box, qemu 등이 있다.

 

가상화 방식도 2가지로 나뉜다

 

full virtualization : 하드웨어를 모두 시뮬레이션해서, 게스트는 지가 게스트인지 모르는 상태로 구동하는 방식

하드웨어 인터렉션이 필요하면 결국 매번 하이퍼바이저를 찾아와야 하기에 오버헤드가 크다

 

paravirtualization : 반가상화라고도 함. guest os가 특수하게 수정된 경우이다.(보통 커널 수정하거나 PV driver 설치해서 구현)

guest os 도 스스로가 guest임을 인지하고, virtio 등의 방식으로 host와 효율적으로 통신한다.

 

paravirtualization 이 더 빠르다. ( 속도를 위한거니까... )

 

최근에는 이 두개를 모두 사용해서 hybrid 방식이 대중화되어 사용되고 있다.

 

근데 가상화를 하더라도 CPU를 어떻게 가상화 할 것인지가 관건이다.

그래서 CPU 도움을 좀 받는다.

ia set에 intel은 vt-x, amd는 svm이라는 가상화 전용 명령어가 존재한다.

이는 이후 메모리와도 밀접한 관련이 있는 파트이니, 뒤에서 더 다루도록 한다.

 

 

'apple silicon' 카테고리의 다른 글

zeroday in KVM ( arm linux kernel ) - How to report (1)  (0) 2025.09.05
hypervisor virtio  (0) 2025.09.05
what is KVM?  (0) 2025.09.05