Linus Torvalds non ha escluso la possibilità di integrare il supporto di Rust nel kernel Linux 5.20

Alla conferenza Open-Source Summit 2022 che si tiene in questi giorni, nella sezione domande e risposte, Linus Torvalds ha accennato alla possibilità di integrare presto nel kernel Linux componenti per lo sviluppo di driver di dispositivo in linguaggio Rust. È possibile che le patch con supporto Rust vengano accettate nella prossima finestra di accettazione delle modifiche, che compongono la composizione del kernel 5.20, prevista per la fine di settembre.

La richiesta di includere modifiche nel kernel non è stata ancora inviata a Torvalds, ma il set di patch è stato sottoposto a un'ulteriore revisione, è stato liberato da commenti importanti, è stato testato nel ramo linux-next per un bel po' di tempo ed è stato portato a uno stato adatto per creare livelli di astrazione sui sottosistemi del kernel, scrivere driver e moduli. Il supporto Rust è presentato come un'opzione che non è abilitata per impostazione predefinita e non comporta l'inclusione di Rust come dipendenza di compilazione richiesta per il kernel.

Le modifiche proposte rendono possibile l'utilizzo di Rust come secondo linguaggio per lo sviluppo di driver e moduli del kernel. Usare Rust per lo sviluppo dei driver ti consentirà di creare driver più sicuri e migliori con il minimo sforzo, esenti da problemi come l'accesso alla memoria dopo la liberazione, i riferimenti a puntatori nulli e i sovraccarichi del buffer.

La gestione sicura della memoria viene fornita in Rust in fase di compilazione attraverso il controllo dei riferimenti, tenendo traccia della proprietà dell'oggetto e della durata dell'oggetto (ambito), nonché attraverso la valutazione della correttezza dell'accesso alla memoria durante l'esecuzione del codice. Rust fornisce anche protezione contro gli 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 riferimenti e variabili immutabili per impostazione predefinita, offre una forte tipizzazione statica per ridurre al minimo gli errori logici.

Fonte: opennet.ru

Aggiungi un commento