OS #34 가상 머신

underlier12·2020년 4월 12일
0

OS

목록 보기
34/35

34. 가상 머신

Virtual Machine

하나의 하드웨어에 다수의 운영체제를 설치하고 개별 컴퓨터처럼 동작하도록 하는 프로그램을 말한다.

Virtual Mahine Type

Type 1 (Native or Bare Metal)

하이퍼바이저(or VMM)은 운영 체제와 응용 프로그램을 물리적 하드웨어에서 분리하는 프로세스를 말한다. 이 하이퍼바이저 혹은 버추얼 머신 모니터(VMM)라고 하는 소프트웨어가 하드웨어에서 직접 구동된다.

Type 2

하이퍼바이저 또는 VMM이 Host OS 상위에 설치되는 프로그램을 말한다.

전가상화 vs 반가상화

Full Virtualization

전가상화는 각 가상머신이 하이퍼바이저를 통해 하드웨어와 통신하는 상태를 말한다. 하이퍼바이저가 마치 하드웨어인 것처럼 동작하므로 가상 머신의 OS는 자신이 가상 머신인지 모른다.

Half Virtualization

반가상화는 각 가상머신이 직접 하드웨어와 통신하는 상태를 말한다. 각 가상머신에 설치되는 OS는 가상머신인 것을 인지하고 각 명령에 하이퍼바이저 명령을 추가하여 하드웨어와 통신한다.

최근 추세로는 HW 성능 향상으로 전가상화 기술을 선호

가상머신 예시

VMWare

VMWare는 대중적인 Type 2 가상머신 프로그램이다.

KVM

AWS 등에서 많이 사용되는 Type 1 가상머신 프로그램이다.

Docker

가상머신은 컴퓨터 하드웨어를 가상화하여 하이퍼바이저를 사용한다. (하드웨어 전체 추상화)
이에 반해 Docker는 운영체제 레벨에서 별도로 분리된 실행환경을 제공한다. (커널 추상화)

마치 리눅스를 처음 설치했을때와 유사한 실행환경을 만들어주는 리눅스 컨테이너 기술 기반이며 리눅스 기반이므로 macOS, Windows에서는 가상 머신 기반이다.

정리

Bare-Metal 방식이 하드웨어를 직접 엑세스하기에 가장 성능이 좋아 AWS 등에서 활용된다.
Docker는 경량 이미지로 실행환경을 통째로 백업, 실행가능하여 실무에서 많이 사용한다.

profile
logos and alogos

0개의 댓글