Você ficaria surpreso com a flexibilidade dos computadores. Não apenas podemos executar vários sistemas operacionais diferentes, ou até mais de um sistema operacional lado a lado, mas você também pode executar um sistema operacional dentro de outro. Como, você pergunta? Através de nada mais do que o processo mágico de virtualização.
A virtualização não é novidade para a computação, mas você ficaria surpreso ao ver com que frequência ela é usada. Hoje, explicaremos a você, em termos simples, o que é virtualização, como funciona e quando é usada.
O que é virtualização?
Imagine que você está com um grupo de pessoas em um escritório e todos precisam de um computador. No entanto, tudo o que está disponível é um servidor único e muito poderoso. O que fazes, então? A lógica determina que revezar no grande servidor é uma má ideia – ele tem muito mais recursos do que qualquer um de vocês precisa e você passará muito tempo lá. Em vez disso, o curso de ação lógico é dividir esses recursos uniformemente e permitir que todos usem a máquina simultaneamente usando a virtualização.
Em termos leigos, a virtualização é o ato de criar um ambiente de computação virtual simulado no mesmo nível de abstração de um físico, permitindo que você use os recursos de uma máquina física em um ambiente simulado. Em termos simplificados, é basicamente como ter um computador virtual dentro de um computador real e ambos fazerem as mesmas coisas.
O conceito de virtualização remonta ao final dos anos 1960 ou início dos anos 1970, e foi pensado como uma solução para o problema que apresentamos no início desta seção. Numa época em que dar a todos em uma empresa seu próprio PC era praticamente impensável, a IBM estava pensando em maneiras de compartilhar os recursos dos sistemas mainframe entre várias pessoas, e a virtualização era uma boa abordagem para isso, com um dos primeiros usos bem-sucedidos de virtualização sendo o IBM CP/CMS, lançado pela primeira vez em 1968.
Desde então, a virtualização tomou outras formas e está por trás de muitas coisas que fazemos em nossos computadores hoje em dia, mesmo além das óbvias.
Como funciona a virtualização?
A maioria das implementações de virtualização é bastante direta. O software de virtualização usa um hipervisor para ajudar a executar as coisas dentro da máquina virtualizada. Se você não estiver familiarizado com a palavra hypervisor, é basicamente um software que aloca recursos de uma máquina host, como uma determinada quantidade de núcleos, memória do sistema ou armazenamento, e usa isso para executar um computador simulado em cima, o que muitas vezes são executados como qualquer outro processo dentro de um PC.
Muitas vezes, os PCs vêm com algo chamado “virtualização assistida por hardware”. Por exemplo, em computadores Intel, você o encontrará como Intel VT-x, ou “Tecnologia de virtualização”, enquanto em sistemas AMD, você encontrará “AMD-V” ou “Virtualização AMD”. Ambos permitem que o software de virtualização seja executado com mais rapidez e precisão.
Usando a virtualização, os usuários podem executar uma instância separada do sistema operacional que já estão executando ou executar um sistema operacional totalmente diferente daquele que estão usando, desde que seja compatível com o hardware que você já está usando. Esta última parte é importante para a definição da própria virtualização, como você verá.
Para que serve a virtualização?
O uso mais comum da virtualização é em máquinas virtuais. Usando softwares como VMware ou Virtualbox, os usuários podem criar instâncias virtuais de computadores simulados dentro de seus PCs e executá-los como instâncias fechadas, permitindo que eles criem outra instância do sistema operacional que estão executando ou acionem uma totalmente diferente.
É uma ótima maneira de usar outros sistemas operacionais sem precisar usar outro computador ou trocar de sistema operacional, e se você jogar suas cartas corretamente e alocar recursos suficientes para a máquina virtual, provavelmente nem notará muita diferença em comparação com um máquina nativa.
No entanto, recentemente, surgiram casos de uso mais interessantes para virtualização, especialmente se você estiver no Windows.
Por um lado, se você estiver no Windows 11, provavelmente já ouviu falar ou até usou um “subsistema”. Especificamente, o Windows Subsystem for Linux (WSL) e o Windows Subsystem for Android (WSA).
Seu PC não deixa isso imediatamente claro, mas em vez de o Windows agrupar suporte nativo para aplicativos Linux e Android, esses serviços são executados em um subsistema virtualizado de poucos recursos (daí o nome do subsistema). A primeira versão do WSL usava uma camada de compatibilidade normal, mas para WSL 2 e WSA, uma máquina virtual leve executa programas Linux e Android dentro dela e permite que você interaja com eles por meio de uma linha de comando ou de uma interface de usuário real.
Não é a primeira vez que o Windows adota essa abordagem. Nos dias do Windows 7, o “Modo de Compatibilidade” do Windows XP basicamente apenas executava uma VM do Windows XP e permitia que você executasse qualquer software incompatível lá.
Qual é a diferença entre virtualização e emulação?
Virtualização e emulação parecem termos muito semelhantes – e, de fato, se você não estiver familiarizado com os detalhes de ambos, eles podem parecer a mesma coisa. Mas existem algumas diferenças fundamentais entre ambos.
A virtualização é um processo que só pode simular sistemas usando a mesma arquitetura e tecnologia subjacentes básicas da máquina host. Por exemplo, se você estiver executando uma máquina Windows x86, só poderá criar instâncias de outras máquinas desde que também sejam x86. Pode ser qualquer sistema que você quiser, seja Windows, Linux ou Android, mas precisa ser x86.
Por outro lado, a emulação pode simular um sistema com uma arquitetura subjacente totalmente diferente. Um bom exemplo disso são os emuladores de console. No caso de um emulador de GameCube/Wii, você está simulando um console baseado em PowerPC em um x86 ou talvez até em uma máquina ARM. A principal diferença é que emular instruções diferentes pode adicionar muita sobrecarga, resultando em perda de desempenho – um problema que você não terá com uma máquina virtualizada.
A virtualização é um divisor de águas
A virtualização é a tecnologia por trás das máquinas virtuais, mas, como aprendemos hoje, embora esse seja normalmente considerado seu principal uso, de longe não é o único. Não mencionamos nenhum uso comercial da virtualização, mas se os adicionarmos, é uma ferramenta bastante poderosa que permite tornar seu PC mais versátil.
É uma grande tecnologia que serviu como um divisor de águas para a computação.