하이퍼바이저(Hypervisor)

2025. 6. 21. 17:18도커

모든 내용은 공부 후 정리해서 적어둔 내용입니다. 틀린 내용이 있다면 댓글로 말씀해 주세요.


하이퍼바이저란

하이퍼바이저는 가상머신(VM)을 생성하고 구동하는 소프트웨어입니다.

가상 머신 모니터(VMM)라고도 하는 하이퍼바이저는 VM에서 하이퍼바이저 운영 체제와 리소스를 분리하고 해당 VM을 생성 및 관리할 수 있게 해줍니다.

 


 

하이퍼바이저의 동작

프로세스가 정상적으로 동작하기 위해서는 OS에게서 리소스를 할당받아야합니다.

리소스를 할당받기 위해서는 커널을 통해 요청되고, 시스템 콜이라는 표준 방식으로 처리됩니다.

(하드웨어의 리소스를 사용하는 작업은 복잡하고 조심히 다뤄야 하기 때문에 커널이라는 중간다리를 거칩니다.)

프로세스들은 커널의 시스템 콜을 보면서 하드웨어의 자원을 요청하는데, 문제는 게스트OS의 커널은 진짜 하드웨어에 직접 접근할 수 없다는 점입니다.

 

진짜 물리적인 하드웨어는 호스트 OS의 소유이기 때문에 게스트OS에서 직접 접근할 수 없기 때문에, 호스트 OS의 커널로 리소스 사용을 요청해야합니다.

대표적인 OS인 Window, MacOS, Linux는 각각의 다른 종류의 커널을 사용하기때문에 시스템 콜도 달라 게스트 OS에서 전달받은 시스템 콜을 호스트 OS에서 처리할 수 없습니다.

 

여기에서 하이퍼바이저가 통역가 + 관리자 역할을 해줍니다.

  1. read() 시스템 콜 호출 → 게스트 커널에게 요청
  2. 게스트 커널은 직접 하드웨어 접근 불가능 → 하이퍼바이저에게 요청 전달
  3. 하이퍼바이저가 호스트 하드웨어에 접근해 읽음 (이 부분은 하이퍼바이저의 종류에 따라 다릅니다.)
  4. 읽은 데이터를 게스트 커널 - 애플리케이션 순으로 전달

 


 

하이퍼바이저의 종류

하이퍼바이저는 일반적으로 Type1Type2 하이퍼바이저 두 가지 방식으로 나뉩니다.

 

Type 1: 베어메탈(Bare-metal) 하이퍼바이저

  • 물리서버위에 직접 설치되는 하이퍼바이저
  • 운영체제없이도 하이퍼바이저 자체가 하드웨어를 제어
  • 대표적인 예로 VMware ESXi, Microsoft Hyper-V 등

Type 2: 호스트형(Hosted) 하이퍼바이저

  • 일반적인 운영체제위에서 동작하는 하이퍼바이저
  • 호스트 OS가 중간에 있어서 성능이 떨어질 수 있으나 개인 사용자나 테스트에 적합
  • 대표적인 예로 VirtualBox, VMware Workstation 등

 

 

 

 

 

 

'도커' 카테고리의 다른 글

도커 이미지와 컨테이너  (1) 2025.07.08
컨테이너(Container)  (2) 2025.06.22
가상화  (1) 2025.06.21