Español
Appearance
Español
Appearance
Este documento analiza en profundidad el diseño de la arquitectura de WSL Dashboard, la selección de tecnologías y la lógica de implementación subyacente de las funciones clave, con el objetivo de ofrecer una perspectiva técnica profunda a desarrolladores y usuarios avanzados.
WSL Dashboard adopta la arquitectura clásica de UI reactiva como controlador + tareas asíncronas en segundo plano, aprovechando el sistema de tipos y el modelo de propiedad del lenguaje Rust para garantizar la seguridad de memoria y el alto rendimiento concurrente.
La aplicación obtiene el estado de las instancias en tiempo real invocando wsl.exe --list --verbose y analizando su salida (gestionando la codificación UTF-16).
La función de migración aprovecha el mecanismo de importación/exportación de WSL, pero con una alta abstracción y un tratamiento atómico.
La función de red no es una simple llamada a netsh interface portproxy.
wsl hostname -I, mapea automáticamente la IP de la red virtual entre el host y la instancia.Utiliza la interfaz de línea de comandos de usbipd-win.
La aplicación supervisa su propio uso de recursos mediante API nativas de Windows (como GetProcessMemoryInfo).
| Métrica | Objetivo/medición | Medios de optimización |
|---|---|---|
| Velocidad de inicio | < 500ms | Interfaz Slint precompilada para reducir el análisis en tiempo de ejecución. |
| Memoria base (bandeja) | ~10MB | Minimizar la frecuencia de sondeo en segundo plano y liberar las cachés de renderizado bajo demanda. |
| Uso de CPU (en reposo) | < 0.1% | Usar el modelo de eventos de Windows para evitar sondeos en bucle vacío. |
| Frecuencia de renderizado | 60 FPS | Aceleración por GPU de Skia, renderizado antialias subpixel. |
Para garantizar la fluidez de la UI, todas las operaciones costosas (como exportar VHDX) se despachan mediante tareas asíncronas:
Command.tokio::sync::mpsc.~\.wsldashboard; no se realiza ninguna sincronización en la nube, protegiendo la privacidad del usuario.