Arriva la decima versione di Rust per Linux, pronta per essere inclusa in Linux 6.1

Driver Rust su Linux

Rust è ora pronto per unirsi a C come linguaggio pratico da implementare su Linux

Qualche settimana fa abbiamo condiviso qui sul blog la notizia della conferma che è stata fatta durante l'Open Source Summit Europe, di Linus Torvalds annunciato che, salvo imprevisti, se includerà patch per supportare lo sviluppo del driver Rust nel kernel Linux 6.1, che dovrebbe essere rilasciato a dicembre.

Il motivo per menzionarlo è quello Lo ha annunciato Miguel Ojeda, autore del progetto Rust-for-Linux recentemente il lancio di la decima proposta dei componenti per lo sviluppo Driver di dispositivo ruggine per gli sviluppatori del kernel Linux da considerare.

In quanto tale, questa è l'undicesima edizione delle patch, tenendo conto della prima versione rilasciata (nessun numero di versione). Linus Torvalds ha approvato l'inclusione del supporto Rust nel kernel Linux 6.1, salvo problemi imprevisti.

Driver Rust su Linux
Articolo correlato:
Torvalds ha annunciato che Rust sarà accettato in Linux 6.1

Vale la pena ricordare che lo sviluppo è finanziato da Google e dall'ISRG (Internet Security Research Group), che è il fondatore del progetto Let's Encrypt e promuove HTTPS e lo sviluppo di tecnologie per aumentare la sicurezza di Internet.

un po ' dei vantaggi di ottenere il supporto di Rust nel kernel semplificano la scrittura dei controller di dispositivi sicuri riducendo le possibilità di errori di memoria e incoraggiare i nuovi sviluppatori a essere coinvolti nel kernel.

"La ruggine è una di quelle cose che penso porterà a nuovi volti... stiamo diventando vecchi e grigi", ha detto Linus.

Le note di rilascio per Linux 6.0 fornisce aggiornamento sullo stato di avanzamento del progetto Rust per Linux: esiste un gruppo di lavoro correlato, è disponibile un driver preliminare per supporti di archiviazione NVMe sviluppati con quel linguaggio, nonché un driver per un server destinato al protocollo di rete 9P.

Approfittando della menzione sulla versione del kernel 6.1 Linus ha anche annunciato che la versione 6.1 del kernel migliorerà alcune delle parti precedenti e i fondamenti del kernel, come la funzione printk().

Per quanto riguarda questa nuova proposta di patch Rust, così come l'ultima versione delle patch, la decima versione è ridotta al minimo indispensabile, abbastanza per costruire un semplice modulo del kernel scritto in Rust.

Differenze con la versione precedente sono ridotti a piccole correzioni, sostituendo sizeof con ARRAY_SIZE in kallsyms.ce portando le patch al kernel v6.0-rc7.

Il supporto per la ruggine dovrebbe ancora essere considerato sperimentale. Tuttavia,
Il supporto è abbastanza buono da consentire agli sviluppatori del kernel di iniziare a lavorarci.

La patch minima, che è stata ridotta da 40 righe di codice a 000 righe di codice, dovrebbe, semplifica l'adozione del supporto Rust nel nucleo. Dopo aver fornito un supporto minimo, si prevede di aumentare gradualmente le funzionalità esistenti, portando altre modifiche dal ramo Rust-for-Linux.

Le modifiche proposte consentono di utilizzare Rust come seconda lingua per lo sviluppo di driver e moduli del kernel. Il supporto di Rust è presentato come un'opzione che non è abilitata per impostazione predefinita e non comporta l'inclusione di Rust tra le dipendenze di build richieste per il kernel.

L'uso di Rust per sviluppare driver ti consentirà di creare driver migliori e più sicuri con il minimo sforzo, senza problemi come l'accesso a un'area di memoria dopo averla liberata, i puntatori nulli di dereferenziazione e gli overflow del buffer.

La gestione sicura della memoria è fornita in Rust in fase di compilazione controllando i riferimenti, tenendo traccia della proprietà dell'oggetto e della durata dell'oggetto (ambito), nonché valutando la correttezza dell'accesso alla memoria durante l'esecuzione del codice.

ruggine anche fornisce protezione da overflow di numeri interi, richiede l'inizializzazione obbligatoria dei valori delle variabili prima dell'uso, gestisce meglio gli errori nella libreria standard, applica il concetto di variabili e riferimenti immutabili per impostazione predefinita, offre una forte tipizzazione statica per ridurre al minimo gli errori logici.

Infine se sei interessato a saperne di più sulla nota, è possibile consultare le mailing list sull'argomento, nel seguente link


Lascia un tuo commento

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

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  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.