Archive for April 27th, 2007

Virtualização, para quem ainda não sabe, nada mais é do que criar um computador novo dentro do seu computador atual. É como se ele pudesse emular uma máquina inteira: a BIOS, o processador, a memória RAM, o HD… A maior vantagem disso é a possibilidade de instalar vários Sistemas Operacionais no mesmo hardware, sem ter que se preocupar com dual-boot e coisas do tipo.

Como de praxe, temos várias alternativas para se fazer a tal virtualização, entre soluções comerciais e opensources. Porém, fora a virtualização “normal”, temos as sub-divisões chamadas de “para-virtualização” e agora recentemente os chamados de “virtualização completa” que tem uma ajudinha do processador da máquina.

A principal diferença entre eles é que na virtualização convencional, o SO convidado não sabe que está sendo emulado, portanto, o SO principal tem que se virar para fazer o outro não perceber isso. Isso gera um bocado de overhead, e uma lentidão perceptível na emulação como um todo.

Na virtualização completa, ocorre a mesma coisa que na convencional mas com um adendo: Os processadores recentes da Intel (Vanderpoo) ou os da AMD (Pacifica) conseguem auxiliar o SO principal nessa tarefa, gerando menos overhead do que na virtualização convencional. Infelizmente, essas flags do processador só funcionam se o conjunto inteiro do hardware suportar isso, ou seja, processador recente, chipset e BIOS provendo esse suporte.

Agora a para-virtualização ocorre algo bem bacana: O SO convidado sabe que está sendo virtualizado e tira o máximo de proveito disso tendo uma performance bem próxima da mesma em uma máquina “de verdade”. O único problema é que o SO convidado realmente precisa ser modificado para rodar dessa forma, portanto sistemas de código fechado não poderão usufruir desta vantagem, a não ser que sua produtora libere “ports” com essas modificações, provavelmente sob algum custo.

Seja lá qual for sua forma preferida de virtualização, segue alguns programas que podem ser utilizados:

- Comerciais:
VmWare ou o VirtualPC (escrito originalmente pela Connectix, posteriormente comprado pela Microsoft)

- OpenSources:
Convencionais: Qemu ou o Kvm (Kernel-based Virtual Machine);
Para-virtualizadores: Xen;
Full virtualization: Xen, kvm ou o qemu com o módulo kqemu;

Se você quiser aprender um pouco mais sobre o Xen, visite este post anterior que mostra como instalar e configurar o mesmo no Ubuntu Feisty

E, por fim, para saber mais consulte este ótimo artigo da Wikipedia.

Ufa… cansei de escrever… mas depois eu posto uns screenshoots de algumas dessas tecnologias em funcionamento! ;)

Estudantes do Laboratório Mitsubishi em Cambridge desenvolveram uma forma mais interativa de jogar no PC, usando uma tecnologia chamada touchscreen. Nela você interage com a imagem utilizando suas mãos.
Neste video, você vai ter uma noção dos rumos que a próxima geração de games vem tomando, adicionando a isto, um pouco do estilo “Minority Report”. Confira!