Rust, cosa amb la qual els desenvolupadors de Linux semblen estar d'acord

El llenguatge de programació Rust sempre ha tingut com a objectiu reemplaçar C en el desenvolupament de el nucli de Linux i és que a mesura que Rust ha madurat, diversos desenvolupadors han expressat un interès creixent en el seu ús en el nucli de Linux.

A la Conferència Virtual de Linux plumbers 2020, el flux de Microconferències de LLVM va organitzar una sessió sobre preguntes obertes i barreres per a l'acceptació ascendent de Rust en el nucli de Linux.

L'interès en aquest tema és visible, ja que aquesta sessió va ser la més concorreguda de l'esdeveniment de 2020.

Llavors, hauríem ara reescriure tot el nucli de Linux amb el llenguatge Rust? Aquesta discussió no data d'avui i s'ha accentuat des de l'aparició de la primera versió estable de Rust el 2015.

En vista de les possibilitats que ofereix Rust, alguns suggereixen fer-ho. Aquest any, en la conferència Linux plumbers a l'agost, els oradors van tenir temps de nou per discutir-ho.

I el sorprenent és que semblen estar d'acord unànimement, no en reescriure el codi existent a Rust, sinó en que el desenvolupament de l'nucli continuï usant Rust. És a dir, visualitzen un món en el qual es podrien escriure noves peces de codi a Rust.

Aquesta sessió es va basar en el treball anterior de molts desenvolupadors, inclosa una xerrada que van donar l'any passat Alex Gaynor i Geoffrey Thomas en la Linux Security Summit.

En la conferència, van presentar el seu treball sobre la creació de prototips dels mòduls de l'nucli de Rust i van advocar per l'adopció de Rust al nucli.

Van citar treballs que mostren que aproximadament dos terços de les vulnerabilitats de l'nucli per a les que se'ls han assignat CVE en Android i Ubuntu estan relacionades amb problemes de seguretat de la memòria.

Van acabar explicant que Rust pot evitar completament aquesta classe d'error gràcies a API més segures habilitades pel seu tipus de sistema i la seva verificador de préstecs.

Aquest estudi va aconseguir convèncer a diversos mantenidors ja Linus Torvalds, qui va recolzar la introducció de Rust al nucli. Thomas i Gaynor, Josh Triplett, codirector de l'equip de llenguatge de Rust i desenvolupador de el nucli de Linux des de fa molt de temps, així com altres desenvolupadors interessats, van participar en la discussió sobre el tema.

Van tocar breument el seu treball fins ara i alguns dels seus primers pensaments i preguntes abans d'obrir la major part de el temps per a la discussió.

Aquests són l'ús de les API existents en el nucli, el suport de l'arquitectura i una pregunta sobre la compatibilitat ABI entre Rust i C.

De fet, inicialment creuen que la introducció de Rust en l'estructura d'arbre ha de respectar les API existents C. 

No obstant això, tots senten que el diable està en els detalls, i tant el treball realitzat fins ara com la conversa durant la sessió han revelat alguns desafiaments oberts.

Per exemple, Linux fa un ús intensiu de macros de preprocessador i funcions en línia, que no són tan fàcilment compatibles amb l'eina bindgen i la interfície de funcions externes de Rust.

Segons ells, actualment l'única implementació madura de Rust és el compilador rustc, que emet codi a través d'LLVM.

El nucli de Linux admet una àmplia varietat d'arquitectures, moltes de les quals no tenen disponible un backend LLVM.

Per la seva banda, Triplett va suggerir que afegir Rust a l'nucli ajudaria a incrementar el suport arquitectònic per Rust, citant la seva experiència amb el projecte Debian. Va esmentar que la introducció de l'programari Rust a Debian ha ajudat a motivar els entusiastes i usuaris d'arquitectures de nínxol per millorar el suport de Rust, i espera afegir suport de nucli per tenir un efecte similar.

En particular, estava convençut que qualsevol arquitectura amb un backend LLVM seria ràpidament compatible amb Rust. La discussió també es va centrar en les implementacions alternatives de Rust com un camí cap a un suport d'arquitectura més ampli.

La sessió va acabar sense més fites específics, però sembla que, en general, hi ha entusiasme per donar suport a Rust Mods i un creixent acord sobre els requisits generals per a aquest suport.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Pilot automàtic va dir

    Sembla el començament d'una nova era, l'inamovible C surt a col·lació.

    Hello Rust, Bye Linus Torvalds!