Linux 6.1 RC1, il primo sguardo a Rust su Linux

Rust Linux

L'integrazione di Rust in Linux ha avuto un alto livello di accettazione da parte della comunità e degli sviluppatori

Con l'arrivo di il primo RC di Linux 6.1 ha incorporato molte importanti modifiche nella versione 6.1, ma una delle modifiche che ha ricevuto maggiore attenzione avrà anche l'effetto meno a breve termine sugli utenti del kernel: l'introduzione del supporto Rust.

Linus Torvalds aveva promesso all'ultimo, Open Source Summit che guiderebbe l'inclusione di Rust per Linux su kernel versione 6.1 e da cui il framework Rust iniziale è stato unito all'albero Git principale di Linux.

Questo nuovo il codice iniziale di 12 linee fornisce solo l'infrastruttura di base e un'integrazione molto semplice, mentre le future richieste pull aggiungeranno più astrazioni di sottosistemi, vari driver scritti in Rust e altro, inoltre la compilazione del kernel Linux con supporto Rust rimane facoltativa.

In un messaggio alla comunità del kernel, Torvald ha detto:

“L'albero ha una fondazione recente, ma è praticamente su Linux da un anno e mezzo. Aggiornato in base al feedback del Kernel Maintenance Summit. Miguel è il manutentore principale e io aiuto quando necessario. Il nostro piano prevede che l'albero passi alla pratica standard di non cambiare le basi una volta completato questo ciclo iniziale di infrastrutture. Il contenuto è il minimo assoluto per consentire l'integrazione del codice Rust nel kernel, con molte più interfacce (e driver: NVMe, 9p, GPU M1) in arrivo."

Pertanto nessun sistema con un kernel 6.1 eseguirà il codice Rust, cosa fornisce questo cambiamento è l'opportunità per gli sviluppatori del kernel di poter "giocare" con il linguaggio nel contesto del kernel e fatti un'idea di come avviene lo sviluppo di Rust. La conclusione più probabile per la maggior parte degli sviluppatori è che non c'è ancora abbastanza Rust nel core per fare qualcosa di utile.

Il lavoro su Rust per il kernel Linux è in corso da alcuni anni e ha portato a un sacco di codice di supporto e alcuni driver interessanti da guardare. Sono in corso altre iniziative, inclusa la scrittura di un driver grafico Apple in lingua Rust.

Per la fusione iniziale con il nucleo principale, Linus Torvalds ha chiarito di includere il minor numero di funzionalità possibile. Pertanto, questi driver e il relativo codice di supporto sono stati rimossi e devono attendere una futura versione del kernel. Quello che è presente è il supporto necessario per costruire un modulo che può essere caricato nel kernel, così come un piccolo modulo di esempio.

Ruggine per Linux mira a introdurre nel kernel un nuovo linguaggio di programmazione dei sistemi. Rust ha una proprietà chiave che lo rende molto interessante da considerare come il secondo linguaggio del kernel: garantisce che non si verificherà alcun comportamento indefinito (finché il codice non sicuro è sano di mente).

Ciò include l'assenza di errori come utilizzo post-libero, doppio rilascio, gare di dati, ecc. Dopo 31 anni, una seconda lingua sarà accettata per lo sviluppo principale. Le discussioni correlate ruotano attorno alla possibilità di abbandonare C a favore della lingua Rust.

La creazione della compatibilità con Rust richiede versioni specifiche del compilatore Rust e dell'utilità bindgen, in particolare Rust 1.62.0 e bindgen 0.56.0. Se il sistema di destinazione ha versioni più recenti, il processo di installazione emetterà avvisi ma continuerà comunque. Più scomodo per chiunque tenti di creare con la toolchain di Rust fornita dal proprio fornitore, il processo di compilazione necessita anche del codice sorgente della libreria standard di Rust per poter costruire la propria versione delle scatole principali e allocare.

Fatto ciò, il sistema di configurazione del kernel accetterà di impostare l'opzione CONFIG_RUST; un'opzione aggiuntiva creerà il modulo di esempio.

Infine, se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.