Introducción avanzada a WSL2


Desde su lanzamiento, WSL2 (Windows Subsystem for Linux 2) ha transformado el panorama del desarrollo en Windows, ofreciendo una integración casi nativa con Linux sin necesidad de usar máquinas virtuales tradicionales. A diferencia de WSL1, que traducía llamadas del sistema de Linux a Windows, WSL2 ejecuta un kernel Linux completo dentro de una VM optimizada y ligera. Esta diferencia técnica lo convierte en una herramienta poderosa para desarrolladores modernos, DevOps, científicos de datos y más.

🔍 Diferencias clave entre WSL1 y WSL2

CaracterísticaWSL1WSL2
Kernel LinuxNo (traducción de llamadas)Sí (kernel completo real)
Compatibilidad syscallLimitadaTotal
Performance en filesystemMás rápido en /mnt/c/Más rápido en /home/
Soporte para DockerParcialCompleto con Docker Desktop y systemd
Uso de memoriaBajoMayor (usa VM)

🧱 Arquitectura de WSL2

  • Utiliza una máquina virtual ligera basada en Hyper-V, completamente administrada por Windows.
  • El kernel Linux es compilado y mantenido por Microsoft, lo que garantiza compatibilidad y actualizaciones.
  • Usa un sistema de archivos virtual (ext4) por cada distro, que puede residir en un archivo .vhdx.
# Ver distros instaladas con su estado
wsl --list --verbose

⚙️ Flujos de trabajo avanzados

🧪 Casos de uso reales

  1. DevOps híbrido: Ejecutar herramientas de infraestructura (Terraform, Ansible) nativamente en Linux.
  2. Desarrollo Backend: Node, Rust, Python o Go sobre distros Linux con acceso directo a servicios como PostgreSQL o Redis.
  3. Data Science & AI: Compatibilidad con CUDA para entrenamiento de modelos con GPU.
  4. CI/CD local: Crear pipelines reproducibles desde scripts Bash antes de subirlos a GitHub Actions o Azure Pipelines.

⚠️ Consideraciones y tips

  • Evita trabajar en archivos dentro de /mnt/c/ si quieres máxima performance.
  • Usa .wslconfig para limitar recursos (CPU, memoria, swap) usados por la VM.
  • Configura ~/.wslconfig para tunear el entorno global.
[wsl2]
memory=4GB
processors=2
swap=2GB

Ver también

comments powered by Disqus