본문 바로가기
computer

가상 머신

by 유순이 2021. 6. 25.

가상 머신 (Virtual Machine)

:하나의 하드웨어 (CPU, Memory 등)에 다수의 운영 체제를 설치하여 개별 컴퓨터 처럼 작동하도록 하는 것

 

 가상 머신 구현 방식에 따라

type1  /  type2 생성

 

<type1>

가상 머신을 구동시키는 하이퍼 바이저나 가상 머신 모니터(VMM)라는 소프트웨어를 하드웨어 위에서 구동시키는 것

 

<type2>

하드 웨어 위에 이미 운영 체제가 설치되어 있고, 그 위에 가상 머신을 구동시키는 것

 

성능 빠를 가능성이 높다(구성에 따라 다르긴 해서)

type1 > type2

 

<Full Virtualization 전가상화>

각각의 가상 머신이 VMM을 거쳐서 하드웨어와 통신하는 경우

하이퍼 바이저가 마치 하드 웨어인 것처럼 동작하여, 가상 머신의 OS는 자신이 가상 머신인 것을 모른다.

 

<Half Virtualization 반가상화>

VMM은 리소스 관리만 해주며, 각각의 가상 머신의 OS는 이를 인지하고 각 명령에 하이퍼 바이저 명령을 추가하여 하드웨어와 통신하는 것

OS가 이를 인지하기 위해 OS 수정이 필요하다.

 


VMWare (type2)

 

KVM (type1) - AWS에서 사용

 

패스트 캠퍼스 컴퓨터 공학 강의 캡쳐

CPU에서 지원이 되어야 하고, KVM이라는 소프트웨어도 리눅스 커널이다.

protection-ring도 가상 머신에서도 사용하는 것

 


Docker

: 운영체제 레벨에서 별로도 분리된 실행환경을 조성

 

가상 머신 : 하드웨어 추상화

도커 : 커널 추상화

 


Bare-metal 방식이 하드 웨어에서 직접 접근하기에, 성능이 가장 좋다. (AWS에서 사용하는 KVM)

Docker는 경량 이미지로 실행환경을 통째로 백업, 실행이 가능하다.

 

JVM (Java Virtual Machine)은 응용 프로그램 가상화 >> 어느 운영 체제에서나 실행 가능한 이유

 

 

 

 

 

'computer' 카테고리의 다른 글

LINUX의 역사  (0) 2021.06.28
운영 체제의 이해  (0) 2021.06.26
부팅  (0) 2021.06.25
파일 시스템 - inode 방식  (0) 2021.06.25
파일 시스템  (0) 2021.06.24

댓글