하나의 하드웨어에 다수의 운영체제를 설치하고 개별 컴퓨터처럼 동작하도록 하는 프로그램을 말한다.
하이퍼바이저(or VMM)은 운영 체제와 응용 프로그램을 물리적 하드웨어에서 분리하는 프로세스를 말한다. 이 하이퍼바이저 혹은 버추얼 머신 모니터(VMM)라고 하는 소프트웨어가 하드웨어에서 직접 구동된다.
하이퍼바이저 또는 VMM이 Host OS 상위에 설치되는 프로그램을 말한다.
전가상화는 각 가상머신이 하이퍼바이저를 통해 하드웨어와 통신하는 상태를 말한다. 하이퍼바이저가 마치 하드웨어인 것처럼 동작하므로 가상 머신의 OS는 자신이 가상 머신인지 모른다.
반가상화는 각 가상머신이 직접 하드웨어와 통신하는 상태를 말한다. 각 가상머신에 설치되는 OS는 가상머신인 것을 인지하고 각 명령에 하이퍼바이저 명령을 추가하여 하드웨어와 통신한다.
최근 추세로는 HW 성능 향상으로 전가상화 기술을 선호
VMWare는 대중적인 Type 2 가상머신 프로그램이다.
AWS 등에서 많이 사용되는 Type 1 가상머신 프로그램이다.
가상머신은 컴퓨터 하드웨어를 가상화하여 하이퍼바이저를 사용한다. (하드웨어 전체 추상화)
이에 반해 Docker는 운영체제 레벨에서 별도로 분리된 실행환경을 제공한다. (커널 추상화)
마치 리눅스를 처음 설치했을때와 유사한 실행환경을 만들어주는 리눅스 컨테이너 기술 기반이며 리눅스 기반이므로 macOS, Windows에서는 가상 머신 기반이다.
Bare-Metal 방식이 하드웨어를 직접 엑세스하기에 가장 성능이 좋아 AWS 등에서 활용된다.
Docker는 경량 이미지로 실행환경을 통째로 백업, 실행가능하여 실무에서 많이 사용한다.