Como Funciona a Tecnologia de Virtualização da Intel
Por Gabriel Torres e Cássio Lima em 22 de dezembro de 2005
Introdução
A Intel lançou recentemente dois processadores Pentium 4 – 672 e 662 – com suporte à sua tecnologia de virtualização (VT). Originalmente conhecida como Vanderpool, esta tecnologia permite que um processador funcione como se fosse vários processadores trabalhando em paralelo de modo a permitir que vários sistemas operacionais sejam executados ao mesmo tempo em uma mesma máquina. Neste tutorial explicaremos tudo o que você precisa saber sobre esta nova tecnologia.
A tecnologia de virtualização não é uma idéia nova. Existem alguns programas no mercado que permitem virtualização e muito provavelmente o VMware é o mais famoso deles. Com esta técnica, um único processador pode funcionar como se fosse vários processadores trabalhando em paralelo, permitindo ao micro rodar vários sistemas operacionais ao mesmo tempo.
Você pode confundir virtualização com multitarefa ou com HyperThreading. Na multitarefa, existe um único sistema operacional e vários programas trabalhando em paralelo. Já na virtualização você pode ter vários sistemas operacionais trabalhando em paralelo, cada um com vários programas em execução. Cada sistema operacional roda em um “processador virtual” ou “máquina virtual”. Já a tecnologia HyperThreading simula dois processadores lógicos em um único processador físico e distribui as tarefas entre eles usando o conceito SMP (multiprocessamento simétrico). Na tecnologia HyperThreading os processadores lógicos não podem ser usados separadamente.
Figura 1: Multitarefa.
Figura 2: HyperThreading.
clique para ampliar
Figura 3: Virtualização.Claro que se um processador tem suporte a ambas tecnologias, HyperThreading e Virtualização, cada processador virtual aparecerá para o sistema operacional como se fossem dois processadores disponíveis no micro para multiprocessamento simétrico.
Se você prestar atenção, a tecnologia de Virtualização usa a mesma idéia do modo Virtual 8086 (V86), que está disponível desde os processadores 386. Com o modo V86 você pode criar várias máquinas virtuais 8086 para rodar programas baseados no DOS em paralelo. Com a tecnologia VT você pode criar várias máquinas virtuais “completas” para rodar sistemas operacionais em paralelo.
Mas se existem programas como o VMware que habilitam a virtualização, porque implementar esta tecnologia dentro do processador? A vantagem é que o processador com tecnologia de virtualização possui algumas novas instruções para controlar a virtualização. Com essas instruções, o controle do software (chamado VMM, Virtual Machine Monitor) pode ser mais simples, o que resulta em um maior desempenho se comparado a soluções baseadas apenas em software.
Funcionamento
Processadores com tecnologia de virtualização possuem um conjunto de instruções extra chamado Virtual Machine Extensions (Extensões de Máquina Virtual) ou VMX. O VMX traz 10 novas instruções específicas de virtualização para o processador: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUCH, VMRESUME, VMXOFF e VMXON.
Existem dois modos de execução dentro da virtualização: root e não-root. Normalmente apenas o software de controle da virtualização, chamado Virtual Machine Monitor (VMM), roda no modo root, enquanto que os sistemas operacionais trabalhando no topo das máquinas virtuais rodam no modo não-root. Programas sendo executados no topo das máquinas virtuais são também chamados “programas convidados”.
Para entrar no modo de virtualização, o programa deve executar a instrução VMXON e então chamar o software VMM. Feito isso, o software VMM pode entrar em cada máquina virtual usando a instrução VMLAUNCH, e sair delas usando a instrução VMRESUME. Se a VMM quiser parar todas as máquinas virtuais e sair do modo de virtualização, ela executa a instrução VMXOFF.
clique para ampliar
Figura 4: Operação da tecnologia de virtualização.Cada convidado mostrado na Figura 4 pode ser um sistema operacional diferente, rodando o seu próprio software (ou até mesmo vários programas ao mesmo tempo como mostramos na Figura 3).
Conclusões
Texto extraído do datasheet da Intel: “A tecnologia de Virtualização da Intel necessita de um computador com um processador, chipset, BIOS, Virtual Machine Monitor (VMM) e em alguns casos, software de plataforma habilitado para ela. Funcionalidades, desempenho e outros benefícios variarão dependendo das configurações de hardware e software. BIOS e aplicativos VMM baseados na tecnologia de virtualização da Intel estão atualmente em desenvolvimento.”
Até o momento já foram lançados dois programas suportando a tecnologia de virtualização da Intel, o VMware Workstation 5 (que custa entre US$ 189,00 e US$ 199,00) e o VMware Player (que é gratuito mas você precisa ter imagens de máquinas virtuais criadas com o Workstation ou com outro programa; em http://www.vmware.com/vmtn/vm você pode encontrar muitas máquinas virtuais pré-construídas para diferentes sistemas operacionais).
Não está claro para nós se a Intel lançará algum software VMM por conta própria ou se ela apenas aguardará por outros fabricantes para modificar seus softwares de virtualização para suportar a tecnologia VT.
Quanto ao BIOS, a solução é esperar por fabricantes de placas-mãe lançarem BIOS com suporte à tecnologia VT (ou pelo menos certificar que o BIOS atual da placa-mãe trabalhar bem com VT).
A tecnologia VT promete ter desempenho melhor do que soluções baseadas exclusivamente em software, mas temos que esperar um pouco para verificarmos se isto é realmente verdade ou apenas propaganda da Intel.
Originalmente em http://www.clubedohardware.com.br/artigos/1144
© 1996-2008, Clube do Hardware. Todos os direitos reservados.
É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 9.610 de 19/02/1998.
Não nos responsabilizamos por danos materiais e/ou morais de qualquer espécie promovidos pelo uso das informações contidas no Clube do Hardware.