Con una modifica applicata sul suo Windows Subsystem for Linux 2 (WSL2), Microsoft applica un intervento che in realtà racconta molto dell’evoluzione del rapporto tra Windows e Linux. Dal debutto di WSL nel 2016, Microsoft ha progressivamente abbandonato l’idea iniziale della semplice traduzione delle syscall di Linux in quelle di Windows per promuovere il supporto di un vero kernel Linux virtualizzato.
Oggi quella scelta arriva a una nuova tappa: il passaggio al kernel Linux 6.18 LTS introduce miglioramenti concreti su memoria, file system e virtualizzazione. È un cambio di release che incide direttamente su prestazioni, compatibilità e manutenzione nel medio periodo.
Il salto è significativo anche dal punto di vista storico. Fino a poco tempo fa WSL2 si basava su Linux 6.6 LTS, ormai distante due cicli LTS (Long-Term Support) rispetto alla release attuale. Considerando che ogni ciclo LTS ha una finestra di supporto pluriennale, mantenere una base troppo vecchia espone a inefficienze e patch fuori albero difficili da sostenere. Il nuovo rilascio di linux-msft-wsl-6.18.20.1 si inserisce proprio in questa logica: ridurre il debito tecnico e avvicinarsi al kernel upstream.
Perché Microsoft ha aggiornato il kernel di WSL2
WSL2 non è soltanto un layer di compatibilità: come accennato in precedenza, agisce come una macchina virtuale leggera basata su Hyper-V che esegue un kernel Linux reale.
Con Linux 6.18, Microsoft riesce a rimuovere diverse modifiche proprietarie, in particolare quelle legate a VirtIO PMEM. Questa tecnologia permette di esporre memoria persistente alla macchina virtuale: e con meno codice “personalizzato”, c’è meno bisogno di manutenzione e meno rischio di regressioni.
Linux 6.18 non introduce una singola caratteristica rivoluzionaria, ma un insieme di miglioramenti di rilievo: alcuni di questi risultano particolarmente utili in un ambiente come WSL2.
Uno degli aggiornamenti più evidenti riguarda il supporto ai file system. Il kernel Microsoft ora abilita F2FS ed exFAT. Il primo è ottimizzato per storage flash, con log-structured design che riduce la frammentazione; il secondo, sviluppato proprio da Microsoft, migliora l’interoperabilità con dispositivi esterni e ambienti Windows. È curioso che exFAT sia attivato solo ora: probabilmente la priorità iniziale era garantire stabilità piuttosto che un supporto esteso.
Arrivano anche modifiche nella configurazione del kernel tramite Kconfig. Per chi sviluppa applicazioni complesse od ottimizza le prestazioni, assegnare nomi chiari e descrittivi alle aree VMA (Virtual Memory Areas, cioè le regioni di memoria virtuale usate dai processi) rende più semplice comprenderne il comportamento e analizzarne l’utilizzo.
Kernel Linux 6.18: impatto su performance e compatibilità
Linux 6.18 apporta miglioramenti sostanziali nella gestione della memoria e nelle funzionalità di rete. In particolare, le ottimizzazioni dello slab allocator, il componente del kernel che gestisce l’allocazione efficiente della memoria per oggetti di dimensioni fisse, insieme all’introduzione di nuove strutture dati per organizzare e tracciare le pagine di memoria, consentono di ridurre il sovraccarico operativo e di diminuire i tempi di risposta durante le operazioni di allocazione.
In un ambiente virtualizzato come WSL2 questi benefici si amplificano: la memoria è condivisa con il sistema host e il comportamento del kernel influisce direttamente sulla reattività delle applicazioni Linux. Un allocator più efficiente o una migliore gestione dello swapping può tradursi in tempi di risposta più convincenti, soprattutto sotto carico.
I miglioramenti nella gestione TCP e nella scalabilità dei server NFS sono utilissimi per chi utilizza WSL2 nello sviluppo backend o nelle attività di testing di servizi distribuiti: le modifiche spazzano via i colli di bottiglia che prima emergevano in modo intermittente.
In futuro Windows basato (anche) su Linux?
Nonostante i progressi, WSL2 resta ancora un ambiente ibrido. Non è una distribuzione Linux tradizionale e alcune limitazioni persistono: il kernel, ad esempio, è distribuito e configurato da Microsoft, quindi l’utente ha meno controllo rispetto a un sistema nativo.
Nel complesso, WSL2 è una soluzione estremamente pratica: è uno strumento prezioso (lo utilizziamo abbondantemente anche noi) per chi lavora in ambienti Windows ma ha bisogno di strumenti Linux.
C’è chi ipotizza un futuro in cui Windows possa appoggiarsi direttamente a un kernel Linux, ma la questione della compatibilità con Win32 resta un ostacolo enorme. Il problema è che tutto il software Windows più datato si basa su specifiche ABI (Application Binary Interface, cioè le regole che permettono ai programmi di interagire direttamente con il sistema operativo a livello binario) e su un’architettura diversa rispetto a Linux; per riprodurne il funzionamento servirebbe qualcosa di simile a Wine, ma con un grado di integrazione nel sistema e una comprensione interna molto più avanzati. E Microsoft, abbandonando la strada iniziale del layer di compatibilità imboccata con WSL, ha certificato di non voler utilizzare tale approccio.
WSL2, alla fine, è uno strumento concreto capace di riduce l’attrito tra due mondi – quello di Windows e quello di Linux – che, per molti professionisti, continuano a convivere ogni giorno.