Microsoft revela como funciona su subsistema de Windows 10 Linux

La Bash en Ubuntu en Windows permite que los binarios ELF64 nativos de Linux se ejecuten en Windows a través del Subsistema de Windows para Linux (WSL). Aunque muchas personas se sorprendieron por el anuncio de Bash en Ubuntu, vale la pena mencionar que abre nuevas puertas para la compatibilidad entre diferentes sistemas operativos. Microsoft da otro paso adelante y revela cómo funciona su WSL para que podamos comprender mejor cómo se comunican los dos sistemas entre sí.

WSL fue creado por el equipo del kernel de Microsoft Windows y contiene componentes de modo de usuario y modo de kernel. Más concretamente, el sistema está compuesto por:

  • un servicio de administrador de sesiones de modo de usuario que maneja el ciclo de vida de la instancia de Linux
  • Controladores de proveedor Pico (lxss.sys, lxcore.sys) cuya función es emular un kernel de Linux traduciendo llamadas al sistema de Linux
  • Procesos Pico que alojan el modo de usuario Linux sin modificar (por ejemplo, / bin / bash).

La conexión entre los tres componentes se describe a continuación:

Es el espacio entre los binarios de Linux en modo de usuario y los componentes del kernel de Windows donde ocurre la magia. Al colocar binarios de Linux sin modificar en los procesos de Pico, permitimos que las llamadas al sistema de Linux se dirijan al kernel de Windows. Los controladores lxss.sys y lxcore.sys traducen las llamadas al sistema Linux en API de NT y emulan el kernel de Linux.

El principal desafío en el proceso es hacer que los dos sistemas funcionen juntos:

WSL ejecuta binarios ELF64 de Linux sin modificar mediante la virtualización de una interfaz del kernel de Linux sobre el kernel de Windows NT. Una de las interfaces del kernel que expone son las llamadas al sistema (syscalls). Una llamada al sistema es un servicio proporcionado por el kernel al que se puede llamar desde el modo de usuario. Tanto el kernel de Linux como el kernel de Windows NT exponen varios cientos de llamadas al sistema al modo de usuario, pero tienen semánticas diferentes y generalmente no son directamente compatibles. Por ejemplo, el kernel de Linux incluye cosas como fork, open y kill, mientras que el kernel de Windows NT tiene NtCreateProcess, NtOpenFile y NtTerminateProcess comparables.

El subsistema de Windows para Linux incluye controladores en modo kernel (lxss.sys y lxcore.sys) que son responsables de manejar las solicitudes de llamadas al sistema Linux en coordinación con el kernel de Windows NT. Los controladores no contienen código del kernel de Linux, sino que son una implementación de sala limpia de interfaces de kernel compatibles con Linux. En Linux nativo, cuando una llamada al sistema se realiza desde un ejecutable en modo de usuario, es manejada por el kernel de Linux. En WSL, cuando se realiza una llamada al sistema desde el mismo ejecutable, el kernel de Windows NT reenvía la solicitud a lxcore.sys. Siempre que sea posible, lxcore.sys traduce la llamada al sistema de Linux a la llamada equivalente de Windows NT, que a su vez hace el trabajo pesado.

Teniendo en cuenta el interés de Microsoft en las plataformas de código abierto, muchas personas se preguntaron si el gigante tecnológico debería adquirir importantes empresas centradas en Linux como Canonical, la empresa detrás del sistema operativo Ubuntu. Aunque Microsoft y Canonical cooperaron en el software de código abierto, ninguno emitió ningún comentario sobre esta posibilidad.

Si le interesa cómo evoluciona la interacción entre Linux y Windows, ir al Blog de Microsoft. El equipo prometió que seguirían más publicaciones de blog sobre este tema.

HISTORIAS RELACIONADAS QUE DEBE VERIFICAR:

  • Los usuarios de Linux informan problemas de "Los auriculares dejaron de funcionar en Windows 8.1"
  • Microsoft y Canonical llevan Bash a Windows 10 en Build 2016
  • Munich comienza a distribuir CD gratuitos de Ubuntu a usuarios de Windows XP
Cómo montar, leer o formatear EXT4 en Windows 11

Cómo montar, leer o formatear EXT4 en Windows 11LinuxSubsistema De Windows Linux

Primero, asegúrese de que WSL2 esté instalado y actualizadoWSL2 le permite montar y leer EXT4 en Windows 11 con solo unas pocas líneas de comando en PowerShell.Antes de comenzar cualquier cosa, ase...

Lee mas
Cómo montar, leer o formatear EXT4 en Windows 11

Cómo montar, leer o formatear EXT4 en Windows 11LinuxSubsistema De Windows Linux

Primero, asegúrese de que WSL2 esté instalado y actualizadoWSL2 le permite montar y leer EXT4 en Windows 11 con solo unas pocas líneas de comando en PowerShell.Antes de comenzar cualquier cosa, ase...

Lee mas