Pingüín na fiestra: sobre o potencial e as perspectivas de WSL2

Ola Habr!

Mentres aínda estamos en pleno apoxeo Venda de verán, queremos invitarte a discutir un dos temas máis importantes nos que estivemos traballando ultimamente: a interacción de Windows e Linux, relacionado, en particular, co desenvolvemento do sistema. WSL. WSL 2 está en camiño, e aquí tes unha visión xeral rápida do que está por vir neste subsistema, así como unha previsión para a integración futura entre Windows e Linux.

Pingüín na fiestra: sobre o potencial e as perspectivas de WSL2

En maio deste ano, Microsoft anunciou que WSL2, a última versión do subsistema Windows en Linux, funcionaría cun núcleo de Linux completo construído na casa.
Esta é a primeira vez que Microsoft incluíu o núcleo Linux como compoñente en Windows. Microsoft tamén está a introducir unha liña de comandos para Windows que ampliará as capacidades de PowerShell e WSL.

Tanto o núcleo de Linux para WSL2, creado por Microsoft, como a nova liña de comandos de Windows son de interese principalmente para os desenvolvedores.

"Este é o movemento máis forte do xogo contra AWS", di Joshua Schwartz, director de programas de dixitalización da consultora AT Kearney.

O futuro de Microsoft non está ligado ao mercado de PC, aínda que seguirá mantendo firmemente a súa posición neste segmento. Será moito máis importante afianzarse no mercado da nube, un dos compoñentes do que no futuro poden ser os ordenadores de sobremesa.

Que fai WSL2?

WSL2 é o último marco do subsistema de Windows para Linux. Permítelle mellorar radicalmente o rendemento do sistema de ficheiros e ofrece compatibilidade total coas chamadas do sistema.

Unha das principais solicitudes da comunidade WSL estaba relacionada coa mellora da funcionalidade. WSL2 executa moitas máis ferramentas Linux que WSL, especialmente Docker e FUSE.
WSL2 manexa operacións intensivas en ficheiros, especialmente clon de git, instalación de npm, actualización de apt e actualización de apt. O aumento da velocidade real depende da aplicación específica e de como interactúa co sistema de ficheiros.

As primeiras probas demostraron que o WSL2 é unhas 20 veces máis rápido que o WSL1 ao desempaquetar tar do zip. Ao usar git clone, npm install e cmake en varios proxectos, o sistema mostrou un aumento de rendemento de dúas a cinco veces.

Axudará isto a gañar a confianza dos desenvolvedores?

En esencia, Microsoft busca gañar recoñecemento e confianza na comunidade de desenvolvedores desenvolvendo a súa propia versión do núcleo Linux para soportar procesos WSL2, dixo Cody Swann, CEO de Gunner Technology.

"Ademais de desenvolver estrictamente para Windows, crear todas as outras aplicacións (en nube, móbiles, aplicacións web) nun PC era extremadamente inconveniente, polo que o programador tivo que iniciar unha distribución de Linux en paralelo co sistema operativo Windows. Microsoft recoñeceu isto e deu unha solución ", conclúe.

É improbable que a introdución dun núcleo Linux personalizado teña un impacto serio no sistema desde o punto de vista do usuario medio. Non obstante, isto abre oportunidades para unha interacción máis estreita entre os servizos de Microsoft e o sistema operativo Linux.
Este movemento por parte de Microsoft é realmente moi intelixente, xa que axuda a penetrar máis na comunidade de desenvolvedores, así como a utilizar activamente os produtos que outra persoa está a desenvolver, é dicir, conectarse ao código aberto, di Swann.

Benvido a New Microsoft

A tendencia a crear e manter un núcleo Linux "específicamente para Windows" reflicte a forte dirección de código aberto promovida polo CEO Satya Nadella. Microsoft xa non é o mesmo que estaba baixo Gates e Ballmer, cando todo se mantiña detrás dun valado propietario e ninguén pensaba na interoperabilidade.

"Satya transformou por completo a Microsoft nunha plataforma moito máis moderna, e esa estratexia pagou moito. Ola, capitalización de billóns de dólares", di Schwartz.

Segundo Charles King, analista principal de Pund-IT, os dous principais puntos fortes de Microsoft son a eficiencia e a seguridade.

"Ao usar activamente os seus propios desenvolvementos serios -recursos e ferramentas-, a compañía pode garantir aos clientes que o núcleo estará completamente actualizado e equipado cos últimos parches e correccións para garantir a total seguridade", engade.

Os desenvolvedores tamén se benefician

Os binarios de Linux realizan moitas funcións mediante chamadas ao sistema, como acceder a ficheiros, solicitar memoria e crear procesos. WSL1 depende dunha capa de tradución para interpretar moitas destas chamadas ao sistema e permitirlles interactuar co núcleo de Windows NT.

O máis difícil é implementar todas as chamadas do sistema. Dado que isto non se fixo en WSL1, algunhas aplicacións non podían funcionar alí. WSL2 presenta moitas aplicacións novas que funcionan ben neste ambiente.

A nova arquitectura permite que Microsoft traia as últimas optimizacións ao núcleo de Linux moito máis rápido que con WSL1. Microsoft pode actualizar o núcleo WSL2 en lugar de volver implementar todas as restricións.

Ferramenta de código aberto totalmente

O desenvolvemento de Microsoft do seu propio núcleo Linux foi a culminación de anos de traballo do Linux Systems Group, así como de moitos outros equipos de Microsoft, dixo Jack Hammons, xestor de programas do Linux Systems Group de Microsoft.

O núcleo proporcionado para WSL2 será completamente de código aberto e Microsoft publicará instrucións sobre como construír ese núcleo en GitHub. A compañía colaborará con desenvolvedores dispostos a axudar ao proxecto e impulsar cambios ascendentes.

Os desenvolvedores de Microsoft crearon WSL2 utilizando os sistemas de integración continua e entrega continua da empresa. Este software será servido a través do sistema de actualización de Windows e será completamente transparente para o usuario. O núcleo permanecerá actualizado e incluirá todas as funcións da última rama estable de Linux.

Para garantir a dispoñibilidade das fontes, a empresa reflicte os repositorios localmente, supervisa constantemente o contido da lista de correo de seguranza de Linux e traballa con varias empresas que admiten bases de datos en contornos virtuais empresariais (CVE). Isto garante que o núcleo Linux de Microsoft estea actualizado coas últimas actualizacións e elimina calquera ameaza emerxente.

Os cambios de abaixo a arriba fanse obrigatorios

Microsoft garante que todos os cambios do núcleo se propaguen río arriba, un aspecto importante da filosofía de Linux. A compatibilidade de parches posteriores inclúe unha complexidade adicional; Ademais, esta práctica non é común na comunidade de código aberto.

O obxectivo de Microsoft como usuario activo de Linux é ser un membro disciplinado da comunidade e contribuír con cambios á comunidade. Para garantir a estabilidade das ramas asociadas ao soporte a longo prazo, algúns parches -por exemplo os que conteñen novas funcións- só poden incluírse en novas versións do núcleo, e non ser portados á versión LTS actual en modo de compatibilidade con versións anteriores.

Cando as fontes principais de WSL estean dispoñibles, consistirán en ligazóns a un conxunto de parches e unha parte estable das fontes de longa duración. Microsoft espera que esta lista se vaia reducindo co paso do tempo a medida que se distribúen parches cara arriba e se engaden novos parches locais para admitir novas funcións WSL.

Deseño de fiestras máis agradable

Microsoft tamén anunciou a próxima versión de inverno de Windows Terminal, unha nova aplicación para usuarios que traballan con ferramentas de liña de comandos e shells, como Command Prompt, PowerShell e WSL.

Pingüín na fiestra: sobre o potencial e as perspectivas de WSL2

Terminal de Windows

A terminal de Windows 1.0 ofrece moitas opcións de configuración e configuración que che dan máis control sobre a aparencia da xanela do terminal, así como sobre as capas/perfís que deberían abrirse como pestanas novas.

A configuración gardarase nun ficheiro de texto estruturado, facilitando a súa configuración e deseño da xanela do terminal ao seu gusto.

Microsoft xa non está perfeccionando a consola de Windows existente e está a crear unha nova desde cero, decidindo adoptar un enfoque novo. O terminal de Windows instálase e execútase en paralelo coa aplicación existente da consola de Windows que sae da caixa.

Chat isto

Cando un usuario de Windows 10 inicia directamente Cmd/PowerShell/etc, desenvólvese o proceso conectado á instancia normal da consola. O motor de configuración do novo terminal permite aos usuarios de Windows crear múltiples perfís para todas as súas shells/aplicacións/ferramentas desexadas, xa sexa en PowerShell, Símbolo do sistema, Ubuntu ou mesmo conexións SSH a dispositivos Azure ou IoT.

Estes perfís poden proporcionar as súas propias combinacións de deseño e tamaño de letra, temas de cores, niveis de desenfoque de fondo ou transparencia. Ademais, os usuarios poderán escoller un novo tipo de letra monoespazo para que a xanela do terminal pareza máis moderna e xenial. Este tipo de letra contén ligaduras de programador; porase a disposición do público e almacenarase no seu propio repositorio.

As principais vantaxes da nova interface de comandos de Windows son moitas pestanas e texto fermoso. O soporte para varias pestanas considerouse a solicitude máis solicitada para o desenvolvemento do terminal. Conséguese un texto fermoso grazas ao motor de renderizado baseado en DirectWrite/DirectX, equipado con aceleración GPU.

O motor mostra iconas de texto, glifos e caracteres especiais que se atopan en fontes, incluíndo ideogramas chinés, xaponés e coreano (CJK), emoji, símbolos de liña eléctrica, iconas e ligaduras de programación. Ademais, este motor renderiza texto moito máis rápido que o GDI usado anteriormente na consola.

A compatibilidade con versións anteriores segue en orde, aínda que podes probar o terminal de Windows se o desexas.

Cronoloxía: como vai ocorrer

Microsoft proporcionará o Windows Terminal a través da Microsoft Store en Windows 10 e actualizará regularmente. Deste xeito, os usuarios estarán sempre actualizados coas últimas versións e melloras, practicamente sen esforzo adicional.

Microsoft planea lanzar un novo terminal o próximo inverno. Unha vez que Microsoft lance Windows Terminal 1.0, os desenvolvedores seguirán traballando en moitas das funcións xa atrasadas.

Código fonte do terminal de Windows e da consola de Windows xa publicado en GitHub.

Que nos pode esperar no futuro?

A posibilidade de que Microsoft use o seu propio núcleo Linux para outros fins, por exemplo, para desenvolver a súa propia distribución Linux, parece un tanto hipotética hoxe.

O resultado probablemente depende de se Microsoft consegue atopar unha demanda significativa para tal produto e de que oportunidades comerciais poderían abrir tales desenvolvementos, di Charles King.

Pensa que o foco da compañía no futuro previsible será facer que Windows e Linux sexan cada vez máis compatibles e complementarios entre si.

Joshua Schwartz cre que neste caso haberá que ponderar cal será o investimento nesta obra e cal será o retorno da mesma. Se Microsoft fose unha empresa moi nova hoxe, probablemente faría todo baseado en Linux. Non obstante, levar todos os desenvolvementos xa dispoñibles de Microsoft á arquitectura nativa de Linux hoxe parece ser un proxecto caro e complexo que é improbable que teña un bo resultado. Os amantes de Linux terán o seu propio Linux e a arquitectura principal permanecerá intacta.

Cando Apple reinventou Mac OS en 2000, o sistema operativo baseábase en BSD Unix, que é máis parecido a Linux que a DOS. Hoxe estase creando unha nova versión de Microsoft Windows baseada en Linux.

Quizais se nos abre unha nova porta?

O núcleo Linux de Microsoft podería allanar o camiño para unha maior interoperabilidade entre os servizos de Windows e o sistema operativo Linux. En esencia, estes desenvolvementos de Microsoft indican que a propia Microsoft xa o entende: hoxe case non quedan clientes que prefiran existir nun mundo onde todo é Windows.

Ten moito máis sentido utilizar tecnoloxías e sistemas heteroxéneos que mellor satisfagan os requisitos empresariais e as situacións prácticas específicas.

A pregunta estratéxica máis ampla é, que novas oportunidades estratéxicas abre este movemento para a propia plataforma Microsoft?

Azure, o ecosistema na nube de Microsoft, xa ofrece un gran soporte para Linux. Anteriormente, Windows admitía ben Linux usando máquinas virtuais.

Os cambios fundamentais que teñen lugar hoxe débense a que agora os procesos de Linux executaranse de forma nativa no núcleo de Windows, o que significa que traballar con Linux desde Windows será moito máis rápido que nas máquinas virtuais. É probable que, como resultado, Azure se enriqueza con toda unha capa de enxeñeiros usando Linux a escala industrial.

Fonte: www.habr.com

Engadir un comentario