Windows tendrá el shell bash de comandos Linux
Recientemente Microsoft nos sorprendió con la noticia de que muy pronto todos podremos ejecutar una consola bash de Linux de forma “nativa” en el nuevo Windows 10, específicamente con la llegada de la actualización “Anniversary”.
Pero muchos nos preguntamos ¿Cómo funciona esta característica? Tal como Microsoft señalaba en su presentación, no se utiliza ningún tipo de máquinas virtuales para esta opción, y tampoco contenedores. Microsoft llevaba tiempo preparando este lanzamiento, y su estrecha alianza con Canonical (creadores de Ubuntu) ha hecho una realidad el que próximamente podamos acceder a una consola y ejecutar tanto bash como otros binarios de Ubuntu de manera directa y totalmente nativa. La clave de todo esto es el llamado Windows Subsystem for Linux (WSL).
Se trata de un Linux nativo sobre Windows
Esto entre otras cosas mas, es lo que explicaba Dustin Kirkland, quien es uno de los responsables de la empresa Canonical. Confirmando que ni la virtualización ni los contenedores fueron utilizados para esta implementación, y que tampoco tenía mucho que ver con el famoso Cygwin, la que hasta ahora era una de las maneras más populares por la comunidad geek para poder hacer a algo similar a lo que ahora se conseguirá con el Windows 10.
En realidad lo que hace que toda esta magia ocurra en Windows, se parece más a un emulador, señalaba Kirkland, quien explicaba que lo que hace Windows 10 es “realizar una traducción en tiempo real de llamadas al sistema de Linux en llamadas al sistema del sistema operativo Windows”. Lo que podría considerarse como lo inverso a lo que hace wine, el cual es un proyecto que permite ejecutar binarios de Windows en sistemas Linux.
Muchas ventajas, pero también algunas limitaciones
Este subsistema como se le ha conocido, logra un rendimiento realmente notable para la ejecución de aplicaciones Linux dentro del nuevo Windows 10. Tal como indicaba Kirkland, las benchmarks como sysbench indican que el rendimiento en este modo de ejecución es o “subsistema” es “prácticamente el equivalente” al que se obtendría con una instalación nativa de Windows, esto en cuanto al rendimiento de CPU, de la memoria y del I/O.
Cabe destacar que, este avance no es una plataforma servidora en la que por ejemplo hospedar sitios web, ejecutar infraestructura de servidor, entre otras. Ya que para ese tipo de escenarios recomienda la Microsoft usar las soluciones de Ubuntu en sus servicios en la nube, mejor conocido como Azure. Y por último, indicaban que las herramientas de Linux como por ejemplo bash, no podrán interactuar con las herramientas o aplicaciones de Windows y viceversa. En otras palabras, esto quiere decir que “no podrás ejecutar el bloc de notas desde bash, ni tampoco podrás ejecutar Ruby en bash desde el Powershell” .