Pingüim na janela: sobre o potencial e as perspectivas do WSL2

Olá, Habr!

Enquanto nossa liquidação de verãoainda continua, gostaríamos de propor uma discussão sobre um dos temas mais abrangentes que temos trabalhado recentemente — a interação entre Windows e Linux, relacionada, em particular, ao desenvolvimento do sistema WSL. O WSL 2 está a caminho, e apresentamos um breve resumo das funcionalidades que nos aguardam neste subsistema, bem como previsões sobre a futura integração entre Windows e Linux.

Pingüim na janela: sobre o potencial e as perspectivas do WSL2

Em maio deste ano, a Microsoft anunciou que o WSL2, a versão mais recente do subsistema Windows para Linux, funcionará em um núcleo Linux completo, compilado pela empresa.
Assim, a Microsoft pela primeira vez incorpora um núcleo Linux no Windows como um de seus componentes. A Microsoft também introduz uma linha de comando no Windows que ampliará as capacidades do PowerShell e do WSL.

Tanto o núcleo Linux para o WSL2, desenvolvido pela Microsoft, quanto a nova linha de comando do Windows são, acima de tudo, interessantes para os desenvolvedores.

"Este é o movimento mais forte na partida contra a AWS," observa Joshua Schwartz, chefe da programação de digitalização na consultoria A.T. Kearney.

O futuro da Microsoft não está aliado ao mercado de PCs, embora continue a manter uma posição forte neste segmento. O mais importante será solidificar-se no mercado de nuvem, um dos quais, no futuro, poderão incluir também desktops.

O que o WSL2 faz

O WSL2 é a infraestrutura mais recente do subsistema Windows para Linux. Ela permite aumentar drasticamente o desempenho do sistema de arquivos e garante total compatibilidade com chamadas de sistema.

Uma das principais solicitações da comunidade WSL estava relacionada à melhoria das funcionalidades. O WSL2 suporta muito mais ferramentas Linux do que o WSL, como Docker e FUSE.
O WSL2 processa operações intensivas de arquivo, como git clone, npm install, apt update e apt upgrade. O aumento real da velocidade depende do aplicativo específico e de como ele interage com o sistema de arquivos.

Os primeiros testes mostraram que o WSL2 é cerca de 20 vezes mais rápido que o WSL1 ao descompactar tar de zip. Ao usar git clone, npm install e cmake em diversos projetos, o sistema mostrou um aumento de desempenho de duas a cinco vezes.

Isso ajudará a conquistar a confiança dos desenvolvedores?

Na essência, a Microsoft busca ganhar reconhecimento e confiança na comunidade de desenvolvedores, ao desenvolver sua própria versão do núcleo Linux para suportar os processos do WSL2 – afirma Cody Swann, CEO da Gunner Technology.

«Exceto no desenvolvimento estritamente para Windows, criar outros aplicativos – em nuvem, móveis, aplicativos web – em PC era extremamente complicado, levando os desenvolvedores a, de alguma forma, ter que instalar uma distribuição Linux ao lado do OS Windows. A Microsoft reconheceu isso e ofereceu uma solução», conclui ele.

É improvável que a implementação de um núcleo Linux próprio tenha um impacto significativo na experiência do usuário comum. No entanto, isso abre oportunidades para uma interação mais estreita entre os serviços da Microsoft e o sistema operacional Linux.
Essa ação por parte da Microsoft é realmente muito inteligente, pois ajuda a se aprofundar na comunidade de desenvolvedores, além de possibilitar o uso ativo de produtos desenvolvidos por outros – ou seja, se conectar ao open-source – observa Swann.

Bem-vindo à Nova Microsoft

A tendência em direção à criação e suporte de um núcleo Linux «especialmente para Windows» reflete uma determinação decisiva para promover o desenvolvimento em direção ao open-source, que é conduzido pelo CEO Satya Nadella. A Microsoft não é mais a mesma de quando Gates e Ballmer estavam no comando, quando tudo era mantido por trás de um muro de propriedade, e a interoperabilidade nem era considerada.

«Satya transformou completamente a Microsoft em uma plataforma muito mais moderna, e essa estratégia se pagou em muito. Olá, capitalização em trilhões de dólares», diz Schwartz.

Na opinião de Charles King, analista-chefe da Pund-IT, as duas principais qualidades da Microsoft estão relacionadas à eficiência e segurança.

«Ao empregar ativamente seus próprios recursos e ferramentas, a empresa pode garantir aos clientes que o núcleo estará sempre atualizado e equipado com os últimos patches e correções, garantindo total segurança», acrescenta ele.

Os desenvolvedores – também saem ganhando

Arquivos binários do Linux desempenham muitas funções através de chamadas de sistema, como acessar arquivos, solicitar memória e criar processos. O WSL1 depende de um nível de tradução que interpreta muitas dessas chamadas de sistema, permitindo que elas interajam com o núcleo do Windows NT.

O desafio mais difícil é implementar todas as chamadas de sistema. Como isso não foi feito no WSL1, alguns aplicativos não conseguiam funcionar nele. O WSL2 traz uma série de novos aplicativos que funcionam normalmente nesse ambiente.

A nova arquitetura permite que a Microsoft implemente otimizações mais recentes no núcleo do Linux muito mais rapidamente do que no caso do WSL1. A Microsoft pode atualizar o núcleo do WSL2, em vez de recriar todas as limitações.

Ferramenta completamente de código aberto

O desenvolvimento do próprio núcleo Linux pela Microsoft foi o culminar de anos de trabalho realizado pelo Linux Systems Group, assim como por várias outras equipes em toda a Microsoft — afirma Jack Hammons, gerente de programas do Linux Systems Group, Microsoft.

O núcleo fornecido para o WSL2 será completamente de código aberto, e a Microsoft publicará no GitHub instruções sobre como compilar esse núcleo. A empresa trabalhará com desenvolvedores que desejam ajudar no projeto e incentivará contribuições.

Os desenvolvedores da Microsoft criaram o WSL2 usando sistemas de integração contínua e entrega contínua que operam na empresa. Este software será mantido através do sistema de atualizações do Windows e será totalmente transparente para o usuário. O núcleo permanecerá atualizado e incluirá todos os recursos da versão estável mais recente do Linux.

Para garantir a disponibilidade dos códigos-fonte, a empresa espelha repositórios localmente e monitora constantemente o conteúdo das listas de e-mails do Linux sobre questões de segurança, além de colaborar com várias empresas que suportam o trabalho com bases de dados em ambientes virtuais corporativos (CVE). Dessa forma, garante-se que o núcleo Linux da Microsoft leve em conta as atualizações mais recentes e elimine todas as ameaças emergentes.

As contribuições tornam-se obrigatórias

A Microsoft garante que todas as alterações do núcleo serão distribuídas na direção ascendente – este é um aspecto importante da filosofia do Linux. O suporte a patches descendentes envolve complexidade adicional; além disso, essa prática não é comum na comunidade de desenvolvimento aberto.

O objetivo da Microsoft, que usa ativamente o Linux, é se tornar um membro disciplinado dessa comunidade e fornecer as alterações feitas para a disposição da comunidade. Para garantir a estabilidade das ramificações relacionadas ao suporte de longo prazo, alguns patches – por exemplo, aqueles que contêm novos recursos – podem ser incluídos apenas nas novas versões do núcleo, e não portados para a versão LTS atual em modo de retrocompatibilidade.

Quando os fontes do núcleo WSL estiverem disponíveis, eles consistirão em referências a um conjunto de patches e a uma parte estável de longa data dos fontes. A Microsoft espera que, com o tempo, essa lista diminua à medida que os patches sejam distribuídos na direção ascendente e novos patches locais sejam adicionados para suportar novos recursos do WSL.

Uma aparência mais agradável nas janelas

A Microsoft também anunciou o lançamento da versão 'invernal' do Windows Terminal – um novo aplicativo para usuários que trabalham com ferramentas de linha de comando e shells, em particular o Prompt de Comando, PowerShell e WSL.

Pingüim na janela: sobre o potencial e as perspectivas do WSL2

Terminal do Windows

O Windows Terminal 1.0 oferece várias configurações e possibilidades de configuração, proporcionando um controle mais completo sobre a aparência da janela do terminal, assim como sobre os shells/perfis que devem ser abertos como novas guias.

As configurações serão salvas em um arquivo de texto estruturado, tornando fácil a configuração e personalização da aparência da janela do terminal ao gosto do usuário.

A Microsoft interrompe o desenvolvimento da console do Windows existente, criando uma nova do zero, optando por aplicar uma abordagem nova. O Windows Terminal é instalado e funciona em paralelo com o aplicativo Windows Console existente, que vem 'de fábrica'.

Como funciona

Quando um usuário do Windows 10 inicia o Cmd/Powershell diretamente, um processo é acionado, vinculado a uma instância padrão do Console. O mecanismo de configuração de um novo terminal permite que usuários do Windows criem vários perfis para todos os shells/aplicativos/ferramentas desejados, seja no PowerShell, no prompt de comando, no Ubuntu ou mesmo em conexões SSH com o Azure ou dispositivos da Internet das Coisas.

Nesses perfis podem ser definidas combinações personalizadas de estilo e tamanho da fonte, temas de cores, níveis de desfoque ou transparência de fundo. Além disso, os usuários poderão escolher uma nova fonte monoespaçada para que a janela do terminal tenha uma aparência mais moderna e estilosa. Essa fonte incluirá ligaduras de programação, será disponibilizada como código aberto e armazenada em um repositório próprio.

As principais vantagens da nova interface de linha de comando do Windows são as muitas guias e o texto bonito. O suporte para múltiplas guias foi considerado a solicitação mais desejada no desenvolvimento do terminal. O texto bonito é conseguido graças ao motor de renderização baseado em DirectWrite/DirectX, equipado com aceleração por GPU.

O motor exibe ícones de texto, glifos e caracteres especiais disponíveis nas fontes, incluindo ideogramas chineses, japoneses e coreanos (CJK), emojis, símbolos de linha de energia, ícones e ligaduras de programação. Além disso, esse motor exibe texto muito mais rapidamente do que o GDI, anteriormente utilizado no console.

A compatibilidade com versões anteriores permanece intacta, embora se deseje, pode-se experimentar o Windows Terminal.

Cronologia: como será

A Microsoft fornecerá o Windows Terminal através da Microsoft Store no Windows 10 e o atualizará regularmente. Assim, os usuários sempre trabalharão com as versões mais recentes e os últimos aprimoramentos - praticamente sem esforço adicional.

A Microsoft planeja lançar o novo terminal no próximo inverno. Após a liberação do Windows Terminal 1.0, os desenvolvedores continuarão a trabalhar em várias funcionalidades já adiadas na lista de pendências.

O código-fonte do Windows Terminal e do Windows Console já foi disponibilizado no GitHub.

O que podemos esperar no futuro?

A possibilidade de que a Microsoft comece a utilizar seu próprio núcleo Linux para outros fins, como o desenvolvimento de sua própria distribuição Linux, hoje parece um pouco hipotética.

Provavelmente, a decisão depende de quão bem a Microsoft consegue identificar uma demanda significativa por esse produto e quais oportunidades comerciais potenciais esses desenvolvimentos podem abrir - acredita Charles King.

Ele acredita que, num futuro próximo, a empresa concentrará seus esforços principais em garantir uma compatibilidade cada vez mais estreita entre Windows e Linux, e em como eles se complementam.

Joshua Schwartz acredita que, neste caso, será necessário ponderar sobre quais serão os investimentos nesse trabalho e qual será o retorno sobre eles. Se hoje a Microsoft fosse uma empresa totalmente nova, provavelmente faria tudo com base no Linux. No entanto, portar todo o trabalho já existente da Microsoft para a arquitetura nativa do Linux parece hoje um projeto caro e complexo, que dificilmente será rentável. Os amantes do Linux terão seu Linux, enquanto a arquitetura principal permanecerá intacta.

Quando a Apple reinventou o Mac OS em 2000, este sistema operacional foi construído sobre a base do BSD Unix, que é mais semelhante ao Linux do que ao DOS. Hoje, a nova versão do Microsoft Windows está sendo criada com base no Linux.

Possivelmente, estamos abrindo uma nova porta?

O núcleo Linux da Microsoft pode abrir o caminho para uma interação mais estreita entre os serviços do Windows e o sistema operacional Linux. Essencialmente, esses trabalhos da Microsoft indicam que dentro da própria empresa já compreendem: quase não há mais clientes que preferem existir num mundo dominado pelo Windows.

É muito mais sensato usar tecnologias e sistemas heterogêneos que atendam melhor às necessidades de negócios e situações práticas específicas.

Uma questão estratégica mais importante é quais novas oportunidades estratégicas esse movimento abre para a própria plataforma da Microsoft?

Azure - o ecossistema de nuvem da Microsoft - já oferece um suporte colossal ao Linux. Anteriormente, o Windows apoiava bem o Linux através de máquinas virtuais.

As mudanças fundamentais que estão ocorrendo hoje estão relacionadas ao fato de que agora os processos Linux serão executados nativamente no núcleo do Windows, o que significa que o trabalho com Linux a partir do Windows será muito mais rápido do que em máquinas virtuais. É bastante provável que, como resultado, o Azure se enriqueça com uma camada inteira de engenheiros usando Linux em escala industrial.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster