본문 바로가기

Computer Science

Virtual Machine(VM, 가상 머신)

반응형

Virtual Machine이란?

Virtual Machine(가상머신, VM)은 컴퓨팅 환경을 소프트웨어로 구현한 것으로서,

다시말해 컴퓨터를 에뮬레이션하는 소프트웨어라고 할 수 있습니다.

 

가상 머신의 종류

가상 머신은 시스템 가상 머신과 프로세스 가상 머신의 두 가지 종류로 나눌 수 있는데,

전자는 완전한 시스템 플랫폼을 제공하는, 즉 완전한 운영체제(OS)실행을 지원합니다.

반면 후자는 하나의 단일 프로세스를 실행하기 위해 만들어져 있는데, 다시 말해 단일 프로세스를 지원합니다.

 

VM은 CPU, RAM, 하드디스크 등 컴퓨터 주요 부품들을 가상으로 만들어서 구동하는 식으로 동작합니다.

이를 위해서는 각 부품들의 기능을 소프트웨어적으로 구현해야 합니다.

이때 사용되는 개념으로 에뮬레이션, 전가상화, 반가상화가 있습니다.

 

에뮬레이션(Emulation)

에뮬레이션은 모든 부품의 기능을 소프트웨어적으로 구현하는 방식이며,

정의 상 가장 속도가 떨어지는 방식이지만, 범용성이 가장 뛰어나다는 장점이 있습니다.

 

전가상화(Full-virtualization)

반면, CPU등 주요 부품의 구현에서 하드웨어의 기능 지원을 받는 것을 '전가상화'라고 합니다.

이러한 전가상화는 에뮬레이션에 비해 상대적으로 속도가 빠르다는 장점이 있으나,

해당 하드웨어 기능에 크게 종속되기 때문에 범용성은 상대적으로 떨어집니다.

 

반가상화(Para-virtualization)

위의 완전한 에뮬레이션/전가상화를 포기하고, 가상머신 내에 설치될 OS에 수정을 가하거나

전용 드라이버를 사용하여 하드웨어에 직접 접근하는 방안을 별도로 마련하는 방법을 '반가상화'라고 합니다.

반가상화는 다른 두 방법에 비해 속도는 가장 빠르지만, 하드웨어 기능 뿐만 아니라 운영체제 및 드라이버에도

종속성이 생기기 때문에 범용성은 셋 중에서 가장 떨어집니다.

 

하이퍼바이저(hypervisor)

끝으로, 가상화에는 하이퍼바이저(hypervisor)라는 플랫폼이 사용되는데,

이는 하드웨어에서 가상 머신의 리소스를 분리하고, 적절히 프로비저닝하여 VM에서 사용할 수 있도록 해줍니다.

가상화 머신 모니터(Virtual Machine Monitor)또는 가상화 머신 매니저(Virtual Machine Manage), 줄여서 VMM이라고도 부릅니다.

가상 머신은 다른 기능을 가지고 있는 여러 종류의 머신들이 있으며, Oracle VirtualBox, VMware등이 있습니다.

반응형