하나의 H/W system에 다수의 Virtual Machine(OS)이 동작할 수 있게 하는 기술로서 가상화 방식에 따라 크게 두 가지 방식으로 분류 됨.
하이퍼바이저 가상화(Type I)
- 호스트 OS가 필요 없이 직접 H/W에 Hypervisor를 설치하여 Guest OS를 관리하고 구동 시키는 방식(Bare metal 가상화).
- 각 Guest OS는 Hypervisor와의 통신을 위해 수정된 코드를 구현해야
- 반가상화 / 전가상화로 더욱 세분화.
호스트 가상화(Type II)
- Host OS 위에 가상화 소프트웨어를 통해 Guest OS가 구동되는 방식(e.g Windows OS에 설치해서 사용하는 Virtaul Box등)
- VM의 H/W resource 관련 I/O 요청이 반드시 호스트 OS를 통해야 하기 때문에 오버헤드가 발생
Full Virtualization
- 하드웨어를 완전히 가상화하는 방식
- Hypervisor를 구동하게 되면 DOM0라고 하는 관리용 가상 머신이 실행되며 모든 VMs의 하드웨어 접근은 DOM0를 통해 이루어짐. (VMs이 요청한 명령들은 항상 DOM0를 거쳐 Hypervisor로 가기 때문에 Overhead가 발생)
- 전 가상화를 구성할 경우 하드웨어 적으로 HVM(Hardware Virtual Machine)을 지원해야 함(e.g. Intel VT, AMD-V)
Para Virtualization
- Hypervisor Call을 통해 Hypervisor에게 H/W resource에 대한 명령을 직접 요청(like System call between user and kernel)
- VMs는 자기 자신이 가상화 되어있다는 사실을 인지해야 하며, 각 VM에 맞는 HVC를 위해 커널을 수정해야 함.
300x250
'Embedded System > Virtualization' 카테고리의 다른 글
Xen Hypervisor (0) | 2024.02.23 |
---|