Comportamento do QEMU como hypervisor

2

De acordo com a documentação oficial do QEMU :

When used as a virtualizer, QEMU achieves near native performance by executing the guest code directly on the host CPU.

Minha pergunta é como esse comportamento é diferente dos programas que chamamos de hipervisores (por exemplo, VirtualBox, KVM etc); eles também não executam o "código de convidado" na "CPU host"? onde mais eles funcionariam?

Atualizar :

Se a imagem abaixo ( source ) estiver correta, então ela se torna que o QEMU executa aplicativos (e não SOs inteiros como hipervisores), mas realiza traduções entre diferentes tipos de arquitetura (por exemplo, um programa escrito para o ARM pode ser executado no x86)

Diante do exposto, é o caso de um deles ser executado:

a) todo um sistema operacional para uma arquitetura específica (por exemplo, ARM)

b) em um host com uma arquitetura diferente (por exemplo, amd64)

é necessária uma co-existência de ambos

QEMU (para realizar o mapeamento de arquitetura cruzada)

e

KVM (para atuar como hypervisor de hardware)

é necessário?

    
por pkaramol 25.08.2018 / 11:03

1 resposta

5

O parágrafo que você cita deve ser contrastado com o parágrafo anterior na documentação:

When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance.

A documentação está destacando a diferença entre o QEMU usado como um emulador, que é mais lento porque envolve a tradução de código binário, versus o QEMU usado como um virtualizador.

Em relação ao diagrama, ele está incompleto. O QEMU é muito versátil e pode ser usado sozinho para emular um sistema completo, executar um sistema operacional convidado ou virtualizar um sistema completo, executar novamente um sistema operacional convidado ou emular ou virtualizar uma CPU no sistema operacional host, executando apenas um aplicativo convidado . Também pode ser usado para emular dispositivos para uso com o KVM.

    
por 25.08.2018 / 12:12