Linux Kernel no Windows Top 10

Linux Kernel no Windows Top 10
Como funciona o novo subsistema do Windows para Linux (V2)?

A Microsoft anunciou recentemente que em breve estará enviando um kernel Linux integrado ao Windows 10. Isso permitirá que os desenvolvedores alavancem a plataforma Windows 10 ao desenvolver aplicativos para Linux. De fato, este é o próximo passo na evolução do subsistema Windows para Linux (WSL). Vamos revisar a versão 1 do WSL antes de entrar na intergação do kernel Linux e o que isso significa.

Se você quiser começar com WSL (v1) aqui está um guia para isso.

WSL versão1

O subsistema Windows para Linux deve realmente ser chamado de subsistema Linux para Windows. Oferece um driver (um subsistema) para o sistema operacional Windows, que traduz chamadas de sistema Linux em chamadas nativas do sistema Windows 10 que o kernel nt entende.

Isso cria uma ilusão um tanto crível para os binários Linux que eles estão, de fato, correndo em cima de um kernel Linux! Isso funciona bem o suficiente para que você não apenas possa executar binários simples de 64 bits compilados para Linux, mas também pode executar uma terra de usuário inteira (um.k.uma distribuição Linux como Debian ou Ubuntu) em cima do WSL V1. Então, quando você instala o Ubuntu na Microsoft Store, ele apenas busca os binários Ubuntu Userland que navios canônicos para o WSL V1 Enviroment da Microsoft.

No entanto, o WSL V1 ainda está longe de ser perfeito. Certa semântica que um sistema Linux esperaria são totalmente inaceitáveis ​​no Windows. Por exemplo, você não pode alterar o nome do arquivo de um arquivo aberto no Windows, mas pode fazer isso no Linux.

Outros exemplos óbvios incluem o mau desempenho do sistema de arquivos do WSL V1 e sua incapacidade de executar o Docker.

Wsl v2 o kernel Linux

Esta nova versão do WSL resolve todos esses problemas, incluindo o kernel Linux em execução no Hyper-V Hypervisor. Ao longo de seu anúncio e demos, Craig Loewen e seu colega da Microsoft enfatizaram o ponto em que, avançando, a Microsoft vai investir enormemente em tecnologia de virtualização.

O uso de um kernel Linux resolve todos os problemas semânticos que não podem ser resolvidos usando apenas uma camada de tradução de chamadas do sistema. Este kernel Linux será muito leve e será mantido pela Microsoft com todas as alterações no kernel Linux fez de código aberto. Na demonstração deles, eles mostraram como você pode migrar os aplicativos WSL V1 existentes para executar não modificado para um ambiente WSL V2. O desempenho do sistema de arquivos melhorou 3-4 vezes e todo o sistema parece muito mais responsivo.

Como funciona?

Então, basicamente, temos uma VM Linux com muitos aplicativos de terras de usuário, e.G, OpenSuse ou Debian ou Ubuntu Userland. Você recebe mais de uma distro na sua máquina Windows, com uma única VM Linux, então é legal. Mas isso também implica que toda vez que você abre seu terminal WSL Ubuntu, você está inicializando uma VM completa! Isso vai demorar um pouco, certo?

Na verdade não. O kernel Linux é realmente pequeno o suficiente e leve o suficiente para que a Microsoft tenha conseguido obter tempos de inicialização insanos com ele (~ 1segundo). Eles conseguiram isso removendo todo o código do carregador de inicialização e, como é uma VM, carregam diretamente o kernel Linux em seu espaço de endereço na memória e configuram alguns estados da VM que o kernel espera. Este é o mesmo mecanismo que alimenta outro novo recurso do Windows 10 que é o Windows Sandbox.

Ele tem uma pegada de memória muito pequena, carrega em um segundo e o formato de sistema de arquivos ext4 nativo permite oferecer uma experiência muito suave do usuário. A VM só funciona quando você precisar.

Além disso, não está completamente isolado como uma VM tradicional. Você pode interagir com facilidade com o restante do sistema Windows, incluindo arquivos em suas unidades do Windows usando o WSL V2. Não é uma VM isolada, mas parte integrada do Windows 10. Como isso consegue isso?

Viva o plano 9

Com o WSL V1, acessar arquivos e diretórios em seus convidados do Windows foi trivial. Seu Userland do Linux é apenas um aplicativo no Windows, para que possa ler e gravar arquivos originalmente pertencentes ao SO nativo facilmente.

Com o WSL V2, você tem uma VM executando com seu disco rígido virtual (formatado com ext4, é claro) e se queremos uma experiência semelhante à do WSL V1, precisamos de alguns mecanismos extras. Digite o Plano 9.

Plano 9, também escrito como, 9p é um sistema operacional desenvolvido no Bell Labs. Embora seja improvável que você o encontre em produção, ele ainda vive em que vários outros sistemas operacionais adotam idéias interessantes que são incubadas nele, incluindo o protocolo 9p para um servidor de arquivos.

Sistemas de arquivos

O WSL V2 terá um servidor de protocolo 9p em execução no seu host do Windows 10 e um cliente 9p executando dentro de seus aplicativos WSL. Isso permite que você acesse os arquivos Windows 10 nativamente dentro do seu ambiente WSL. A unidade C: será montada em /mnt /c, assim como o WSL V1, e todos os arquivos dentro do host do Windows 10 podem ser alcançados pelo ambiente WSL.

O inverso também será verdadeiro. Haverá um servidor de protocolo 9p em execução em seu ambiente Linux com o cliente correspondente no host do Windows 10. Isso permitirá que os usuários acessem seu sistema de arquivos Linux (ext4) do ambiente Windows 10. Permitindo que você edite seu código -fonte ou arquivos de configuração usando seu IDE favorito instalado no Windows, listando todos os diretórios usando o Windows 10 File Explorer e muito mais. Essencialmente, você estará executando suas distritos Linux favoritos com a UI do Windows 10.

Docker

Em seu anúncio, a Microsoft também sugeriu que esse novo ambiente também será usado pelo Docker para enviar seu futuro Docker para aplicativos Windows. Como há um kernel Linux, correr Docker em cima dele, será muito fácil. Na demonstração, eles correram Docker em cima do Ubuntu Running WSL V2 e funcionou como se estivesse em execução em uma instalação nativa do Ubuntu.

Para dar um exemplo muito superficial, se você já trabalhou com o DockerFiles em um sistema Windows, deve ter notado os problemas de segurança causados ​​por causa da falta de permissões de arquivo do Unix, como. Isso não será mais um problema. O Docker no Windows já usa uma VM personalizada para fornecer contêineres Linux, presumivelmente, agora usará o WSL V2 para usar o kernel Linux que a Microsoft envia.

Conclusão

No geral, estou muito impressionado com o que a Microsoft está fazendo para fornecer um paraíso para os desenvolvedores do Linux que também desejam usar o Windows. Felizmente, a longo prazo, incentivará muita polinização cruzada entre os dois ecossistemas diferentes.

Se você estiver executando o Windows 10 Home, Pro ou Enterprise Edition, poderá experimentar o WSL V2, optando pelo Visualização do Windows 10. Aqui está um guia sobre como fazer isso.