OS
[OS] Virtual Machine
dearbeany
2022. 5. 24. 13:28
https://dmsitter.tistory.com/70 참고할 것.
가상화란?
- 하나의 물리머신 상에서 복수의 시스템을 동시 운영
- 또다른 CPU, 메모리, 하드디스크를 논리적 생성
- 물리서버 단위 아닌 애플리케이션 단위로 전환
가상화 이전 | 가상화 이후 |
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/ < 그림 참고할 것!