가상화기술 Type1

기술/가상화 2016. 9. 11. 19:59 Posted by 아는 개발자

가상화 기술 Type1은 가상화 소프트웨어가 OS의 형태(OS로 말하기는 좀 부족하고 기능이 추가된 바이오스라 생각하면 좋다)로 구현된 것이다.


대표적인 소프트웨어로는 Xen,과 Window Server로 사용되는 Hyper-V가 있다. Type1은 일반 사용자들에게 익숙하지 않은데 아마 주로 서버 개발에 사용되기 때문일 것이다. 클라우드 컴퓨팅 회사에서 비싼 서버 한 대를 이용해 여러 개의 서버를 돌리듯한 효과를 주기 위해 Type1의 가상 기술을 이용한다.


위 방식은 Hypervisor가 하드웨어 통제권을 가지고 있다는 장점이 있다. Type 2에서 Hypervisor가 하드웨어의 통제권을 가지지 못해 하드웨어를 제어하는데 오버헤드가 많이 걸렸는데 여기선 Hypervisor가 하드웨어를 장악하고 있고 이걸 Guest OS에 빠르게 전달하기 위한 API를 따로 가지고 있기 때문에 각각의 Guest OS에 필요한 정보들을 빠르게 줄 수 있다.


이때 구현되는 Guest OS는 Para-virtualization의 형태로 구현된다. Para-virtualization은 Guest OS가 자신이 가상머신의 형태로 올라가는 것을 알고 있는 상태이다. Guest OS의 코드를 수정해서 Hypervisor에서 제공하는 API들을 사용할 수 있도록 구현해야 한다. 어떤 형태의 Hypervisor를 사용하느냐에 따라서 Guest OS의 수정 정도가 달라진다.


Hypervisor는 Guest OS의 생성과 운영을 책임진다. Guest OS가 부팅 될 때는 Hypervisor로 부터 RAM 영역이나(이건 소프트웨어에 따라서 다르다) 기본적인 하드웨어 정보를 전달 받고 작동중에는 Hardware 정보들을 전달, 전송 받는다. 만약 Hypervisor가 불안정하면 그 위에서 동작하는 Guest OS까지 불안정해지는 위험이 있다. 그렇기 때문에 최대한 안정성 있게 만들어야 한다.


정리하면 Type1으로 개발할 때는 다음과 같은 요구사항이 있다.

  1. 신속성: Hypervisor는 Guest OS와 Hardware사이의 중간 관리자이다. Guest OS가 요구하는 정보들을 빠르게 전달해야 한다.
  2. Guest OS 수정: Guest OS와 Hypervisor가 통신이 가능하도록 코드를 주어해야 한다.
  3. 안정성: GuestOS 동작이 불안해지지 않도록 만들어야 한다.
위 세가지가 Type1 가상화 기술 개발의 목표이다. 장점은 Hardware를 Hypervisor 입맛에 맞게 요리 할 수 있다는 것이고 단점은 Guest OS를 Hypervisor의 API에 맞춰서 수정해야 한다는 점이다.


728x90

'기술 > 가상화' 카테고리의 다른 글

2. Xen 기본 구조/Hypercall  (0) 2016.11.05
1. Xen Project 소개  (0) 2016.11.05
가상화기술 Type1  (0) 2016.09.11
가상화기술 Type2  (0) 2016.09.11
가상화 기술의 유형  (0) 2016.09.06
가상화 기술이란?  (2) 2016.07.31