A virtualização do sistema operacional (SO) é capaz de realizar coisas incríveis. Ao abstrair a camada de hardware, a virtualização faz com que um SO acredite que está sendo executado nativamente no hardware — quando, na verdade, está hospedado dentro de outro SO.
Isso abre um mundo de possibilidades. Por exemplo, com a virtualização, é possível rodar mais de um sistema operacional totalmente funcional em uma máquina – ou rodar um sistema operacional diferente do sistema operacional host, como rodar o Windows em um sistema Linux ou vice-versa.
Foi exatamente isso que a Microsoft fez com o Windows Subsystem for Linux (WSL), uma ferramenta de virtualização que permite executar o kernel do Linux, o sistema de arquivos e a interface gráfica do Linux em um PC com Windows 10 ou Windows 11.
Como funciona o Subsistema do Windows para Linux
O Subsistema do Windows para Linux (WSL) é um conjunto de componentes da Microsoft projetado para permitir que binários nativos do Linux no formato ELF64 (Executable and Linkable Format) de 64 bits sejam executados no sistema operacional (SO) Windows 10 ou Windows 11.
Trata-se de uma camada de abstração que permite aos usuários do Windows instalar e executar, de forma integrada, uma versão do Linux em seus sistemas Windows, sem a necessidade de uma configuração de inicialização dupla ou de executar uma máquina virtual.
Depois que o recurso “Subsistema do Windows para Linux” for ativado no Windows, o shell bash do Linux poderá ser utilizado para instalar, por exemplo, a imagem em modo de usuário do Ubuntu — que é executada sobre a camada do kernel do Windows, permitindo que os binários ELF64 funcionem no Windows.
O WSL inclui um serviço gerenciador de sessões em modo de usuário para gerenciar a instância do Linux, processos Pico minimizados para lidar com as chamadas de sistema do Linux e drivers Pico para emular o kernel do Linux. Em conjunto, essa estrutura permite que as chamadas de sistema do Linux sejam direcionadas ao kernel do Windows e por ele gerenciadas.
Após a instalação, os usuários podem executar arquivos do repositório de pacotes do Ubuntu, utilizar utilitários de linha de comando do Linux, como o grep, navegar pelo sistema de arquivos do Linux e executar scripts com utilitários de interface de linha de comando (CLI).
A quem se destina o Subsistema do Windows para Linux?
Em certa medida, os principais usuários do Subsistema do Windows para Linux são desenvolvedores de Linux que trabalham em um ambiente Windows. Por exemplo, desenvolvedores web que utilizam frequentemente o Linux e outras ferramentas de código aberto de fontes como o GitHub, mas têm acesso limitado a sistemas Linux completos para desenvolvimento e experimentação. Os casos de uso incluem:
- Desenvolvimento: O WSL permite que os desenvolvedores utilizem ferramentas e linguagens de programação familiares do Linux, como Ruby e Python, no Windows. No entanto, se seus projetos dependem de versões antigas dessas linguagens, é importante compreender as implicações de segurança do fim da vida útil (EOL) do Ruby para sua pilha de tecnologia. Você também pode executar ambientes de desenvolvimento baseados em Linux, como o Docker e o Kubernetes.
- Gerenciamento de servidores: Você pode usar o WSL para gerenciar servidores Linux. Isso é útil se você for um administrador de sistemas ou se precisar gerenciar um servidor Linux a partir de um computador com Windows. O WSL pode ajudá-lo a gerenciar servidores Linux sem precisar usar uma conexão de área de trabalho remota e a utilizar ferramentas e aplicativos Linux para gerenciar seus servidores.
- Educação: O aprendizado do Linux é outro excelente caso de uso do WSL, pois permite aprender sobre o Linux sem precisar instalar um sistema operacional Linux separado. Com o WSL, é possível acompanhar tutoriais e documentação sobre o Linux e configurar um ambiente de desenvolvimento para o Linux.
- Produtividade: Para algumas pessoas familiarizadas com ambientes Linux, uma instância do WSL pode ser usada para otimizar seus fluxos de trabalho, pois permite utilizar ferramentas e aplicativos Linux já conhecidos em seus computadores com Windows – economizando tempo e esforço.
Parte do que possibilita esses casos de uso é o fato de ser tão fácil instalar o Subsistema do Windows para Linux, mas a estreita integração com o sistema operacional Windows também contribui para isso.
WSL 1 x WSL 2
A Microsoft oferece duas versões distintas do Subsistema do Windows para Linux: o WSL 1 e o mais recente WSL 2. Ambos facilitam a integração entre o Windows e o Linux, são leves e apresentam tempos de inicialização rápidos. Além disso, tanto o WSL 1 quanto o WSL 2 são compatíveis com hipervisores de outras marcas, como o VMware e o Oracle VM VirtualBox.
Uma das principais diferenças entre o WSL 1 e o WSL 2 é que este último opera dentro de uma máquina virtual (VM) gerenciada. Como a VM é gerenciada, os profissionais de TI não precisam se preocupar com tarefas de configuração ou gerenciamento normalmente associadas a máquinas virtuais.
Outra diferença fundamental é que o WSL 2 utiliza um kernel Linux completo. Como esse kernel é desenvolvido pela Microsoft, ele é atualizado regularmente por meio do Windows Update.
A Microsoft geralmente recomenda o uso do WSL 2 devido ao seu desempenho superior em relação ao WSL 1 e à sua compatibilidade de 100% com chamadas de sistema. No entanto, você pode usar o WSL 1 se um projeto precisar ser armazenado no sistema de arquivos do Windows ou se for necessária uma compilação cruzada utilizando ferramentas tanto do Windows quanto do Linux.
Por que usar o WSL em vez do Linux em uma VM?
Embora as instâncias do Linux possam ser executadas no Windows dentro de uma VM, o WSL oferece duas vantagens. Em primeiro lugar, ele exige menos sobrecarga nos recursos de computação — processador, memória e armazenamento — em comparação com uma VM completa. Em segundo lugar, o WSL permite que os ambientes do Windows e do Linux sejam executados simultaneamente, possibilitando que os desenvolvedores utilizem aplicativos do Windows e utilitários do Linux nos mesmos arquivos, se necessário.
O WSL 2 tornou possível que os aplicativos GUI do Linux pareçam nativos e sejam intuitivos de usar no Windows. Os usuários podem iniciar aplicativos do Linux diretamente do menu Iniciar do Windows, fixá-los na barra de tarefas do Windows e alternar entre eles sem interrupções usando a combinação de teclas Alt+Tab. Além disso, agora é possível realizar as funções de cortar e colar entre aplicativos do Windows e do Linux.
Vantagens e limitações do WSL
Uma das principais vantagens de usar o WSL é a simplicidade com que permite executar aplicativos Linux em um PC com Windows, sem a necessidade de utilizar um aplicativo de virtualização separado. No entanto, ele também oferece outro benefício: a capacidade de suportar várias distribuições Linux, como Ubuntu, OpenSUSE, Kali, Arch Linux e Debian – simultaneamente.
Além disso, a Microsoft oferece suporte total ao WSL e garante que ele funcione sem problemas no Windows 10 (versão 2004 ou superior) e no Windows 11. Em outras palavras, se você tiver problemas ao usar o WSL, pode contar com a documentação e o suporte da Microsoft para ajudar a resolver o problema.
No entanto, o WSL apresenta algumas limitações, pois não é um ambiente Linux completo. Trata-se de uma camada de compatibilidade que permite executar binários do Linux no Windows. Isso significa que nem todos os recursos do Linux estão disponíveis no WSL. Por exemplo, o WSL não oferece suporte a alguns sistemas de arquivos do Linux, como o ext4. Além disso, o WSL não oferece suporte a todas as distribuições do Linux.
Além disso, o uso do WSL não é tão rápido quanto uma instalação nativa do Linux. Isso ocorre porque o WSL é uma camada de virtualização que precisa converter as chamadas de sistema do Linux em chamadas de sistema do Windows. Esse processo de conversão gera uma sobrecarga, o que pode reduzir o desempenho.
Um recurso essencial do Windows?
De modo geral, há diversos ambientes de desenvolvimento que se beneficiariam enormemente com o uso do WSL – além de muitos outros casos de uso. No entanto, também existem algumas limitações. O Subsistema do Windows para Linux funcionará para você? Bem, isso depende das suas necessidades específicas de uso. Se quiser experimentar o WSL, você pode seguir o conjunto simples de instruções da Microsoft aqui.

