Il pinguino alla finestra: sul potenziale e le prospettive di WSL2

Ciao, Habr!

Mentre prosegue a pieno ritmo la svendita estiva, vorremmo proporvi di discutere uno dei temi più importanti su cui stiamo lavorando ultimamente: l'interazione tra Windows e Linux, legata, in particolare, allo sviluppo del sistema WSL. WSL 2 è ormai alle porte e vi presentiamo una breve panoramica delle funzionalità che ci aspettano in questo sottosistema, oltre a una previsione sull'integrazione futura tra Windows e Linux.

Il pinguino alla finestra: sul potenziale e le prospettive di WSL2

A maggio di quest'anno, Microsoft ha annunciato che WSL2, l'ultima versione del sottosistema Windows per Linux, funzionerà su un kernel Linux completo, assemblato dall'azienda.
In questo modo, Microsoft integra per la prima volta un kernel Linux in Windows come uno dei propri componenti. Inoltre, Microsoft introduce una nuova riga di comando in Windows, che amplierà le capacità di PowerShell e WSL.

Sia il kernel Linux per WSL2, creato da Microsoft, sia la nuova riga di comando di Windows sono di particolare interesse per gli sviluppatori.

«È la mossa più forte nella partita contro AWS», osserva Joshua Schwartz, direttore dei programmi di digitalizzazione nella società di consulenza A.T. Kearney.

Il futuro di Microsoft non è legato al mercato dei PC, anche se continuerà a mantenere una forte posizione in questo segmento. È molto più importante affermarsi nel mercato del cloud, di cui potrebbero far parte anche i desktop in futuro.

Cosa fa WSL2

WSL2 è la più recente infrastruttura del sottosistema Windows per Linux. Permette di migliorare radicalmente le prestazioni del file system e garantisce la compatibilità completa con le chiamate di sistema.

Una delle principali richieste della comunità WSL era legata all'ampliamento delle funzionalità. Su WSL2 funzionano molti più strumenti per Linux rispetto a WSL, in particolare Docker e FUSE.
WSL2 gestisce operazioni di file intense, come git clone, npm install, apt update e apt upgrade. L'effettivo aumento della velocità dipende dall'applicazione specifica e da come interagisce con il file system.

I primi test hanno mostrato che WSL2 gestisce l'estrazione di tar da zip circa 20 volte più velocemente di WSL1. Durante l'uso di git clone, npm install e cmake in vari progetti, il sistema ha mostrato un aumento delle prestazioni da due a cinque volte.

Questo aiuterà a conquistare la fiducia degli sviluppatori?

In sostanza, Microsoft mira a guadagnare riconoscimento e fiducia nella comunità degli sviluppatori, occupandosi dello sviluppo della propria versione del kernel Linux per supportare i processi WSL2 – afferma Cody Swann, CEO di Gunner Technology.

«A parte lo sviluppo puramente per Windows, creare tutte le altre applicazioni – cloud, mobile, web – su PC era estremamente scomodo, il che portava gli sviluppatori a dover in qualche modo caricare una distribuzione Linux parallelamente al sistema operativo Windows. Microsoft lo ha riconosciuto e ha offerto una soluzione», conclude.

È improbabile che l'implementazione di un proprio kernel Linux influisca seriamente sull’uso del sistema dal punto di vista dell'utente medio. Tuttavia, in questo caso si aprono opportunità per una maggiore interazione tra i servizi Microsoft e il sistema operativo Linux.
Questo approccio da parte di Microsoft è davvero molto astuto, poiché aiuta a penetrare più profondamente nella comunità degli sviluppatori e a utilizzare attivamente i prodotti sviluppati da altri – ovvero, connettersi all'open source – sostiene Swann.

Benvenuti in New Microsoft

La tendenza verso la creazione e il supporto di un kernel Linux «specificamente per Windows» riflette una chiara direzione verso l'open source, promossa dal CEO Satya Nadella. Microsoft non è più quella di Gates e Ballmer, quando tutto era chiuso in un recinto proprietario e nessuno pensava all'interoperabilità.

«Satya ha completamente trasformato Microsoft in una piattaforma molto più moderna, e questa strategia si è ripagata abbondantemente. Ciao, capitalizzazione in trilioni di dollari», dice Schwartz.

Secondo Charles King, analista principale di Pund-IT, due dei principali punti di forza di Microsoft sono legati all'efficienza e alla sicurezza.

«Utilizzando attivamente le proprie solide risorse e strumenti, l'azienda può garantire ai clienti che il kernel sarà completamente aggiornato e dotato delle ultime patch e correzioni, garantendo una sicurezza totale», aggiunge.

Anche gli sviluppatori ne traggono vantaggio

I file binari di Linux svolgono molte funzioni tramite chiamate di sistema, ad esempio interagendo con i file, richiedendo memoria e creando processi. WSL1 si basa su un livello di traduzione che interpreta molte di queste chiamate di sistema, consentendo loro di interagire con il kernel di Windows NT.

La parte più difficile è implementare tutte le chiamate di sistema. Poiché in WSL1 questo non è stato fatto, alcune applicazioni non potevano funzionare. In WSL2 appare un numero elevato di nuove applicazioni che funzionano correttamente in quest'ambiente.

La nuova architettura consente a Microsoft di introdurre le più recenti ottimizzazioni nel kernel di Linux molto più rapidamente rispetto a WSL1. Microsoft può aggiornare il kernel di WSL2 senza dover reimplementare tutte le limitazioni.

Strumento completamente open source

Lo sviluppo di un proprio kernel Linux da parte di Microsoft è stata la conclusione di anni di lavoro svolto dal Linux Systems Group e da molti altri team all'interno della corporazione Microsoft, come afferma Jack Hammons, program manager nel Linux Systems Group di Microsoft.

Il kernel fornito per WSL2 sarà completamente open source, e Microsoft pubblicherà su GitHub istruzioni su come costruire tale kernel. L'azienda collaborerà con gli sviluppatori desiderosi di contribuire al progetto e promuoverà modifiche ascendenti.

Gli sviluppatori di Microsoft hanno creato WSL2 utilizzando sistemi di integrazione continua e consegna continua in azienda. Questo software sarà supportato tramite il sistema di aggiornamenti di Windows e sarà totalmente trasparente per l'utente. Il kernel rimarrà attuale e includerà tutte le funzionalità dell'ultima versione stabile di Linux.

Per garantire l'accessibilità del codice sorgente, l'azienda specchia i repository localmente e monitora costantemente il contenuto della mailing list di Linux riguardo alle vulnerabilità di sicurezza, collaborando anche con diverse aziende che supportano l'interazione con database in ambienti virtuali aziendali (CVE). In questo modo si assicura che nel kernel di Linux di Microsoft vengano considerati gli aggiornamenti più recenti e risolte tutte le minacce emergenti.

Le modifiche ascendenti diventano obbligatorie.

Microsoft garantisce che tutte le modifiche al kernel saranno diffuse in senso ascendente: questo è un aspetto importante della filosofia di Linux. Il supporto per patch discendenti comporta una complessità aggiuntiva; inoltre, questa pratica non è comune nella comunità dello sviluppo libero.

L'obiettivo di Microsoft, che utilizza attivamente Linux, è di diventare un membro disciplinato di questa comunità e di fornire le modifiche apportate a disposizione della comunità. Per garantire la stabilità dei rami legati al supporto a lungo termine, alcune patch, come quelle contenenti nuove funzionalità, potrebbero essere incluse solo nelle nuove versioni del kernel e non portate nella versione attuale LTS in modalità di retrocompatibilità.

Quando i sorgenti del kernel WSL saranno disponibili, saranno costituiti da collegamenti a un insieme di patch e da una parte stabile a lungo termine dei sorgenti. Microsoft prevede che nel tempo questo elenco si ridurrà, man mano che le patch verranno diffuse in senso ascendente e nuove patch locali verranno aggiunte per supportare le nuove funzionalità di WSL.

Un aspetto visivo più gradevole delle finestre

Microsoft ha anche annunciato l'uscita della versione 'invernale' in preparazione di Windows Terminal: è una nuova applicazione per gli utenti che lavorano con strumenti da riga di comando e shell, in particolare Command Prompt, PowerShell e WSL.

Il pinguino alla finestra: sul potenziale e le prospettive di WSL2

Terminale di Windows

Windows Terminal 1.0 offre numerose impostazioni e opzioni di configurazione che offrono un controllo più completo sull'aspetto della finestra del terminale, nonché sulle shell/profili che devono aprirsi come nuove schede.

Le impostazioni saranno salvate in un file di testo strutturato, rendendole facili da configurare e decorare secondo i propri gusti nella finestra del terminale.

Microsoft interrompe lo sviluppo della console di Windows esistente e ne crea una nuova da zero, decidendo di applicare un approccio fresco. Windows Terminal si installa e funziona in parallelo con l'applicazione Windows Console esistente, fornita 'out of the box'.

Come funziona

Quando un utente di Windows 10 avvia direttamente Cmd/Powershell/ecc., viene attivato un processo associato a un'istanza normale della Console. Il meccanismo di configurazione del nuovo terminal permette agli utenti di Windows di creare molteplici profili per tutte le shell/applicazioni/strumenti desiderati, sia in PowerShell, nel prompt dei comandi, in Ubuntu, o anche durante connessioni SSH con Azure o dispositivi Internet of Things.

In questi profili possono essere previste combinazioni personalizzate di stile e dimensione del carattere, temi di colore, livelli di sfocatura o trasparenza dello sfondo. Inoltre, gli utenti potranno scegliere un nuovo carattere monospace per rendere la finestra del terminal più moderna e accattivante. Questo carattere includerà legature per programmatori, sarà reso disponibile al pubblico e sarà conservato in un proprio repository.

I principali vantaggi del nuovo interfaccia a riga di comando di Windows sono molteplici schede e testo di qualità. Il supporto per molteplici schede è stato considerato la richiesta più importante in merito allo sviluppo del terminal. Il testo di qualità è ottenuto grazie a un motore di rendering basato su DirectWrite/DirectX, dotato di accelerazione GPU.

Il motore visualizza icone testuali, glifi e simboli speciali presenti nei caratteri, tra cui ideogrammi cinesi, giapponesi e coreani (CJK), emoji, simboli powerline, icone e legature per programmatori. Inoltre, questo motore visualizza il testo molto più rapidamente rispetto a GDI, precedentemente utilizzato nella console.

La retrocompatibilità rimane pienamente intatta, anche se, se lo si desidera, si può provare Windows Terminal.

Cronologia: come sarà

Microsoft fornirà Windows Terminal tramite il Microsoft Store in Windows 10 e lo aggiornerà regolarmente. In questo modo, gli utenti lavoreranno sempre con le versioni più recenti e le ultime migliorie – praticamente senza sforzi aggiuntivi.

Microsoft prevede di lanciare il nuovo terminal la prossima inverno. Dopo il rilascio di Windows Terminal 1.0, gli sviluppatori continueranno a lavorare a molte funzionalità già rimandate nel backlog.

Codice sorgente di Windows Terminal e della Console di Windows è già stato reso disponibile su GitHub.

Cosa possiamo aspettarci in futuro?

La possibilità che Microsoft decida di utilizzare un proprio kernel Linux anche per altri scopi, ad esempio, per sviluppare una propria distribuzione Linux, sembra al momento piuttosto ipotetica.

Probabilmente, il risultato dipende da se Microsoft riuscirà a scoprire una domanda significativa per tale prodotto e quali opportunità commerciali potrebbero potenzialmente aprirsi con tali sviluppi, sostiene Charles King.

Lui pensa che nel prossimo futuro l'azienda si concentrerà principalmente sull'assicurare una sempre più stretta compatibilità tra Windows e Linux e sulla loro reciproca integrazione.

Joshua Schwartz ritiene che in questo caso sarà necessario valutare quali saranno gli investimenti in questo lavoro e quale sarà il rendimento da esso. Se oggi Microsoft fosse un'azienda completamente giovane, probabilmente farebbe tutto basandosi su Linux. Tuttavia, il porting di tutti i progetti già esistenti in Microsoft sulla architettura nativa di Linux sembra oggi un progetto costoso e complesso, che difficilmente si ripagherebbe bene. Gli appassionati di Linux otterranno il loro Linux, mentre l'architettura principale rimarrà intatta.

Quando Apple nel 2000 reinventò Mac OS, questo sistema operativo era basato su BSD Unix, che è più simile a Linux che a DOS. Oggi, invece, la nuova versione di Microsoft Windows è costruita proprio su base Linux.

Forse si sta aprendo una nuova porta?

Il kernel Linux di Microsoft potrebbe aprire la strada a una maggiore interazione tra i servizi di Windows e il sistema operativo Linux. In sostanza, questi sviluppi di Microsoft testimoniano che anche all'interno dell'azienda Microsoft si rendono conto che oggi restano pochi clienti che preferiscono esistere in un mondo caratterizzato esclusivamente da Windows.

È molto più sensato utilizzare tecnologie e sistemi eterogenei che rispondano al meglio ai requisiti aziendali e alle specifiche situazioni pratiche.

Una questione strategica più importante è quali nuove opportunità strategiche apre tale mossa per la piattaforma Microsoft stessa?

Azure - l'ecosistema cloud di Microsoft - fornisce già un enorme supporto a Linux. In precedenza, Windows supportava bene Linux tramite macchine virtuali.

I cambiamenti fondamentali che si stanno verificando oggi riguardano il fatto che ora i processi Linux saranno eseguiti nativamente sul kernel di Windows, e quindi il lavoro con Linux da Windows sarà molto più veloce rispetto alle macchine virtuali. È molto probabile che di conseguenza Azure si arricchirà di una vera e propria classe di ingegneri che utilizzano Linux su scala industriale.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster