Il sottosistema Windows per Linux è un livello di compatibilità che permette di eseguire i programmi nativi di Linuxdirettamente dalla riga di comando di Windows. Nello specifico, WSL rende possibile l’esecuzione di file binari a 64 bit di Linux nello standard “Executable and Linkable Format” (ELF).
Il sottosistema Windows per Linux è disponibile a partire da Windows 10, sebbene l’interesse di Microsoft nel facilitare gli utenti Windows nel lavoro con gli strumenti Linux dal classico ambiente desktop risale a molto tempo prima. WSL nasce dal progetto “Microsoft Windows Services for Unix” (SFU / Interix), che a sua volta deriva dallo sviluppo del sottosistema POSIX già integrato in Windows NT. Lo sviluppo continuo ha portato oggi al rilascio di Windows Subsystem for Linux 2 (WSL2).
Prima dell’avvento di WSL gli utenti erano costretti ad adoperarsi in prima persona per combinare il meglio degli universi Windows e Linux. In linea di massima c’erano due possibilità per rendere i programmi Linux eseguibili su Windows:
- Impiego di una macchina virtuale. In questo caso un’intera installazione Linux viene installata in Windows come computer virtuale. Molto facile da usare, permette l’utilizzo di tutte le funzioni delle applicazioni Linux, pesa però sulle risorse hardware. Inoltre, lo scambio tra i programmi in esecuzione sui due sistemi operativi è possibile soltanto limitatamente.
- Impiego dell’ambiente di runtime Linux Cygwin. Installandolo in Windows permette l’utilizzo di molti dei programmi Linux più utilizzati. Cygwin assicura uno scambio, seppur limitato, tra i programmi Windows e Linux.
In alternativa, gli utenti avevano la possibilità di configurare Linux parallelamente all’installazione Windows. Questo setup conosciuto come dual-boot richiede tuttavia il riavvio del computer per passare da un sistema operativo all’altro, rendendo perciò impossibile lo scambio tra i programmi in esecuzione di Windows e Linux.
Windows Subsystem for Linux non ha una macchina virtuale, il che lo rende performante. Tuttavia, non dispone neanche di un kernel Linux completo e quindi non tutte le applicazioni sono supportate. In particolare, WSL da solo non permette l’esecuzione di programmi Linux con interfaccia grafica (GUI). Per questo specifico scenario d’impiego esistono soluzioni alternative che richiedono però ulteriori passaggi per l’installazione e la configurazione.