Virtualização total e paravirtualização
A virtualização por meio de Virtual Machine Monitor é comumemente dividida em duas técnicas: avirtualização total (full virtualization) e a paravirtualização (paravirtualization).
Na virtualização total, o sistema operacional do hóspede trabalha como se de fato houvesse uma máquina física inteiramente à sua disposição. Desta forma, o sistema não precisa sofrer nenhuma adaptação e trabalha como se não houvesse virtualização ali. O problema é que esta abordagem pode ter algumas limitações consideráveis.
Uma delas é o risco de algumas solicitações do hóspede não serem atendidas da maneira esperada. Isso acontece, por exemplo, quando o hypervisor não consegue lidar com determinada instrução privilegiada ou quando um recurso de hardware não pode ser plenamente acessado por não haverdrivers (uma espécie de software que "ensina" o sistema operacional a lidar com um dispositivo) na virtualização capazes de garantir sua plena compatibilidade.
A paravirtualização surge como uma solução para problemas do tipo. Nela, o sistema operacional do hóspede roda em uma máquina virtual similar ao hardware físico, mas não equivalente.
Como este método, o hóspede é modificado para recorrer ao hypervisor quando necessitar de qualquer instrução privilegiada e não diretamente ao processador. Assim, o VMM não precisa interceptar estas solicitações e testá-las (tarefa que causa perda de desempenho), como acontece na virtualização total.
Além disso, a paravirtualização diminui expressivamente os problemas com compatibilidade de hardware porque o sistema operacional do hóspede acaba podendo utilizar drivers adequados - na virtualização total, os drives disponíveis são "genéricos", isto é, criados para suportar o máximo possível de dispositivos, mas sem considerar as particularidades de cada componente.
A principal desvantagem da paravirtualização é a necessidade de o sistema operacional ter que sofrer modificações para "saber" que está sendo virtualizado, podendo gerar custos com adaptação e atualização ou limitações referentes à migração para um novo conjunto de hardware, por exemplo.
Na virtualização total, vale relembrar, não há necessidade de alteração do sistema, mas o procedimento fica sujeita aos problemas mencionados no início deste tópico. Assim, a adoção de um modo ou outro depende de análises e testes que possam determinar qual é mais vantajoso para determinado serviço.
Virtualização Total (completa) - ocorre uma abstração completa do sistema físico. Cria-se um sistema virtual completo, com drivers e dispositivos genéricos. Nessa técnica o sistema operacional desconhece que há uma camada intermediária (monitor VMM) entre ele e o hardware físico.
-Nessa técnica as instruções privilegiadas são interceptadas pela camada intermediária (monitor VMM).
-Esse processo de conversão de instruções compromete o desempenho também.
Paravirtualização – o sistema operacional é modificado para que use os drivers específicos do hardware físico, instalados no próprio sistema operacional virtualizado. Nessa técnica o sistema operacional conhece que há uma camada intermediária entre ele e o hardware físico.
-Os drivers utilizados são específicos para o hardware físico, favorecendo o desemprenho.
-Mas, o sistema operacional na técnica de paravirtualização precisa ser modificado, o que não ocorre na virtualização total.
Gab. C