Pingüino en la ventana: sobre el potencial y las perspectivas de WSL2

¡Hola, Habr!

Mientras todavía estamos en pleno apogeo venta de verano, nos gustaría invitarlo a discutir uno de los temas más importantes en los que hemos estado trabajando últimamente: la interacción de Windows y Linux, relacionada, en particular, con el desarrollo del sistema. WSL. WSL 2 está en camino y aquí hay una descripción general rápida de lo que vendrá en este subsistema, así como un pronóstico para la futura integración entre Windows y Linux.

Pingüino en la ventana: sobre el potencial y las perspectivas de WSL2

En mayo de este año, Microsoft anunció que WSL2, la última versión del subsistema de Windows en Linux, se ejecutaría en un kernel Linux completo construido internamente.
Esta es la primera vez que Microsoft incluye el kernel de Linux como componente de Windows. Microsoft también está introduciendo una línea de comando en Windows que ampliará las capacidades de PowerShell y WSL.

Tanto el kernel de Linux para WSL2, creado por Microsoft, como la nueva línea de comandos de Windows interesan principalmente a los desarrolladores.

"Este es el movimiento más fuerte en el juego contra AWS", dice Joshua Schwartz, director de programas de digitalización de la consultora AT Kearney.

El futuro de Microsoft no está ligado al mercado de los PC, aunque seguirá manteniendo firmemente su posición en este segmento. Será mucho más importante afianzarse en el mercado de la nube, uno de cuyos componentes en el futuro pueden ser las PC de escritorio.

¿Qué hace WSL2?

WSL2 es el último marco de subsistema de Windows para Linux. Le permite mejorar radicalmente el rendimiento del sistema de archivos y proporciona compatibilidad total con las llamadas al sistema.

Una de las principales solicitudes de la comunidad WSL estaba relacionada con mejorar la funcionalidad. WSL2 ejecuta muchas más herramientas de Linux que WSL, en particular Docker y FUSE.
WSL2 maneja operaciones con uso intensivo de archivos, particularmente git clone, npm install, apt update y apt Upgrade. El aumento de velocidad real depende de la aplicación específica y de cómo interactúa con el sistema de archivos.

Las primeras pruebas mostraron que WSL2 es aproximadamente 20 veces más rápido que WSL1 a la hora de descomprimir tar desde zip. Al utilizar git clone, npm install y cmake en varios proyectos, el sistema mostró un aumento de rendimiento de dos a cinco veces.

¿Esto ayudará a ganarse la confianza de los desarrolladores?

En esencia, Microsoft busca ganar reconocimiento y confianza en la comunidad de desarrolladores desarrollando su propia versión del kernel de Linux para soportar los procesos WSL2, dijo Cody Swann, director ejecutivo de Gunner Technology.

“Aparte de desarrollar estrictamente para Windows, crear todas las demás aplicaciones (en la nube, móviles, aplicaciones web) en una PC era extremadamente inconveniente, por lo que el desarrollador de alguna manera tuvo que iniciar una distribución de Linux en paralelo con el sistema operativo Windows. Microsoft se dio cuenta y encontró una solución”, concluye.

Es poco probable que la introducción de un kernel de Linux personalizado tenga un impacto grave en el sistema desde el punto de vista del usuario medio. Sin embargo, esto abre oportunidades para una interacción más estrecha entre los servicios de Microsoft y el sistema operativo Linux.
Este movimiento por parte de Microsoft es realmente muy inteligente, ya que ayuda a penetrar más profundamente en la comunidad de desarrolladores, así como a utilizar activamente los productos que otra persona está desarrollando, es decir, conectarse al código abierto, dice Swann.

Bienvenido al nuevo Microsoft

La tendencia hacia la creación y mantenimiento de un kernel de Linux “específicamente para Windows” refleja la fuerte dirección de código abierto promovida por el director ejecutivo Satya Nadella. Microsoft ya no es el mismo que era bajo Gates y Ballmer, cuando todo se mantenía detrás de una valla de propiedad y nadie pensaba en la interoperabilidad.

“Satya ha transformado completamente a Microsoft en una plataforma mucho más moderna y esa estrategia ha dado buenos resultados. Hola, capitalización de un billón de dólares”, dice Schwartz.

Según Charles King, analista principal de Pund-IT, los dos puntos fuertes principales de Microsoft son la eficiencia y la seguridad.

"Al utilizar activamente sus propios desarrollos serios (recursos y herramientas), la empresa puede garantizar a los clientes que el kernel estará completamente actualizado y equipado con los últimos parches y correcciones para garantizar una seguridad total", añade.

Los desarrolladores también se benefician

Los binarios de Linux realizan muchas funciones mediante llamadas al sistema, como acceder a archivos, solicitar memoria y crear procesos. WSL1 se basa en una capa de traducción para interpretar muchas de estas llamadas al sistema y permitirles interactuar con el kernel de Windows NT.

Lo más difícil es implementar todas las llamadas al sistema. Como esto no se hizo en WSL1, algunas aplicaciones no pudieron funcionar allí. WSL2 introduce muchas aplicaciones nuevas que funcionan bien en este entorno.

La nueva arquitectura permite a Microsoft incorporar las últimas optimizaciones al kernel de Linux mucho más rápido que con WSL1. Microsoft puede actualizar el núcleo de WSL2 en lugar de volver a implementar todas las restricciones.

Herramienta de código completamente abierto

El desarrollo de Microsoft de su propio kernel Linux fue la culminación de años de trabajo por parte de Linux Systems Group, así como de muchos otros equipos en Microsoft, dijo Jack Hammons, gerente de programas de Linux Systems Group, Microsoft.

El kernel proporcionado para WSL2 será completamente de código abierto y Microsoft publicará instrucciones sobre cómo construir dicho kernel en GitHub. La empresa colaborará con desarrolladores dispuestos a ayudar en el proyecto e impulsar un cambio de abajo hacia arriba.

Los desarrolladores de Microsoft crearon WSL2 utilizando los sistemas de integración y entrega continua de la empresa. Este software se entregará a través del sistema de actualización de Windows y será completamente transparente para el usuario. El kernel permanecerá actualizado e incluirá todas las características de la última rama estable de Linux.

Para garantizar la disponibilidad de las fuentes, la empresa duplica los repositorios localmente, monitorea constantemente el contenido de la lista de correo de seguridad de Linux y trabaja con varias empresas que admiten bases de datos en entornos virtuales empresariales (CVE). Esto garantiza que el kernel de Linux de Microsoft esté actualizado con las últimas actualizaciones y elimina cualquier amenaza emergente.

Los cambios ascendentes se vuelven obligatorios

Microsoft garantiza que todos los cambios del kernel se propaguen en sentido ascendente, un aspecto importante de la filosofía de Linux. La compatibilidad con parches posteriores conlleva una complejidad adicional; Además, esta práctica no es común en la comunidad de código abierto.

El objetivo de Microsoft como usuario activo de Linux es ser un miembro disciplinado de la comunidad y contribuir con cambios a la comunidad. Para garantizar la estabilidad de las ramas asociadas con el soporte a largo plazo, algunos parches (por ejemplo, aquellos que contienen nuevas funciones) solo pueden incluirse en nuevas versiones del kernel y no trasladarse a la versión LTS actual en modo de compatibilidad con versiones anteriores.

Cuando las fuentes principales de WSL estén disponibles, consistirán en enlaces a un conjunto de parches y una parte estable de larga duración de las fuentes. Microsoft espera que esta lista se reduzca con el tiempo a medida que los parches se distribuyan en sentido ascendente y se agreguen nuevos parches locales para admitir nuevas funciones de WSL.

Diseño de ventana más agradable

Microsoft también anunció la próxima versión de invierno de Windows Terminal, una nueva aplicación para usuarios que trabajan con herramientas de línea de comandos y shells, como Command Prompt, PowerShell y WSL.

Pingüino en la ventana: sobre el potencial y las perspectivas de WSL2

Terminal de Windows

Windows Terminal 1.0 ofrece muchas configuraciones y opciones de configuración que le brindan más control sobre la apariencia de la ventana del terminal, así como sobre los shells/perfiles que deberían abrirse como pestañas nuevas.

Los ajustes se guardarán en un archivo de texto estructurado, lo que facilitará su configuración y diseño de la ventana del terminal a su gusto.

Microsoft ya no está perfeccionando la consola de Windows existente y está creando una nueva desde cero, decidiendo adoptar un nuevo enfoque. Windows Terminal se instala y ejecuta en paralelo con la aplicación de consola de Windows existente que viene lista para usar.

¿Cómo funciona esto

Cuando un usuario de Windows 10 inicia directamente Cmd/PowerShell/etc, se activa el proceso adjunto a la instancia normal de la consola. El motor de configuración del nuevo terminal permite a los usuarios de Windows crear múltiples perfiles para todos los shells/aplicaciones/herramientas que deseen, ya sea en PowerShell, símbolo del sistema, Ubuntu o incluso conexiones SSH a dispositivos Azure o IoT.

Estos perfiles pueden proporcionar sus propias combinaciones de diseño y tamaño de fuente, temas de color, niveles de desenfoque del fondo o transparencia. Además, los usuarios podrán elegir una nueva fuente monoespaciada para que la ventana del terminal luzca más moderna y atractiva. Esta fuente contiene ligaduras de programador; estará disponible públicamente y se almacenará en su propio repositorio.

Las principales ventajas de la nueva interfaz de comandos de Windows son muchas pestañas y un texto atractivo. La compatibilidad con múltiples pestañas se consideró la solicitud más solicitada para el desarrollo de terminales. Se obtiene un texto hermoso gracias al motor de renderizado basado en DirectWrite/DirectX, equipado con aceleración GPU.

El motor muestra íconos de texto, glifos y caracteres especiales que se encuentran en fuentes, incluidos ideogramas chinos, japoneses y coreanos (CJK), emoji, símbolos powerline, íconos y ligaduras de programación. Además, este motor procesa texto mucho más rápido que el GDI utilizado anteriormente en la consola.

La compatibilidad con versiones anteriores permanece en pleno orden, aunque puedes probar Windows Terminal si lo deseas.

Cronología: cómo sucederá

Microsoft proporcionará Windows Terminal a través de Microsoft Store en Windows 10 y lo actualizará periódicamente. De esta manera, los usuarios siempre estarán actualizados con las últimas versiones y mejoras, prácticamente sin esfuerzo adicional.

Microsoft tiene previsto lanzar un nuevo terminal este próximo invierno. Una vez que Microsoft lance Windows Terminal 1.0, los desarrolladores continuarán trabajando en muchas de las funciones que ya están atrasadas.

Código fuente de Windows Terminal y consola de Windows ya publicado en GitHub.

¿Qué nos puede esperar en el futuro?

La posibilidad de que Microsoft utilice su propio kernel de Linux para otros fines, por ejemplo, para desarrollar su propia distribución de Linux, parece hoy un tanto hipotética.

El resultado probablemente dependa de si Microsoft logra encontrar una demanda significativa para dicho producto y de qué oportunidades comerciales podrían abrir tales desarrollos, dice Charles King.

Cree que el objetivo de la empresa en el futuro previsible será hacer que Windows y Linux sean cada vez más compatibles y complementarios entre sí.

Joshua Schwartz cree que en este caso habrá que sopesar cuál será la inversión en esta obra y cuál será el retorno de la misma. Si Microsoft fuera hoy una empresa muy joven, probablemente haría todo basándose en Linux. Sin embargo, trasladar todos los desarrollos ya disponibles de Microsoft a la arquitectura nativa de Linux hoy parece ser un proyecto costoso y complejo que probablemente no dará buenos resultados. Los amantes de Linux obtendrán su propio Linux y la arquitectura central permanecerá intacta.

Cuando Apple reinventó Mac OS en 2000, el sistema operativo se basó en BSD Unix, que se parece más a Linux que a DOS. Hoy se está creando una nueva versión de Microsoft Windows basada en Linux.

¿Quizás se nos abre una nueva puerta?

El kernel Linux de Microsoft podría allanar el camino para una mayor interoperabilidad entre los servicios de Windows y el sistema operativo Linux. En esencia, estos desarrollos de Microsoft indican que la propia Microsoft ya lo entiende: hoy casi no quedan clientes que prefieran existir en un mundo donde todo es Windows.

Tiene mucho más sentido utilizar tecnologías y sistemas heterogéneos que mejor satisfagan los requisitos comerciales y situaciones prácticas específicas.

La pregunta estratégica más amplia es: ¿qué nuevas oportunidades estratégicas abre este movimiento para la propia plataforma de Microsoft?

Azure, el ecosistema de nube de Microsoft, ya brinda un tremendo soporte para Linux. Anteriormente, Windows soportaba bien Linux mediante máquinas virtuales.

Los cambios fundamentales que se están produciendo hoy se deben a que ahora los procesos de Linux se ejecutarán de forma nativa en el kernel de Windows, lo que significa que trabajar con Linux desde Windows será mucho más rápido que en máquinas virtuales. Es probable que, como resultado, Azure se enriquezca con toda una capa de ingenieros que utilicen Linux a escala industrial.

Fuente: habr.com

Añadir un comentario