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ística | WSL1 | WSL2 |
---|---|---|
Kernel Linux | No (traducción de llamadas) | Sí (kernel completo real) |
Compatibilidad syscall | Limitada | Total |
Performance en filesystem | Más rápido en /mnt/c/ | Más rápido en /home/ |
Soporte para Docker | Parcial | Completo con Docker Desktop y systemd |
Uso de memoria | Bajo | Mayor (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
- DevOps híbrido: Ejecutar herramientas de infraestructura (Terraform, Ansible) nativamente en Linux.
- Desarrollo Backend: Node, Rust, Python o Go sobre distros Linux con acceso directo a servicios como PostgreSQL o Redis.
- Data Science & AI: Compatibilidad con CUDA para entrenamiento de modelos con GPU.
- 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
- Construcción de un asistente contextual para escritorio usando IA local con acceso al sistema
- Integración de inferencia local ONNX con Windows ML en apps modernas
- Integración con servicios locales vía App Services y extensión de funcionalidades entre apps
- Implementación de Background Tasks persistentes en apps modernas
- Empaquetado de apps modernas con MSIX y configuración avanzada del manifiesto