Diferença entre máquina virtual e um hipervisor


29

Se você pesquisar no Google o termo "hypervisor", obterá infinitas definições de que um hypervisor também é conhecido como monitor de máquina virtual ou gerente de máquina virtual e que é uma forma de virtualização de hardware. Mas, sendo novato em VMs e seus conceitos, essa é uma definição difusa para mim.

Então, qual é a diferença - e / ou relacionamento entre - uma máquina virtual e seu hypervisor? Alguém pode dar um exemplo concreto?


Consulte o artigo da Wikipedia sobre hipervisores. Existem alguns tipos diferentes, que podem ser parcialmente por que você está confuso. pt.wikipedia.org/wiki/Hypervisor
— Zoredache

Respostas:


17

O hypervisor é o dispositivo ou software que executa a máquina virtual. É normalmente responsável pela alocação dos recursos, fornecendo a interface entre a máquina virtual (o "convidado") e o sistema host, bem como qualquer software de gerenciamento.

Portanto, se você estiver usando o VMware Workstation para executar uma máquina virtual Windows 7, o VMware Workstation é o hipervisor.


5
Por que eles não podem simplesmente dizer isso na documentação de referência?!? Obrigado!
— pnongrata

10
Eles não querem facilitar as coisas para você, ou você não pagará pelo contrato de suporte. ;)
— Coding Gorilla

Então ... Qual é a diferença entre VMM e Hypervisor?
— Allyourcode # 1

@allyourcode Depende de qual "VMM" você está falando e em que contexto.
— Coding Gorilla

Excelente resposta, votada. Mas e os emuladores de software ? Poderíamos dizer que o emulador (DOSBox) é um software que executa a máquina virtual?
— john cj

5

Verifique este link. http://blogs.msdn.com/b/virtual_pc_guy/archive/2006/07/10/661958.aspx

A resposta é do blog de virtualização de Ben Armstrong

aqui estão dois significados para 'VMM'. O primeiro é o 'gerenciador de memória virtual' - isso faz parte do sistema operacional Windows e não tem nada a ver com a virtualização do computador - e tudo a ver com o gerenciamento de memória do sistema operacional. Não é isso que estou discutindo hoje :-)

O segundo significado é 'Monitor de máquina virtual'. Existem vários programas e implementações diferentes que usam o apelido 'Virtual Machine Monitor'. Nos termos mais simples - o VMM é o software responsável por monitorar e impor políticas nas máquinas virtuais pelas quais é responsável. Isso significa que o VMM controla tudo o que acontece dentro de uma máquina virtual e, quando necessário, fornece recursos, redireciona a máquina virtual para recursos ou nega acesso a recursos (diferentes implementações de VMMs fornecem ou redirecionam recursos para vários níveis - mas isso é tópico de discussão para outro dia).

Classicamente, existem dois tipos de VMM.

Um VMM tipo II é aquele executado em cima de um sistema operacional de hospedagem e gera máquinas virtuais de nível superior. Exemplos de VMMs do tipo II incluem o ambiente JavaVM e .Net. Esses VMMs monitoram suas máquinas virtuais e redirecionam solicitações de recursos para APIs apropriadas no ambiente de hospedagem (com algum nível de processamento no meio).

Um VMM tipo I é executado diretamente no hardware sem a necessidade de um sistema operacional de hospedagem. Os VMMs do tipo I também são conhecidos como 'hipervisores' - portanto, a única diferença verdadeira entre um VMM e um hipervisor é onde ele é executado. A funcionalidade fornecida por ambos é eqüitativa. Exemplos de VMMs do tipo I incluem as soluções de virtualização de mainframe oferecidas por empresas como Amdahl e IBM, e em computadores modernos por soluções como VMware ESX, Xen e Windows.


3

Essa é uma extensão da terminologia existente do sistema operacional - uma das várias alternativas à metáfora da semente / noz . os programas do usuário são controlados pelo programa supervisor e em um sistema não virtual que é onde as coisas param. Com a virtualização, o supervisor é, por sua vez, controlado (ou monitorado ou gerenciado) por um programa de hipervisor .

Todos esses programas são softwares. A máquina virtual é o pretexto de uma máquina na qual o supervisor e os programas do usuário experimentam a execução. Parece hardware por dentro.


3
Ironicamente, isso é fora de tópico, e se bem me lembro, o latim "super" e o grego "hiper" derivam da mesma palavra original e significam a mesma coisa. O "ueber" alemão é outro irmão. Portanto, "supervisor" e "hipervisor" são na verdade a mesma palavra, exceto que um é todo latino, enquanto o outro é metade latino, meio grego. :-)
— Andrew J. Brehm 23/09

2
Mas, de fato, a terminologia é toda grega para a maioria de nós.
— Daniel R Hicks

1

Don Skiba sobre a história do Hypervisor :

Eu estava na IBM em 1966, quando estávamos tentando instalar o novo System 360s. Como você pode imaginar, converter todo esse "código antigo" dos antigos modelos 1401, 1440, 1410, 7080, 7090 foi a maior bagunça que você já desejou ver. No modelo 360 da 360, havia um emulador para algumas máquinas mais antigas. Na verdade, todos os modelos 360, exceto o modelo 75, eram emuladores do conjunto de instruções 360. O popular para o modelo 65 foi o emulador para o IBM 7080. No entanto, era necessário dedicar a máquina ao modo 360 ou ao modo 7080. Isso não estava deixando nossos clientes muito felizes.

Verificou-se que havia alguns registros especiais no modelo 65 que estavam inativos, mas ativos no modelo 67 que foram usados ​​para compartilhamento de tempo e, eventualmente, um sistema operacional virtual, CMS. Eu convenci o engenheiro no modelo 65 de que poderíamos usar esses registradores para trocar entre programas em execução na metade inferior da memória para programas em execução na metade superior e a metade poderia operar no modo 360 ou 7080. Nós apenas precisávamos de um código "pequeno" para fazer a troca, a configuração de modo e a alocação de recursos (E / S). Eu convenci um engenheiro de sistemas na Filadélfia, que tinha um cliente que precisava desesperadamente dessa função, para escrever o código. Nós lançamos vários nomes de código na época. Sugeri que o "hypervisor" poderia ser apropriado, porque, antes do 360, não havia "sistemas operacionais" e todos os sistemas anteriores tinham "supervisores". Então, "hypervisor" parecia apropriado e o nome ficou.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.