Azienda Microsoft alla conferenza Microsoft Build 2019 in corso in questi giorni è stata presentata la nuova sottosistema WSL2 (Windows Subsystem for Linux), progettata per eseguire file eseguibili Linux su Windows. Caratteristica chiave la fornitura di un kernel Linux completo, invece di un'interfaccia che traduce in tempo reale le chiamate di sistema Linux in chiamate di sistema di Windows.
La versione di prova di WSL2 sarà disponibile alla fine di giugno nelle build sperimentali. Il supporto per WSL1 basato su emulatore sarà mantenuto e gli utenti potranno utilizzarlo affiancato a WSL2. Per eseguire il kernel Linux nell'ambiente Windows viene utilizzata una macchina virtuale leggera già utilizzata in Azure.
Nell'ambito di WSL2 per Windows 10 sarà offerto un componente con il kernel Linux 4.19 standard. Man mano che verranno rilasciati aggiornamenti per il ramo LTS 4.19, il kernel per WSL2 verrà rapidamente aggiornato tramite il meccanismo di Windows Update e testato nell'infrastruttura di integrazione continua di Microsoft. In WSL2 verrà utilizzato lo stesso kernel utilizzato nell'infrastruttura Azure, semplificando così la gestione.
Tutte le modifiche preparate per l'integrazione del kernel con WSL saranno pubblicate con la licenza GPLv2 e trasferite nel progetto upstream. Le patch preparate includono ottimizzazioni per ridurre il tempo di avvio del kernel, diminuire il consumo di memoria e mantenere nel kernel il minimo necessario insieme di driver e sottosistemi. Il kernel proposto potrà fungere da sostituto trasparente dell'interfaccia emulativa offerta in WSL1. La disponibilità del codice sorgente consentirà agli appassionati di creare le proprie build del kernel Linux per WSL2, per le quali saranno fornite le istruzioni necessarie.
Utilizzare il kernel standard con ottimizzazioni dal progetto Azure garantirà la completa compatibilità con Linux a livello di chiamate di sistema e permetterà l'esecuzione senza soluzione di continuità di contenitori Docker su Windows, oltre a implementare il supporto per i file system basati sul meccanismo FUSE. Inoltre, in WSL2 è stata notevolmente aumentata la prestazione delle operazioni di input/output e dei file system, che in precedenza erano il collo di bottiglia di WSL1. Ad esempio, durante l'estrazione di un archivio compresso, WSL2 è 20 volte più veloce di WSL1.
«git clone», «npm install», «apt update» e «apt upgrade» da 2 a 5 volte.
Nonostante la fornitura del kernel Linux, WSL2 non offrirà come in passato un set pronto di componenti per l'utente. Questi componenti vengono installati separatamente e si basano su build di vari distribuzioni. Ad esempio, per l'installazione in WSL nel Microsoft Store. compilare , , e . Per interagire con il kernel Linux fornito in Windows sarà necessario inserire un piccolo script di inizializzazione nella distribuzione, modificando il processo di avvio. Canonical ha già annunciato l'intenzione di garantire un supporto completo per il funzionamento di Ubuntu sopra WSL2.
Inoltre, si può notare con Microsoft per l'emulatore di terminale. , il cui codice è distribuito sotto licenza MIT. Insieme al terminale, è stato aperto anche il codice dell'interfaccia a riga di comando originale conhost.exe, utilizzato in Windows e che implementa l'API della Console di Windows. Il terminale offre un'interfaccia basata su schede e finestre condivise, supporta completamente Unicode e sequenze di escape per l'output a colori, consente di cambiare i temi e di connettere estensioni, supporta console virtuali (PTY) e utilizza DirectWrite/DirectX per accelerare il rendering del testo. È possibile utilizzare le shell Command Prompt (cmd), PowerShell e WSL nel terminale. Quest'estate, il nuovo terminale sarà disponibile per gli utenti Windows attraverso il catalogo Microsoft Store.
Fonte: opennet.ru
