OS

[OS] Virtual Machine

dearbeany 2022. 5. 24. 13:28

https://dmsitter.tistory.com/70 참고할 것.

 

가상화란?

- 하나의 물리머신 상에서 복수의 시스템을 동시 운영

- 또다른 CPU, 메모리, 하드디스크를 논리적 생성

- 물리서버 단위 아닌 애플리케이션 단위로 전환

출처 : Virtual Space

가상화 이전 가상화 이후
Application 들이 OS 위에 올라가 있음
OS는 x86 Architecture (하드웨어)위에 있는 환경
즉, 하나의 컴퓨터에서 하나의 Application 운영
Application들이 가상머신 위에 올라가 있음
즉, 하나의 컴퓨터에서 여러 환경 가진 Application 운영

각각 다른 OS마다 '커널'이 존재하는데,

OS마다 다른 명령어를 하드웨어가 이해하도록 하나의 명령어로 번역하는 역할을 '하이퍼바이저'가 한다! (전가상화 방식)

 

 

1. 가상머신

- 가상머신이라는 소프트웨어가 하드웨어의 동작을 Emulate함

- 각 가상머신마다 OS를 설치할 수 있어서, 마치 컴퓨터가 여러 대인 것처럼 보임

 

2. 하이퍼바이저

- 가상머신을 생성하고 구동하는 소프트웨어로 가상머신모니터(VMM)라고 부름

- 하이퍼바이저로 사용되는 물리 하드웨어를 호스트, 리소스를 사용하는 여러 VM을 게스트라고 함

- 위치와 역할에 따라 Type1, Type2 로 분류

 

Type1 Type2
하이퍼바이저가 호스트 HW에 직접 설치해 구동
HW를 제어하는 OS역할, VM관리 역할 모두 하이퍼바이저가 담당
다른 Application 같이 호스트 OS위에 설치
기존의 컴퓨터 환경을 그대로 사용해 설치, 구성이 편리

- 가상화 방식에 따라 전가상화, 반가상화 로 분류

전가상화 반가상화
하드웨어 전체를 가상화
- OS의 제약없이 사용 가능
- 게스트는 자신이 가상화 위 동작하고 있다고 인식X
가상머신이 전가상화의 하이퍼바이저 역할을 함
- OS의 제약 있음
- 게스트는 자신이 가상머신 위 동작한다고 인식
- 각기 다른 OS들의 명령방식을 하드웨어가 이해할 수 있도록 '번역'하고 전달해줌
- 하드웨어의 리소스들(명령을 해석한 결과)을 OS들에게 제공
- 각기 다른 OS들의 명령방식을 하드웨어가 이해할 수 있도록 '번역'하고 전달해줌 => 가상머신이!
- 하드웨어의 리소스들(명령을 해석한 결과)을 VM위에 게스트 OS들에게 제공

 

https://itholic.github.io/hypervisor/ < 그림 참고할 것!