Di quanto il mondo dell’informatica oggi ami il linguaggio Rust ne abbiamo parlato in lungo e in largo. Al netto di qualche scelta infelice da parte della Rust Foundation, il popolare linguaggio di programmazione sembra non voler minimamente arrestare la sua ascesa.
Se però l’impiego di Rust all’interno del Kernel Linux è ormai un fatto assodato, la notizia in qualche modo sorprendente è quella che racconta DevClass e che parla del codice pubblicato da Microsoft su GitHub che dovrebbe consentire agli sviluppatori di creare driver Windows scritti in Rust.
I benefici ricercati da questa mossa sono del tutto simili a quelli per cui Rust è stato incluso nel Kernel Linux:
- Controllo rigoroso della memoria, infatti Rust impedisce errori comuni di gestione della memoria come la dereferenziazione dei puntatori nulli o l’accesso a dati non validi.
- Sistema di tipi avanzato, che consente di specificare in modo rigoroso i requisiti di sicurezza e interoperabilità dei driver, evitando errori di tipo durante la compilazione.
- Ownership e Borrowing, utilizzando concetti come la “proprietà” e il “prestito” per gestire in modo sicuro la concorrenza e la condivisione di dati tra i driver, Rust riduce i rischi di race condition e corruzione della memoria.
Quindi la volontà di eliminare in maniera implicita tutte le vulnerabilità derivanti dalle caratteristiche del linguaggio, fanno di Rust il linguaggio di programmazione ideale per scrivere i driver… Anche in Windows!
E l’aspetto interessante che emerge dal post di DevClass è proprio la similitudine con quanto avvenuto in Linux, infatti non c’è e non ci sarà inizialmente un impiego selvaggio di Rust nel Kernel Windows (già, perché lo sapete tutti che anche Microsoft Windows, come tutti i sistemi operativi, ha un Kernel!), il quale continuerà ad essere scritto in C e C++. Per quanto però riguarda le parti scritte in C, specificamente i driver, vi sarà l’aggiunta di un Rust-based driver kit (che si affiancherà all’attuale Windows Driver Kit (WDK)) che dovrebbe appunto abilitare la scrittura dei driver in Rust.
Quindi così come sta avvenendo in Linux, anche Microsoft Windows inizierà ad avere porzioni scritte in Rust che sulla base di quelli che sarà la scelta dei produttori di hardware (veri giudici in questo senso) potrà, o meno, essere estesa nel tempo.
Insomma, se c’è un linguaggio che oggi vale la pena di studiare e capire è proprio Rust perché, volente o nolente, sarà parte dei sistemi operativi del futuro, e non solo di quelli!
Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.