Microsoft ha annunciato lo sviluppo open source del sottosistema Windows per Linux (WSL), che consente l'esecuzione delle applicazioni Linux su Windows. Si noti che ora chiunque può compilare WSL a partire dal codice sorgente e partecipare allo sviluppo. Tra le altre cose, Microsoft ha iniziato ad accettare correzioni e nuove funzionalità dai membri della community in WSL. Il codice è pubblicato con licenza MIT. Per gli sviluppatori che desiderano partecipare al progetto, è stato lanciato il sito web wsl.dev.
WSL fornisce una macchina virtuale con un kernel Linux completo (basato sulla versione 6.6) in grado di eseguire distribuzioni Linux. Il kernel include modifiche specifiche di WSL, come ottimizzazioni per ridurre i tempi di avvio e il consumo di memoria, la capacità di recuperare la memoria liberata dai processi Linux da Windows e modifiche per eliminare driver e sottosistemi non necessari. Il sistema è installato in un'immagine disco separata (VHD) con un file system ext4 e una scheda di rete virtuale.
I componenti WSL correlati al kernel Linux e lo stack grafico wslg utilizzati per eseguire le applicazioni GUI basate su Wayland e X11 sono stati sviluppati fin dall'inizio in modalità open source, ma tutti gli strumenti di accompagnamento sono rimasti proprietari. D'ora in poi, i seguenti componenti sono stati trasferiti alla lista aperta:
- Le utilità della riga di comando wsl.exe, wslconfig.exe e wslg.exe venivano utilizzate per interagire con WSL.
- Il servizio wslservice.exe viene utilizzato per avviare una macchina virtuale, attivare l'ambiente Linux al suo interno e montare i file system.
- Processi in background avviati nell'ambiente Linux per accedere alle funzionalità WSL. Ad esempio, il processo init per l'inizializzazione, gns per la configurazione dell'accesso alla rete, localhost per l'inoltro delle porte.
- Processo Plan9 con implementazione server Plan9, utilizzato in WSL per condividere file Linux da Windows.

Fanno parte di Windows e al momento non sono aperti:
- Driver del kernel Lxcore.sys utilizzato per eseguire gli eseguibili ELF tramite il livello di compatibilità.
- Il driver P9rdr.sys e la libreria p9np.dll consentono il reindirizzamento dell'accesso al file system "\\wsl.localhost" quando si accede a Linux da Windows.
Contemporaneamente, Microsoft ha rilasciato il codice sorgente dell'editor di testo per console Edit sotto licenza MIT, scritto nel linguaggio Rust e destinato a essere distribuito di default nelle versioni a 64 bit di Windows. Nei prossimi mesi, l'editor sarà disponibile per la revisione e il test nelle build del programma Windows Insider, dopodiché sarà incluso nella distribuzione standard di Windows 11.
L'editor ha tentato di implementare un'interfaccia moderna con controlli nello stile di VS Code. L'obiettivo dichiarato è quello di fornire un'interfaccia chiara e semplice da usare anche per chi non ha esperienza di lavoro nel terminale. L'editor è compatto e occupa solo 250 kB su disco. Vengono menzionate le seguenti caratteristiche: un sistema di menu, scorciatoie da tastiera o controllo del mouse, supporto per le schede e lavoro simultaneo con più file, operazioni di ricerca e sostituzione e modalità di interruzione automatica del testo.

Inoltre, l'aggiornamento di Windows di maggio ha corretto un bug che impediva ad alcuni sistemi Linux di avviarsi in configurazioni dual-boot in cui Windows e Linux vengono utilizzati sullo stesso computer. Il problema si è manifestato nell'agosto dell'anno scorso ed è stato risolto solo ora (in precedenza la correzione richiedeva l'eliminazione manuale dei dati SBAT installati in UEFI). Il nocciolo del bug è che Microsoft voleva bloccare la possibilità di bypassare la modalità Secure Boot utilizzando versioni vulnerabili di GRUB su computer che utilizzano solo Windows, ma non ha preso in considerazione le sfumature. La modifica ha causato in ultima analisi un processo di avvio non funzionante per gli utenti dual-boot che utilizzavano distribuzioni Linux con parametri SBAT non patchati e bootloader GRUB.
Fonte: opennet.ru
