Sítio do Piropo

B. Piropo

< Coluna em Fórum PCs >
Volte
16/11/2009

< Virtualização e o Modo XP >


Terminei a coluna anterior prometendo abordar “quem sabe um dia” meia dúzia de tópicos ainda sobre Windows 7. Disse isso porque, para reduzir o risco de escrever bobagens quando se aborda determinados assuntos é preciso algum tempo para digeri-los.

O problema é que resolvi começar “assuntando” justamente o tal do “Modo XP”. E achei a coisa tão interessante e tão bem implementada que acabei me interessando a ponto de decidir abordar o assunto imediatamente. Começando por esta coluna.

Em informática, “virtualização” é uma tecnologia que permite emular, através de um programa ou software, o funcionamento de uma circuitaria, ou hardware. Através dela é possível simular a existência de “um computador dentro de um computador” e fazer ambas as máquinas funcionarem independentemente, cada uma com seu sistema operacional e rodando seus próprios programas (senhores especialistas: por favor, sejam complacentes e lembrem que esta é uma explicação simplificada fornecida em uma coluna lida também por leigos para os quais isso é praticamente tudo o que necessitam saber sobre as intrincadas proezas tecnológicas necessárias para implementar um sistema com suporte a virtualização).

Evidentemente a virtualização é um poderoso instrumento tecnológico. Quem não acredita faça como eu, que quando tenho dúvidas sobre ela esclareço-as diretamente com Mestre Xandó que, no que toca a este (e outros tantos assuntos igualmente complexos) é “o cara”. Ele sabe tudo sobre o tema e explicará alguns detalhes interessantes como por exemplo o fato de, apesar de se tratar de uma mandinga tecnológica desenvolvida principalmente no campo do software (como quase tudo que é adjetivado como “virtual”), a virtualização depende decisivamente de suporte do hardware (o que justifica o fato de que, mesmo que você esteja rodando um sistema operacional sobre o qual possa ser criada uma “máquina virtual”, ela somente poderá ser de fato criada se o micro “real” no qual se está trabalhando use um processador que a suporte, como veremos adiante).

Usando virtualização pode-se fazer coisas inacreditáveis, particularmente no segmento corporativo. Pode-se, por exemplo, instalar em uma única – e muito poderosa – máquina real (ou seja, “de verdade”), diversos servidores também poderosos porém virtuais (ou seja, “de mentira”), emulados por software rodando simultaneamente e, para gáudio, delícia, alívio e encantamento dos administradores de sistema, praticar façanhas tidas até recentemente como impossíveis, como por exemplo trocar o servidor de um sistema sem tirar o indigitado sistema do ar por um só momento. Há quem considere isso um milagre, há quem chame de mágica e há quem saiba que se trata apenas de uma das muitas proezas possíveis quando se apela para a virtualização.

Mas, além do inegável valor tecnológico, a virtualização tem um valor mercadológico não menos significativo. E, para surpresa de alguns, sua primeira e mais importante manifestação neste campo ocorreu há mais de vinte anos...

A historinha mereceria uma coluna só para ela, mas isso iria nos desviar tanto do rumo que vou procurar resumi-la em um ou dois parágrafos. Vamos lá: o primeiro computador da linha PC foi lançado em agosto de 1981 usando um processador i8088, o Ford de Bigode das UCPs, que só “sabia” rodar um programa de cada vez sobre o sistema operacional DOS. Um par de anos depois a IBM lançou o AT, baseado no i80286 que, usando o sistema operacional adequado (no caso, a primeira versão do OS/2) seria capaz de executar multitarefa, ou seja, rodar mais de um programa simultaneamente e que, como esperavam Intel e IBM, estava destinado a ser um sucesso. Não foi. Pelo contrário: o AT até que vendeu relativamente bem, mas em vez de usá-lo para rodar diversos programas OS/2 ao mesmo tempo como queriam IBM e Intel, o mercado decidiu usá-lo para rodar mais depressa, porém um de cada vez, os mesmos programas DOS com que ele, mercado, estava acostumado e não demonstrava a menor vontade de abandonar.

Solução? Lançar o i80386 (que acabou conhecido apenas como “3-8-6”, ou “três – oito – meia”) que, além de rodar programas DOS, um de cada vez, e programas OS/2, diversos ao mesmo tempo, como fazia o AT, era ainda capaz de fazer o que o mercado queria (e, como as empresas costumam aprender, por vezes a duras penas, não adianta brigar com o mercado): rodar diversos programas DOS ao mesmo tempo.

Figura 1: Intel i386

E como isto foi possível? Ora, através da virtualização. Bastou dotar o 386 de um incipiente suporte à virtualização sob a forma de um novo “modo de operação” denominado “8086 Virtual” no qual diferentes trechos de memória de 1 MB cada (tudo o que o DOS precisava) eram postos de lado, “protegidos” uns dos outros (ou seja, o que estivesse rodando em um deles não poderia acessar o que estivesse armazenado em outro) e carregar em cada um deles uma cópia independente do DOS e, sobre ela, o programa que se desejava rodar. Desta forma criavam-se simultaneamente tantas “máquinas virtuais DOS” quantas se desejasse (até um limite teórico máximo de 255, desde que a quantidade de memória RAM instalada o permitisse), cada uma rodando um programa DOS. E foi assim que se conseguiu o que parecia tecnicamente impossível: multitarefa com programas DOS, o que permitiu atravessar a crítica fase em que o mercado foi pouco a pouco se livrando dos programas DOS e o mundo das interfaces gráficas se estabeleceu. Pouca gente na época percebeu, mas aquilo era virtualização da mais pura cepa. E funcionou (tá bão, não foram dois, foram três parágrafos, mas bem que a historinha valeu a pena...)

Agora a virtualização está assomando novamente. Desta vez com o nome de “Modo XP”.

Quer dizer, não é bem assim. Ultimamente – mais especificamente nos últimos três anos – a virtualização tem sido muito falada, principalmente nos meios corporativos. Não há evento da Intel em que não se assista pelo menos uma demonstração de coisas que se pode fazer com ela que, francamente, se eu mesmo não visse mal acreditaria. E não é só nas corporações: os programetos “Virtual PC” da MS e os excelentes produtos da VMWare estão por aí já há alguns anos permitindo virtualização de máquinas na maioria dos micros que repousam sobre nossas mesas de trabalho (ou de jogo, ou de bate-papo, ou de seja lá o que for que você faça com a sua máquina). Portanto, virtualização já anda por aí há um bom tempo e não é propriamente uma novidade espantosa.

Mas o “Modo XP” é. E não por questões de tecnologia mas, novamente, por questões de mercado. Senão vejamos (notando que o que vem a seguir é meramente minha interpretação dos fatos e do mercado e não um ponto de vista oficial da MS sobre a inclusão deste recurso em algumas versões do Windows 7).

Segundo < http://www.w3schools.com/browsers/browsers_os.asp > a seção de estatísticas do W3Schools, sítio da Internet ao qual costumo recorrer em busca de dados sobre uso de sistemas operacionais, em outubro de 2009 o Windows 7 detinha cerca de 4,5% do mercado de sistemas operacionais para computadores pessoais, o Vista um pouco menos de 19% e o XP ligeiramente mais de 63%. O que indica sem sombra de dúvida que o Windows Vista não foi um retumbante sucesso comercial.

A mim não cabe discutir as razões desse fenômeno (mesmo porque não tenho explicação para ele, eu mesmo até que achei o Vista bem simpático e me habituei a ele sem problemas), mas à Microsoft cabe. Uma empresa como ela não pode se dar ao luxo de lançar duas versões seguidas de sistema operacional que redundem em fracasso e precisa tomar todas as providências que estão a seu alcance para que isso não ocorra (e, incidentalmente, parece que desta vez ela tomou as providências corretas, como os próprios números acima parecem indicar: o Windows 7 tem tido uma excelente aceitação por parte dos usuários).

Ora, uma das presumíveis razões que podem levar um sistema operacional a fracassar é a incompatibilidade com os programas que o mercado se acostumou a usar. E a MS sabe muito bem disso. Tanto assim que dotou o Windows 7 de todos os recursos possíveis para garantir esta compatibilidade. Pra não me deixar mentir, não é por acaso que a segunda entrada – aquela que vem logo abaixo de “Abrir”, que necessariamente deve ser a primeira por ser a adotada por padrão – do menu de contexto de qualquer programa é justamente “Solucionar problemas de compatibilidade”, o que mostra a importância que a MS dá a este quesito.

Mas a MS deu ainda um passo adiante. Achou que “solucionar problemas de incompatibilidade” poderia não ser suficiente. O ideal mesmo é garantir, sem quaisquer sombras de dúvida, que estes problemas simplesmente jamais venham a se manifestar. Ou seja: “matar” a causa de queixas antes que ela venha a nascer garantindo que o sistema seja compatível “com tudo”.

Mas com o que é desejável que Windows 7 seja compatível?

Com Windows Vista não há razões para preocupações. Como as principais diferenças entre ele e Windows 7 residem na interface com o usuário e nos quesitos relativos a usabilidade, programas que rodam no Vista rodarão sem problemas no Windows 7 (e, tanto quanto eu saiba, não há exceção: jamais ouvi falar de algo que rode no Vista e crie problemas no Sete).

O restante do mercado está dividido entre sistemas “não Windows” (com 11% do mercado), Windows 2003 e 2000 (que, somados, dão conta de pouco mais de 2%) e XP. Portanto, ao implementar algo que garanta compatibilidade absoluta com o Windows XP, a MS garante compatibilidade com praticamente cem porcento dos programas que rodam em máquinas cujo sistema operacional seja Windows. Logo, o problema de compatibilidade pode ser considerado inteiramente resolvido caso a MS consiga garantir compatibilidade absoluta com Windows XP (repare na ênfase dada ao substantivo “absoluta”).

Mas, considerando-se todas as possíveis causas de incompatibilidade, todas a firulas, todos os detalhes, todos os drivers e rotinas, todas as questões de segurança, tudo, enfim, que de um jeito ou de outro possa resultar em uma eventual incompatibilidade, por pequena que seja, só há uma forma de garantir compatibilidade absoluta.

E você sabe qual é, pois não?

Isso. A única forma de garantir que um programa não apresentará qualquer sinal de incompatibilidade com um determinado sistema operacional é fazê-lo rodar no próprio sistema operacional onde ele já foi testado e se mostrou absolutamente compatível. Outra, garantida como essa, não existe.

Mas como fazer isso se estamos falando justamente de um novo sistema operacional?

Se você leu o início da coluna, provavelmente já sabe: rodando o programa “rebelde” dentro do próprio XP virtualizado no interior do Windows 7.

Então, segundo me foi dado perceber (e, repito, esta é apenas uma opinião pessoal baseada nas minhas observações), aí está a razão de a MS implementar o “Modo XP” para Windows 7, um meio de criar no ambiente de trabalho uma máquina virtual com uma cópia instalada de Windows XP Professional com SP3 para nela poder instalar e rodar qualquer programa.

Então vamos por partes. Primeiro, veremos exatamente do que se trata. Depois, quem pode recorrer a ele. E, finalmente, discutiremos como instalá-lo e usá-lo. Tudo a seu tempo.

O Modo XP de Windows 7 permite que você instale um ambiente Windows XP em uma máquina virtual rodando na própria Área de Trabalho de Windows 7. Nesta máquina virtual será instalada uma cópia do Windows XP Professional com Service Pack 3 (sem a necessidade de pagar o custo da licença correspondente) e podem ser instalados quantos programas Windows se desejar. A “máquina virtual” terá acesso a todos os dispositivos conectados com a máquina “real” (inclusive os ligados às portas USB) e se integrará de tal forma ao ambiente do Windows 7 que os programas nela instalados aparecerão na lista “Todos o programas” do menu Iniciar de Windows 7 e poderão ser invocados dali mesmo, com um único clique. Em resumo: o Modo XP foi a forma que a MS encontrou de assegurar compatibilidade absoluta entre Windows 7 e os programas concebidos para o XP.

Mas quem pode dispor deste luxo?

Qualquer usuário que disponha de uma cópia instalada de Windows 7 nos sabores Professional, Ultimate ou Enterprise, pode se candidatar a instalar uma cópia do “Modo XP”.

Mas isso não basta. Para efetivamente instalar, é preciso se certificar que o a máquina onde ele será instalado oferece suporte à virtualização. A maioria das máquinas modernas oferece, uma vez que há pelo menos três anos tanto os microprocessadores da Intel quanto os da AMD incorporam suas próprias tecnologias de suporte à virtualização (AMD-V e Intel VT, respectivamente). Mas, se você não tem certeza, há uma forma simples de verificar: baixando e rodando uma ferramenta denominada Havdetectiontool.Exe (Hardware Assisted Virtualization Detection Tool) oferecida gratuitamente pela MS.

Clique e amplie...

Figura 2: Baixando a ferramenta

Você poderia fazer isso mais tarde, mas se está lendo esta coluna exclusivamente porque pretende instalar o Modo XP em sua máquina e quiser dirimir a dúvida imediatamente, vamos nessa: visite a página < http://www.microsoft.com/windows/virtual-pc/download.aspx > “Download Windows XP Mode” do sítio da MS e clique no atalho correspondente à palavra “tools” (assinalada pela seta na Figura 2). Escolha Salvar ou Executar, a seu critério, e rode a ferramenta. Ela irá fazer uma varredura nas entranhas de sua máquina, investigar o hardware, detectar se ela dispõe de uma UCP com a tecnologia de virtualização por hardware habilitada e informar através de uma janela de aviso se será capaz de suportar o Modo XP.

Feito? Seu sistema operacional é Windows 7 Ultimate, Professional ou Enterprise? Rodou a ferramenta e ela informou que o hardware está nos conformes? Você dispõe de 15 GB de disco rígido disponíveis (por máquina virtual instalada – mas presumivelmente você instalará apenas uma...)? Tem pelo menos 2 GB de memória RAM? Então bola para frente: você está em condições de baixar e instalar todo o software necessário.

Prepare-se para um “passo-a-passo” na próxima coluna.

 

B. Piropo