# Xen vs. KVM: Comparação entre hipervisores open source

Na era da computação em nuvem, hipervisores como **KVM* *e* *Xen** ganham cada vez mais destaque e importância. Apesar de ambas serem tecnologias de virtualização, elas se diferem em alguns aspectos. Nossa comparação Xen vs. KVM destaca e explora essas diferenças, assim como as principais afinidades.

## Resumão sobre o hipervisor Xen

O [hipervisor](https://www.ionos.com/digitalguide/server/know-how/what-is-a-hypervisor/ "O que é hipervisor") Xen é uma plataforma de virtualização de [código aberto (*open source*)](https://www.ionos.com/digitalguide/server/know-how/what-is-open-source/ "Open source: o que é código aberto") que possibilita a **execução simultânea de vários sistemas operacionais convidados** em um único servidor físico. Especificamente, o papel do hipervisor Xen consiste em alocar recursos de hardware do servidor, justamente para possibilitar essa execução simultânea.

### Tipo de hipervisor

Essa plataforma de virtualização adota uma abordagem do tipo 1, sendo seu produto classificado como **hipervisor tipo 1 ou bare-metal**. Isso quer dizer que o Xen é executado diretamente sobre o hardware físico, não necessitando de um sistema operacional *host*. Domínios são atribuídos a cada [sistema operacional](https://www.ionos.com/digitalguide/server/know-how/what-is-an-operating-system/ "O que é sistema operacional") instalado, como **dom0** e **domU**, com o objetivo de diferenciar o **nível de privilégios**. Mais especificamente, o sistema operacional *host é classificado como* dom0, obtendo, então, o mais alto nivel de privilégios. Aos sistemas operacionais convidados é atribuído o domínio *domU*, que não contém privilégios.

Graças a uma API especial, toda comunicação entre o sistema operacional *host* e o hardware é realizada por meio do hipervisor, ao invés de ocorrer por *drivers*. Essa profunda integração permite que o Xen utilize hardwares de forma bem mais eficiente, evitando sobrecargas e diminuindo a superfície de ataque.

### Paravirtualização para maior eficiência

A técnica de virtualização que o Xen utiliza para aumentar sua eficiência é a **paravirtualização**. Nela, **componentes de hardware não são emulados pelo hipervisor**, portanto os sistemas convidados ficam cientes de que estão sendo executados em um ambiente virtualizado. Assim, a comunicação entre os sistemas operacionais convidados e o hipervisor Xen dá-se muito mais rapidamente, garantindo um melhor desempenho. Por outro lado, essa técnica de virtualização exige algumas coisas dos sistemas operacionais instalados: entre outras, o [kernel](https://www.ionos.com/digitalguide/server/know-how/what-is-a-kernel/ "O que é kernel") do sistema operacional deve oferecer suporte à paravirtualização e contar com *drivers* especializados. Tais exigências, entretanto, costumam já ser atendidas pelos sistemas operacionais mais comuns, como o [Linux](https://www.ionos.com/digitalguide/server/know-how/linux-the-cost-effective-alternative-to-windows/ "Linux: Alternativa econômica ao Windows") e o BSD.

Caso a paravirtualização seja impossibilitada ou barrada por um sistema operacional específico, o Xen oferece a alternativa de **virtualização completa**. Nela, componentes de hardware são emulados virtualmente. Apesar desse tipo de virtualização ser mais lento, ele oferece **maior compatibilidade**, possibilitando que sistemas operacionais sem suporte à paravirtualização também executem o Xen.

Dica Além do KVM, existem outras [alternativas ao Xen](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/xen-alternative-alternativas-ao-xen/). Nosso Digital Guide as apresenta a você.

## Resumão sobre o hipervisor KVM

O [KVM](https://www.ionos.com/digitalguide/server/know-how/what-is-kvm/ "O que é KVM") (***K**ernel-based **V**irtual **M**achine*) também é um hipervisor de código aberto que possibilita a execução de vários sistemas operacionais convidados em um único servidor físico. Embora o KVM e o Xen tenham basicamente a mesma finalidade, eles se baseiam em princípios funcionais diferentes e, portanto, são adequados a usos distintos.

### Tipo de hipervisor

No passado, o KVM costumava ser classificado como **hipervisor do tipo 2**, uma vez que ele só conseguia se comunicar com o hardware por meio dos *drivers* do sistema operacional *host*. Até então, a paravirtualização era impossível: todos os componentes de hardware tinham de ser emulados pelo KVM nos sistemas convidados.

O KVM foi, contudo, se expandido até conseguir incluir o recurso de paravirtualização, embora este funcione de forma diferente aqui: a paravirtualização não ocorre sob o sistema operacional *host*, sendo **diretamente integrada ao kernel do Linux**. Assim, ela se utiliza de componentes de software do próprio sistema Linux para gerenciar os sistemas virtualizados e seus processos. Cada sistema operacional convidado tem seu próprio hardware virtualizado no KVM, que inclui interface de rede, armazenamento em disco rígido e outros. Para possibilitar a **virtualização completa**, esse hipervisor usa a técnica de **virtualização assistida por hardware**, já incorporada na maioria dos processadores modernos.

No hipervisor KMV, entretanto, nem todos os componentes são totalmente virtualizados. Para acelerar a execução de sistemas e aplicações, ele disponibiliza diferentes **interfaces paravirtualizadas** que se comunicam diretamente pela **API Virtio**. Isso quer dizer que a paravirtualização oferecida pelo KVM é, na verdade, uma **paravirtualização parcial**, sendo mais adequada a **dispositivos de entrada e saída**, como a **interfaces de rede**.

## KVM vs. Xen: Qual hipervisor tem melhor desempenho?

A maior diferença entre os hipervisores KVM e Xen está no **nível da pilha de software** que cada um consegue operar. Como parte do kernel do Linux, o KVM usa a técnica de virtualização assistida por hardware para virtualizar totalmente muitos componentes desse hardware, sem que o desempenho seja significativamente afetado. As principais interfaces de entrada/saída são paravirtualizadas, provavelmente o fator mais importante na maioria das aplicações de servidor. O Xen, por outro lado, é um hipervisor do tipo 1 clássico, sendo, portanto, instalado sob o respectivo sistema operacional. Isso permite que ele gerencie a distribuição dos recursos de hardware de forma mais adequada. Assim, **teoricamente, o Xen possibilita uma comunicação mais eficiente e de melhor desempenho** com o hardware. Na prática, contudo, Xen e KVM registram semelhante desempenho, graças à API Virtio do KVM e à virtualização suportada pelo hardware.

### Afinidade de processador

Obviamente, os dois hipervisores não registram o mesmo desempenho para as mesmas aplicações. O KVM permite que seus usuários tenham mais poder que usuários do Xen, especialmente em se tratando de **afinidade de processador** (*CPU pinning*). Por *CPU pinning*, o KVM atribui um processador físico (ou um núcleo de processador) a um processador virtualizado, de modo que somente esse sistema virtual possa utilizá-lo. Aplicações pesadas (*CPU heavy*) tendem a lucrar mais com esse esquema.

### Desempenho de rede

Em se tratando de desempenho de rede, o Xen sai na frente. Embora ambos os hipervisores disponham de interfaces de rede paravirtualizadas, no KVM cada sistema virtualizado ganha um dispositivo de rede próprio. Já no Xen todos os sistemas convidados compartilham uma única interface de rede virtual, o que garante uma maior eficiência.

### Conclusão

Não há como a nossa comparação KVM vs. Xen apontar um vencedor. Cada hipervisor é mais adequado a um tipo de necessidade. Por ser o líder do mercado e pelo fato de ele estar integrado ao kernel do Linux — o que possibilita uma virtualização completa — podemos afirmar que o KVM é bem mais fácil de se usar. O Xen, por outro lado, promete um melhor desempenho devido a uma paravirtualização completa. Sua escolha deve se basear, portanto, na aplicação que você deseja virtualizar e no seu nível de experiência em tecnologias de virtualização.

Dica Está à procura de uma alternativa de hipervisor que consiga migrar a sua infraestrutura de TI para uma nuvem? Conheça o [Cloud Migration](https://cloud.ionos.com/hypervisor-alternative "Cloud Migration — IONOS") da IONOS e beneficie-se da melhor relação de preço-desempenho do mercado, e dos mais altos níveis de segurança.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/xen-vs-kvm/](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/xen-vs-kvm/) for AI/LLM consumption.