Rust: dai browser al kernel?

rust

Di tanto in tanto si inizia a parlare di alcune cose che, potenzialmente, potrebbero cambiare la “visione base” di quello che è lo sviluppo sui sistemi.

Dall’iniziale Assembly, usato oltre che per scrivere i vari BIOS, boot loader e firmware, negli anni ’60 ci furono i primi esperimenti per portare il supporto hardware a linguaggi di alto livello; fu un decennio dopo, in cui tale Dennis Ritchie creò il linguaggio C, che ci fu uno di questi cambiamenti: il linguaggio era così ben pensato per la scrittura di sistemi che diversi componenti di UNIX (compreso il suo Kernel) furono riscritti in questo linguaggio. Il linguaggio C l’ha fatta da padrone per gli ultimi 50 anni ed è la base per la scrittura di sistemi operativi. Linux è uno di questi, il suo Kernel è scritto (quasi) totalmente in C.

Però adesso ci si sta iniziando a chiedere se non è possibile utilizzare qualche altro linguaggio, magari di più alto livello del C e più sicuro nell’utilizzo, per questo genere di sviluppi, e di utilizzare il linguaggio di Ritchie come un “nuovo Assembly”.

È quanto scaturito da un talk di Josh Triplett, ingegnere di Intel, che ipotizza come Rust possa  diventare il linguaggio in questione.

Cos’è Rust? creato da Mozilla per lo sviluppo del proprio browser ed affinato durante lo sviluppo di Servo, e rilasciato -ovviamente- in open-source, Rust è un linguaggio sintatticamente simile al C++ (estensione dell’originale C basata sul paradigma ad oggetti), ma che a differenza di questo è pensato per avere una gestione della memoria più sicura mantenendo comunque alte performance.

Lo stesso Josh ha parlato, in seguito al talk, con Greg Kroah-Hartman (sviluppatore e responsabile delle LTS del Kernel, ndr.) riguardo la possibilità di inserire un framework nel Kernel Linux che permetta lo sviluppo di driver in Rust:

I have, yes. I spoke with Greg Kroah-Hartman, and he said he’d be willing to accept a framework in the kernel for writing drivers in Rust, as long as 1) for now it wasn’t enabled by default (even if you did “make allyesconfig”) so that people don’t *need* Rust to build the kernel, and 2) it shows real benefits beyond writing C, such as safe wrappers for kernel APIs.

L’ho fatto. Ho parlato con Greg Kroah-Hartman, ed ha detto che accetterebbe un framework nel kernel per la scrittura di driver in Rust, almeno finchè 1) non venisse per ora attivato di default (anche usando “makeallyesconfig” [che attiva tutte le feature ed i driver nel kernel ndt]) così che le persone non necessitino di Rust per compilare il kernel e 2) che mostri reali benefici rispetto alla scrittura in C, come dei rimpiazzi sicuri per le API del kernel.

Certo da qui a riscrivere l’intero Kernel in Rust ce ne passa, ma il solo fatto che per alcune componenti si possa utilizzare un linguaggio differente dal C (e l’Assembly) rappresenterebbe un rinnovamento non da poco. Va però tenuto presente come, per alcuni aspetti, Rust non sia ancora pronto (in termini di funzionalità) a rimpiazzare correttamente tutte le API in C.

Alcuni sviluppi sono già stati fatti da altri utenti e sono disponibili su GitHub, ma la discussione è ancora parecchio aperta su LWN.

Avete avuto modo di provare questo linguaggio? Pensate che possa portare reali benefici al nostro amato Kernel?

Fonte: https://www.miamammausalinux.org/2019/09/rust-dai-browser-al-kernel/

Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.