Blog do Palma
Welcome to TechNet Blogs Sign in | Join | Help

Blog do Palma


( Luciano Palma )

Microsoft Brasil

News

Paravirtualização, Emulação, Bare-metal…

Há alguns dias recebi 2 perguntas pelo blog e espero respondê-las com este post. A13x e Studytech, desculpem pela demora ;)

Termos e mais termos…

No mundo da virtualização, não faltam termos técnicos: Virtualização Tipo 1, Bare Metal, ou Nativa, Paravirtualização, Dispositivos Sintéticos, Enlightments, Emulação, Virtualização “Full”, Hypervisor, Hardware-Assisted Virtualization, Binary Translation… e se procurar mais, você acha! :)

Uma coisa por vez: Hypervisor

Essa veio do Wikipedia mesmo: Um Hypervisor (ou Monitor de Máquinas Virtuais) é uma plataforma de software que permite executar múltiplos sistemas operacionais simultaneamente em uma máquina física (host). Pasme: existe desde 1960!

Tipo 1 x Tipo 2

Hypervisor Tipo 1, também chamado de nativo ou bare metal, é um software [de virtualização] que conversa diretamente com o hardware. As máquinas virtuais (guests) rodam diretamente sobre ele. O Hyper-V é um hypervisor de Tipo 1.

Já no hypervisor Tipo 2 (ou hosted), o software responsável pela virtualização roda sobre um sistema operacional normal. A máquina virtual (guest) roda sobre estas 2 camadas de software. Claro que existe uma penalização no desempenho. O Virtual Server é um hypervisor de Tipo 2.

Paravirtualização x Virtualização “Full”

Na virtualização “Full”, o hypervisor emula todo o hardware para as máquinas virtuais. O sistema operacional da máquina virtual nem percebe que está rodando em um ambiente virtualizado, e tudo o que ele precisa são os device drivers para os dispositivos que o hypervisor emula (normalmente o hypervisor emula dispositivos reais e populares, para garantir a disponibilidade de drivers). Para realizar isso, o hypervisor usa uma técnica chamada “binary translation” para executar instruções de modo kernel (ring 0) da máquina virtual, substituindo estas instruções críticas por uma seqüência de instruções que simulam o comportamento esperado no hardware virtualizado.
A grande vantagem da virtualização “Full” é a compatibilidade com qualquer sistema operacional que rode no hardware emulado (sem a necessidade de alterações).

Já com paravirtualização, o hypervisor interage de uma forma mais eficiente com o sistema que roda na máquina virtual, mas isso tem um custo: o sistema operacional precisa ser modificado para ser compatível com a paravirtualização. Caso contrário, a emulação tem que entrar em cena, penalizando a performance.

Paravirtualização não é uma coisa absoluta! Um hypervisor pode fazer uso de paravirtualização para interagir com um sistema operacional ou simplesmente com um device driver rodando numa máquina virtual. No Hyper-V, os device drivers que têm conhecimento da sua paravirtualização são chamados “enlightened” e implementam os dispositivos sintéticos (componentes conceituais que nem sempre possuem um equivalente real no mercado). Estes device drivers são instalados através dos “Integraion Components” do Hyper-V.

Hardware Assisted Virtualization

Os fabricantes de processadores desenvolveram tecnologias para “facilitar” o trabalho do hypervisor, visando dispensar a necessidade de binary translation ou de paravirtualização. Claro que os ganhos se traduzem em performance! A Intel desenvolveu o Intel-VT e a AMD, o AMD-V.

Para rodar o Hyper-V, seu processador precisa implementar uma dessas tecnologias.

Posted: Wednesday, October 01, 2008 3:15 AM by lucianopalma

Comments

Fausto said:

Perfeito! Era tudo que eu precisava para melhor compreender as informações divergentes da Internet.

# August 19, 2009 12:29 PM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Page view tracker