Classificações da Virtualização quanto à Técnica
A Virtualização pode ser classificada quanto à Técnica em três formas: Virtualização Completa,. Paravirtualização e Recompilação Dinâmica. Vamos apresentá-las abaixo:
Virtualização Completa
Como o nome sugere, o hardware hospedeiro é completamente abstraído e todas as características de um equipamento virtual são emulados, ou seja, todas as instruções solicitadas pelo sistema convidado são interpretados no Monitor de Máquina Virtual. O sistema hospedado ignora a existência da máquina virtual e opera como se funcionasse diretamente sobre o sistema operacional para o qual foi projetado para funcionar.
Paravirtualização
Nessa técnica, a máquina virtual não é idêntica ao equipamento físico original, para que o sistema hospedado possa enviar as instruções mais simples diretamente para o hardware, restando apenas as instruções de nível mais alto para serem interpretadas pelo MMV. Entretanto, esse procedimento requer que o sistema operacional convidado seja modificado para interagir com o MMV e selecionar quais instruções devem ser interpretadas nele ou diretamente no hardware hospedeiro.
Recompilação Dinâmica
Na recompilação dinâmica, as instruções são traduzidas durante a execução do programa da seguinte forma: as instruções do programa são identificadas em forma de sequência de bits. Em seguida, as sequências são agrupadas em instruções mais próximas do sistema operacional hospedeiro. Por último, essas instruções são reagrupadas em um código de mais alto nível, que, por sua vez, é compilado na linguagem nativa do sistema hospedeiro.
Vantagens e Desvantagens de cada técnica
A virtualização completa é mais flexível em termos de SO convidados, uma vez que este não precisa ser modificado para implementação dessa técnica. Todas as instruções são interpretadas pelo monitor de máquina virtual. Em compensação, essa interpretação de cada instrução provoca perda de desempenho de processamento, uma vez que o monitor de máquina virtual se utiliza de dispositivos de virtualização que atendem a uma gama de aplicativos e, por isso, possuem uma baixa especialização. Assim, não é possível ter o máximo desempenho desse aplicativo.
A paravirtualzação é menos flexível, pois carece de modificações no sistema operacional convidado, para que este possa trabalhar perfeitamente nas condições descritas em 3.2.2. Porém, o fato de o sistema operacional convidado saber que opera sobre uma máquina virtual e, com isso, mandar as instruções mais simples diretamente para o hardware diminui a sobrecarga no MMV e permite uma maior especialização dos dispositivos de virtualização. Dessa forma os aplicativos operam mais próximos de sua capacidade máxima, melhorando seu desempenho em comparação à virtualização completa. Além disso, na paravirtualização, a complexidade das máquinas virtuais a serem desenvolvidas diminui consideravelmente.
A recompilação dinâmica tem como principal vantagem a melhor adequação do código gerado ao ambiente de virtualização, que, com a compilação durante a execução, pode refletir melhor o ambiente original do aplicativo. Isso acontece porque durante a execução, há novas informações disponíveis, às quais um compilador estático não teria acesso. Dessa forma o código gerado se torna mais eficiente. Em contrapartida, essa técnica exige maior capacidade de processamento, visto que a recompilação acontece em tempo real de execução do programa.
0 comentários:
Postar um comentário