Google에서 "하이퍼 바이저"라는 용어를 사용하는 경우 하이퍼 바이저가 가상 시스템 모니터 또는 가상 시스템 관리자 라고도하며 하드웨어 가상화의 한 형태 라는 끝없는 정의를 얻게 됩니다. 그러나 VM과 그 개념을 처음 접했을 때 이것은 저에게 퍼지 정의입니다.
그렇다면 가상 머신과 하이퍼 바이저의 차이점 및 / 또는 관계는 무엇입니까? 누군가가 구체적인 예를 들어 줄 수 있습니까?
Google에서 "하이퍼 바이저"라는 용어를 사용하는 경우 하이퍼 바이저가 가상 시스템 모니터 또는 가상 시스템 관리자 라고도하며 하드웨어 가상화의 한 형태 라는 끝없는 정의를 얻게 됩니다. 그러나 VM과 그 개념을 처음 접했을 때 이것은 저에게 퍼지 정의입니다.
그렇다면 가상 머신과 하이퍼 바이저의 차이점 및 / 또는 관계는 무엇입니까? 누군가가 구체적인 예를 들어 줄 수 있습니까?
답변:
하이퍼 바이저는 가상 머신 을 실행 하는 장치 또는 소프트웨어 입니다. 일반적으로 리소스를 할당하고 가상 시스템 ( "게스트")과 호스트 시스템 및 관리 소프트웨어 간의 인터페이스를 제공합니다.
따라서 VMware Workstation을 사용하여 Windows 7 가상 머신을 실행하는 경우 VMware Workstation이 하이퍼 바이저입니다.
이 링크를 확인하십시오. http://blogs.msdn.com/b/virtual_pc_guy/archive/2006/07/10/661958.aspx
답변은 Ben Armstrong의 가상화 블로그에서 가져온 것입니다.
실제로 'VMM'에 대한 두 가지 의미가 있습니다. 첫 번째는 '가상 메모리 관리자'입니다. 이것은 Windows 운영 체제의 일부이며 컴퓨터 가상화와 관련이 없으며 운영 체제 메모리 관리와 관련된 모든 것입니다. 이것은 내가 오늘 토론하고있는 것이 아닙니다 :-)
두 번째 의미는 '가상 머신 모니터'입니다. 'Virtual Machine Monitor'라는 이름을 사용하는 다양한 프로그램과 구현이 있습니다. 가장 간단한 용어로 VMM은 책임이있는 가상 머신의 정책을 모니터링하고 시행하는 소프트웨어입니다. 이는 VMM이 가상 머신 내부에서 발생하는 모든 것을 추적하고 필요한 경우 리소스를 제공하거나 가상 머신을 리소스로 리디렉션하거나 리소스에 대한 액세스를 거부합니다 (VMM의 다른 구현은 리소스를 다양한 수준으로 제공하거나 리디렉션합니다). 다른 날 토론 주제).
일반적으로 두 가지 유형의 VMM이 있습니다.
유형 II VMM은 호스팅 운영 체제에서 실행 된 후 더 높은 수준의 가상 머신을 생성하는 VMM입니다. 유형 II VMM의 예로는 JavaVM 및 .Net 환경이 있습니다. 이러한 VMM은 가상 시스템을 모니터링하고 리소스에 대한 요청을 호스팅 환경에서 적절한 API로 리디렉션합니다 (일부 처리 수준).
유형 I VMM은 호스팅 운영 체제없이 하드웨어에서 직접 실행되는 VMM입니다. 유형 I VMM은 '하이퍼 바이저'라고도합니다. 따라서 VMM과 하이퍼 바이저의 유일한 차이점은 실행 위치입니다. 둘 다 제공하는 기능은 동일합니다. 유형 I VMM의 예로는 Amdahl 및 IBM과 같은 회사에서 제공하는 메인 프레임 가상화 솔루션과 VMware ESX, Xen 및 Windows 가상화와 같은 솔루션으로 최신 컴퓨터에 제공됩니다.
이는 기존 운영 체제 용어의 확장입니다 . 이는 시드 / 너트 은유 에 대한 여러 가지 대안 중 하나입니다 . 사용자 프로그램은 수퍼바이저 프로그램과 비가 상 시스템에서 제어됩니다 . 가상화를 통해 수퍼바이저 는 하이퍼 바이저 프로그램에 의해 제어 (또는 모니터링 또는 관리)됩니다 .
이 모든 프로그램은 소프트웨어입니다. 가상 머신은 수퍼바이저와 사용자 프로그램이 실행 자신을 경험하는 기계의 구실이다. 내부에서 하드웨어처럼 보입니다.
새로운 System 360을 설치하려고 할 때 1966 년에 IBM과 함께있었습니다. 상상할 수 있듯이 이전 1401, 1440, 1410, 7080, 7090 모델의 모든 "이전 코드"를 변환하는 것이 가장 큰 혼란이었습니다. 360 모델 65에는 몇 가지 구형 컴퓨터에 대한 에뮬레이터가있었습니다. 실제로, 모델 75를 제외한 모든 360 모델은 360 명령어 세트의 에뮬레이터였습니다. 모델 65에 널리 사용 된 것은 IBM 7080의 에뮬레이터였습니다. 그러나 머신을 360 모드 또는 7080 모드로 전용해야했습니다. 그것은 우리 고객들을 매우 행복하게 만들지 못했습니다.
모델 65에는 비활성 상태이지만 시간 공유 및 결국 가상 운영 체제 CMS에 사용 된 모델 67에는 활성 인 일부 특수 레지스터가 있음이 밝혀졌습니다. 필자는 모델 65의 엔지니어가 메모리의 아래쪽 절반에서 실행되는 프로그램을 위쪽 절반에서 실행되는 프로그램으로 바꾸고 두 절반은 360 또는 7080 모드에서 작동 할 수 있다고 레지스터에 사용할 수 있다고 확신했습니다. 스와핑, 모드 설정 및 리소스 (I / O) 할당을 수행하기 위해 "작은"코드가 필요했습니다. 필자는 필라델피아의 시스템 엔지니어에게이 기능을 절실히 필요로하는 고객이 코드를 작성하도록 설득했습니다. 당시 우리는 코드 이름을 많이 던졌습니다. 360 이전에는 "운영 체제"가 없었고 이전 시스템에는 모두 "감독자"가 있었기 때문에 "하이퍼 바이저"가 적절하다고 제안했습니다. 그래서 "하이퍼 바이저"가 적절 해 보였고 그 이름이 고착되었습니다.