[클라우드] 하이퍼바이저

Letmegooutside·2022년 2월 3일
0

클라우드 컴퓨팅

목록 보기
2/6

하이퍼바이저

실제 물리자원을 가상화하고 이를 가상머신이 사용할 수 있도록 중간에서 매개체 역할을 하는 소프트웨어

하이퍼바이저는 호스트OS 필요 여부에 따라 타입1과 타입2로 구분할 수 있다.

타입 1 : 네이티브(Native), 베어 메탈(Bare Metal) 하이퍼바이저

하이퍼바이저와 하드웨어가 직접 상호작용 하는 것이 특징이다.
즉 호스트OS 상에 하이퍼바이저가 올라가지 않고 직접 하드웨어를 제어할 수 있다.

ex ) KVM/QEMU. XEN 등

타입 2 : 호스티드(Hosted) 하이퍼바이저

호스트 운영체제 위에서 하이퍼바이저가 동작한다.

ex ) VMWare Fusion, VMWare Workstation, Parallels Workstation, VirtualBox 등

보호 링 계층과 하이퍼바이저

보호 링

컴퓨터 시스템에서 계층 별로 보호 권한을 구분한 구조.

시스템 자원 접근에 대한 메커니즘을 의미한다.

  • Ring0 : 시스템 커널 코드 실행. 물리 자원과 직접 상호 작용한다.
  • Ring1,2 : 장치 드라이버 레벨
  • Ring3 : 프로세스 코드 실행

타입 2

호스트 OS위에서 하드웨어를 에뮬레이팅 함으로써 자원을 가상화하고, 가상화된 자원을 VM에 할당한다.
따라서 하이퍼바이저는 Ring0에 위치하고, VM은 Ring1에서 동작하게 된다.

타입 1

전가상화와 반가상화 여부에 따라 링 계층에서 상주하는 위치가 달라진다.

전가상화

전가상화는 하드웨어를 에뮬레이트 하기 위해 이진 변환(Binary Translation) 방식을 사용하는 하이퍼바이저이다.

VM이 하드웨어를 제어하기 위해 하이퍼바이저에 바이너리 형태로 명령어를 전달하면 이 명령어를 해석하고, 그 결과를 토대로 하드웨어를 제어하게 되는데, 이 과정을 이진 변환 과정이라고 한다.

위와 같이 게스트 OS는 Ring1에 위치하게 되며 하이퍼바이저에 하드웨어 제어를 요청함으로써 가상화된 하드웨어를 사용할 수 있다.

반가상화

하이퍼바이저가 별도의 가상화 계층에 위치한다.
링 구조에서 Ring-1계층에 있다고도 하는데, 이 구조에서 게스트 OS는 Ring0에 위치하게 된다.

하이퍼바이저가 하드웨어를 직접 제어할 수 있는 API를 제공하고 게스트 OS의 수정된 커널이 이 API를 통해 하드웨어에 접근하는 작업을 수행한다.

이렇게 수정된 게스트 OS의 커널이 직접 시스템 콜 하는 방식을 하이퍼 콜이라고 부른다.

전가상화 방식에 비해 이진 변환하는 에뮬레이트 절차가 없기 때문에 상대적으로 성능 오버헤드가 적다.




Reference
https://itguava.tistory.com/77

0개의 댓글