2014-01-30 2 views
46

나는 가상화의 주제를 다룰 예정이다.이 질문을하기에는 다소 바보 스럽지만 기본 개념을 완전히 이해하지 못하고있다. Wikipedia는 몇 가지 관련 정보를 제공하지만, 기본 지식을 이해하기에는 충분하지 않다. 개념. 컨셉은 2-3 라인이지만, 그물이나 책에서 찾을 수는 없습니다.Full, Para 및 Hardware assisted 가상화의 차이점은 무엇입니까?

누군가 나에게이 세 가지 유형의 기본 개념을 제공하면 기쁠 것입니다. 나는 가상화을 잘 알고 그것을 잘 이해하지만, 이러한 3 가지 ...

답변

106
  • Paravirtualization는 게스트 운영 체제 (하나의 가상화 인)가 게스트 인 것을 알고있는 가상화입니다 따라서 하드웨어 명령을 내리는 대신 단순히 호스트 운영 체제에 직접 명령을 내리는 드라이버가 있습니다. 여기에는 메모리와 스레드 관리도 포함됩니다. 일반적으로 프로세서에서 사용할 수없는 권한있는 명령어가 필요합니다.

  • Full Virtualization는 게스트 운영 체제는 가상화 된 환경에서, 그리고 손님이 어떻게 생각하는지에 명령을 실행할 수 있도록 때문에 하드웨어가 호스트 운영 체제에서 가상화 된 것을 인식하지 못하는있는 가상화 것은 실제 하드웨어입니다 ,하지만 실제로 호스트에 의해 생성 된 시뮬레이션 된 하드웨어 장치 일뿐입니다.

  • Hardware Assisted Virtualization은 마이크로 프로세서 아키텍처에 하드웨어의 가상화를 돕기위한 특별 지침이있는 완전 가상화 유형입니다. 이러한 명령어를 사용하면 게스트가 호스트에 영향을주지 않고 프로세서에서 직접 권한있는 명령어를 실행할 수 있도록 가상 컨텍스트를 설정할 수 있습니다. 이러한 기능 세트는 흔히 하이퍼 바이저이라고합니다. 상기 지시가 존재하지 않는 경우, 완전 가상화는 여전히 가능하지만, 호스트는 비 특권 방식으로 실행될 수 있도록 게스트의 플라이 특권 지시에 따라 재 컴파일되는 동적 재 컴파일과 같은 소프트웨어 기술을 통해 수행되어야한다 호스트에.

  • 가 파라 가상화의 조합도이며 전체 가상화 하이브리드 가상화 특정 하드웨어 드라이버의 게스트 운영 체제를 사용 반 가상화의 일부, 그리고 호스트가 다른 기능에 대한 전체 가상화를 사용했다. 게스트가 완전히 반 가상화 될 필요없이 게스트에서 우수한 성능을 제공하는 경우가 많습니다. 예 : 게스트는 커널의 권한있는 명령어에 대해 전체 가상화를 사용하지만 게스트의 특수 드라이버를 사용하는 IO 요청에 대해서는 반 가상화를 사용합니다. 이렇게하면 게스트 운영 체제를 완전히 반 가상화 할 필요가없는 경우가 있습니다. 가끔씩 사용할 수 없기 때문에 게스트 용 특별 드라이버를 구현하여 일부 반 가상화 기능을 계속 사용할 수 있습니다.

+1

반 가상화에서는 게스트가 하드웨어 명령을 실행하는 것과 비교하여 호스트 OS에 명령을 인식하고 실행합니다. 전체 가상화의 경우 하이퍼 바이저가 생성 한 의사 하드웨어 장치. 필자는 호스트 OS가없는 유형 1 하이퍼 바이저의 경우 반 가상화가 어떻게 발생하는지에 대해 의아해합니다. 게스트는 누구에게 하드웨어 명령을 내 보냅니 까? –

+0

@ gauravparashar 호스트 운영 체제 인 것처럼 하이퍼 바이저에 직접 명령을 실행합니다. 하이퍼 바이저는 최소한 기본 반 가상화 API를 가져야하며, 그런 의미에서 매우 기본적인 호스트 OS입니다. – Dougvj

+0

@Dougvj, 전체 가상화가 하드웨어 지원 가상화를 의미합니까? 그들은 서로 가야합니까? – Pacerier

0

하드웨어 지원 가상화의 경우 가상화가 설계되었습니다. 명령어 세트는 호스트를 분할하기위한 지침을 제공합니다. 예를 들어 인텔의 VT-x 기술을 참조하십시오. 하이퍼 바이저가 운영 체제를 사용하지 않고 하드웨어로 직접 작동하여 완전한 가상화를 제공합니다.

관련 문제