Pinguim na janela: sobre o potencial e as perspectivas do WSL2

Oi, Habr!

Embora ainda estejamos em pleno andamento liquidação de verãoGostaríamos de convidá-lo(a) para discutir um dos temas mais abrangentes em que temos trabalhado recentemente: a interação. Windows и Linux, associado, em particular, ao desenvolvimento do sistema WSLO WSL 2 está a caminho, e aqui está uma breve visão geral dos recursos que nos aguardam neste subsistema, bem como uma prévia das futuras integrações. Windows и Linux.

Pinguim 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 em Linux, trabalhará em um kernel completo Linux, coletados na empresa.
Esta é a primeira vez que a Microsoft inclui Windows núcleo Linux como um dos componentes. A Microsoft também está introduzindo Windows Linha de comando que ampliará as capacidades do PowerShell e do WSL.

Como núcleo Linux para WSL2, criado pela Microsoft, e a nova linha de comando. Windows são de interesse principalmente para desenvolvedores.

"Esta é a jogada mais poderosa contra a AWS", observa Joshua Schwartz, chefe de programas digitais da consultoria AT Kearney.

O futuro da Microsoft não está atrelado ao mercado de PCs, embora ela continue a ter uma posição forte nesse segmento. Muito mais importante será estabelecer uma presença no mercado de computação em nuvem, do qual os PCs de mesa podem eventualmente se tornar um componente.

O que o WSL2 faz?

WSL2 é o subsistema de infraestrutura mais recente. Windows para LinuxIsso permite um aumento radical no desempenho do sistema de arquivos e oferece total compatibilidade com as chamadas do sistema.

Uma das principais solicitações da comunidade WSL era por funcionalidades aprimoradas. O WSL2 oferece suporte a muito mais ferramentas. Linux, do que no WSL, em particular no Docker e no FUSE.
O WSL2 lida com operações de arquivo intensivas, incluindo git clone, npm install, apt update e apt upgrade. Os ganhos reais de velocidade dependem do aplicativo específico e de como ele interage com o sistema de arquivos.

Os testes iniciais mostraram que o WSL2 é aproximadamente 20 vezes mais rápido que o WSL1 na descompactação de arquivos tar a partir de arquivos zip. Ao usar git clone, npm install e cmake em vários projetos, o sistema demonstrou um aumento de desempenho de duas a cinco vezes.

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

Essencialmente, a Microsoft busca obter reconhecimento e credibilidade dentro da comunidade de desenvolvedores ao assumir o desenvolvimento de sua própria versão do kernel. Linux Para dar suporte aos processos do WSL2, afirma Cody Swann, CEO da Gunner Technology.

“Se não contabilizarmos os empreendimentos estritamente sob WindowsCriar todos os outros aplicativos – em nuvem, móveis e web – em um PC era extremamente inconveniente, razão pela qual o desenvolvedor tinha que baixar a distribuição de uma forma ou de outra. Linux paralelo ao SO Windows"A Microsoft reconheceu isso e ofereceu uma solução", conclui ele.

É improvável que a implementação de um kernel personalizado Linux terá um impacto significativo na experiência do usuário. No entanto, isso abre oportunidades para uma interação mais estreita entre os serviços da Microsoft e o sistema operacional. Linux.
Essa jogada da Microsoft é realmente inteligente, pois a ajuda a penetrar mais profundamente na comunidade de desenvolvedores e a usar ativamente produtos que outros estão desenvolvendo — ou seja, conectar-se ao código aberto, acredita Swann.

Bem-vindo à nova Microsoft

A tendência de criar e apoiar um núcleo Linux "especialmente para Windows"Reflete a mudança decisiva em direção ao código aberto, defendida pelo CEO Satya Nadella. A Microsoft não é mais a mesma de quando era liderada por Gates e Ballmer, quando tudo era mantido em segredo e a interoperabilidade não tinha importância."

"Satya transformou completamente a Microsoft em uma plataforma muito mais moderna, e essa estratégia deu frutos generosos. Olá, avaliação de um trilhão de dólares", diz Schwartz.

De acordo com Charles King, analista principal da Pund-IT, os dois principais pontos fortes da Microsoft são a eficiência e a segurança.

"Ao aproveitar ativamente nossos próprios desenvolvimentos extensivos — recursos e ferramentas — a empresa pode garantir aos clientes que o kernel estará totalmente atualizado e equipado com os patches e correções mais recentes, garantindo total segurança", acrescenta.

Os desenvolvedores também se beneficiam.

Arquivos binários Linux O WSL1 executa diversas funções usando chamadas de sistema, como acessar arquivos, solicitar memória e criar processos. Ele depende de uma camada de tradução que interpreta muitas dessas chamadas de sistema e permite que elas interajam com o kernel. Windows NT.

A parte mais difícil é implementar todas as chamadas de sistema. Como isso não foi feito no WSL1, alguns aplicativos não funcionavam nele. O WSL2 introduz muitos novos aplicativos que funcionam bem nesse ambiente.

A nova arquitetura permite à Microsoft trazer as otimizações mais recentes para o kernel. Linux Muito mais rápido do que com o WSL1. A Microsoft pode atualizar o núcleo do WSL2 em vez de reimplementar todas as limitações.

Ferramenta totalmente de código aberto

Desenvolvendo seu próprio kernel Linux O projeto da Microsoft foi o culminar de muitos anos de trabalho. Linux Grupo de Sistemas, assim como muitas outras equipes da Microsoft, afirma Jack Hammons, gerente de programa da Linux Grupo de Sistemas, Microsoft.

O núcleo fornecido para o WSL2 será totalmente de código aberto, e a Microsoft publicará instruções no GitHub sobre como compilá-lo. A empresa interagirá com desenvolvedores interessados ​​em contribuir para o projeto e incentivará alterações no código-fonte.

Os desenvolvedores da Microsoft criaram o WSL2 usando os sistemas de integração contínua e entrega contínua da empresa. Este software será mantido por meio de um sistema de atualização. Windows e será completamente transparente para o usuário. O kernel permanecerá atualizado e incluirá todos os recursos da versão estável mais recente. Linux.

Para garantir a disponibilidade do código-fonte, a empresa espelha os repositórios localmente e também monitora constantemente o conteúdo da lista de discussão. Linux em questões de segurança, e também colabora com diversas empresas que dão suporte a operações de banco de dados em ambientes virtuais corporativos (CVE). Isso garante que o kernel Linux A Microsoft levará em consideração as atualizações mais recentes e eliminará todas as ameaças emergentes.

Mudanças para cima tornam-se obrigatórias

A Microsoft garante que todas as alterações no kernel sejam propagadas para cima – este é um aspecto importante da filosofia. LinuxA manutenção de patches subsequentes acarreta complexidade adicional e não é uma prática comum na comunidade de código aberto.

O objetivo da Microsoft, que está usando ativamente Linux – Torne-se um membro disciplinado desta comunidade e contribua com mudanças para ela. Para garantir a estabilidade das versões de suporte de longo prazo, alguns patches — por exemplo, aqueles que contêm novos recursos — podem ser incluídos apenas em novas versões do kernel, em vez de serem aplicados à versão LTS atual em modo de compatibilidade com versões anteriores.

Quando o código-fonte principal do WSL estiver disponível, ele consistirá em links para o conjunto de patches e para a parte estável de longa duração do código-fonte. A Microsoft espera que essa lista diminua com o tempo, à medida que os patches forem distribuídos para os desenvolvedores e novos patches locais forem adicionados para dar suporte aos recursos mais recentes do WSL.

Cortinas mais agradáveis

A Microsoft também anunciou o lançamento da próxima versão "de inverno". Windows O Terminal é um novo aplicativo para usuários que trabalham com ferramentas de linha de comando e shells, especificamente o Prompt de Comando, o PowerShell e o WSL.

Pinguim na janela: sobre o potencial e as perspectivas do WSL2

Terminal Windows

Windows O Terminal 1.0 oferece uma variedade de configurações e opções de configuração que lhe dão mais controle sobre a aparência da janela do terminal, bem como sobre quais shells/perfis devem ser abertos como novas abas.

As configurações serão salvas em um arquivo de texto estruturado, facilitando a configuração e a personalização da janela do terminal ao seu gosto.

A Microsoft está interrompendo o desenvolvimento do console atual. WindowsMas cria uma nova do zero, decidindo aplicar uma abordagem inovadora. Windows O terminal é instalado e funciona em paralelo com o aplicativo existente. Windows Console, fornecida "pronta para uso".

Как это работает

Quando o usuário Windows 10 Inicia diretamente o Cmd/PowerShell/etc., acionando um processo associado a uma instância de Console comum. O novo mecanismo de configuração do terminal permite aos usuários Windows Crie vários perfis para todos os shells/aplicativos/ferramentas desejados, seja no PowerShell, na linha de comando, Ubuntuou até mesmo por meio de conexões SSH com dispositivos Azure ou IoT.

Esses perfis podem incluir combinações personalizadas de estilo e tamanho de fonte, temas de cores e níveis de desfoque ou transparência do fundo. Os usuários também poderão selecionar uma nova fonte monoespaçada para dar à janela do terminal uma aparência mais moderna e elegante. Essa fonte apresenta ligaduras de programador e será de código aberto, hospedada em seu próprio repositório.

Principais benefícios da nova interface de comando Windows – Suporte a múltiplas abas e texto com ótima aparência. O suporte a múltiplas abas foi considerado o recurso mais solicitado durante o desenvolvimento do terminal. A ótima aparência do texto é alcançada graças a um mecanismo de renderização baseado em DirectWrite/DirectX com aceleração por GPU.

O mecanismo renderiza ícones de texto, glifos e caracteres especiais encontrados em fontes, incluindo ideogramas chineses, japoneses e coreanos (CJK), emojis, linhas de energia, ícones e ligaduras de programador. Além disso, este mecanismo renderiza texto muito mais rapidamente do que o mecanismo GDI usado anteriormente no console.

A retrocompatibilidade permanece totalmente intacta, embora, se desejar, você possa experimentar. Windows Terminal.

Cronograma: Como isso acontecerá

A Microsoft fornecerá Windows Terminal via Microsoft Store em Windows 10 e atualizá-lo regularmente. Dessa forma, os usuários estarão sempre trabalhando com as versões mais recentes e as melhorias mais recentes — praticamente sem nenhum esforço extra.

A Microsoft planeja lançar o novo terminal no próximo inverno. Após o lançamento pela Microsoft Windows No Terminal 1.0, os desenvolvedores continuarão trabalhando em muitos recursos já adicionados à lista de pendências.

Código fonte Windows Terminal e Windows cônsul já postado no GitHub.

O que podemos esperar no futuro?

Existe a possibilidade de a Microsoft usar seu próprio kernel. Linux e para outros fins, por exemplo, para desenvolver sua própria distribuição. Linux, hoje parece um tanto hipotético.

O resultado provavelmente depende de a Microsoft conseguir encontrar uma demanda significativa para esse produto e das oportunidades comerciais que esses desenvolvimentos podem potencialmente abrir, afirma Charles King.

Ele acredita que a empresa concentrará seus esforços em garantir uma compatibilidade cada vez maior no futuro próximo. Windows и Linux e sua complementaridade mútua.

Joshua Schwartz acredita que, neste caso, será necessário ponderar o investimento neste trabalho em relação ao seu retorno. Se a Microsoft fosse uma empresa muito jovem hoje, provavelmente faria tudo com base em LinuxNo entanto, portar todos os desenvolvimentos já disponíveis na Microsoft para a arquitetura nativa é um desafio. LinuxHoje em dia, parece um projeto caro e complexo, com poucas chances de dar bom retorno. Fãs Linux conseguirão para si mesmos LinuxE a arquitetura básica permanecerá intacta.

Quando a Apple reinventou o Mac OS em 2000, o sistema operacional foi construído sobre o BSD Unix, que é mais semelhante a Linuxdo que com o DOS. Hoje, a nova versão da Microsoft Windows é criado precisamente com base nisso. Linux.

Talvez uma nova porta esteja se abrindo para nós?

núcleo Linux A iniciativa da Microsoft pode abrir caminho para uma colaboração mais estreita entre os serviços. Windows e o sistema operacional LinuxEm essência, esses desenvolvimentos da Microsoft indicam que mesmo dentro da própria empresa a Microsoft já entendeu: hoje em dia, quase não existem mais clientes que prefiram viver em um mundo onde tudo é contínuo. Windows.

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

A questão estratégica mais importante é: que novas oportunidades estratégicas essa mudança abre para a própria plataforma da Microsoft?

O Azure, ecossistema de nuvem da Microsoft, já oferece um suporte excepcional. Linux. mais cedo Windows bem apoiado Linux utilizando máquinas virtuais.

As mudanças fundamentais que estão ocorrendo hoje estão relacionadas ao fato de que agora os processos Linux será executado nativamente no kernel Windows, o que significa trabalhar com Linux de Windows terá um desempenho muito mais rápido do que em máquinas virtuais. É bem possível que, como resultado, o Azure seja enriquecido por toda uma camada de engenheiros que utilizarão essa tecnologia. Linux em escala industrial.

Fonte: habr.com

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