Ja va ser enviada la segona versió dels pegats per al suport de controladors Rust a Linux

Al març d'aquest any a la branca linux-next en la qual en el seu moment es treballava per al nucli de Linux 5.13, es va incloure un conjunt inicial de components per a desenvolupar controladors de dispositius en el llenguatge Rust i ara ja s'ha fet la petició per incloure una segona edició dels pegats per afegir el suport de Rust en el nucli de Linux.

La persona que ha enviat la petició als desenvolupadors de Linux és Miguel Ojeda autor d'el projecte Rust-for-Linux i de qui també parlem d'ell fa alguns dies, ja que va ser contractat per fer-se càrrec de el projecte «prossimo» el qual bàsicament es s'enfoca en coordinar els esforços per traslladar la infraestructura de programari crític a un codi segur per assegurar la memòria de el nucli de Linux amb Rust (si vols conèixer més a l'respecte de el projecte, pots consultar la publicació en el següent enllaç.)

Controladors Rust a Linux
Article relacionat:
Prossimo, un projecte de la ISRG per assegurar la memòria de el nucli de Linux amb Rust

La petició enviada per Miguel Ojeda és una segona versió actualitzada dels components per al desenvolupament de controladors de dispositius en llenguatge Rust i en la qual s'eliminen els comentaris fer durant la discussió de la primera versió dels pegats ia la qual Linus Torvalds ja es va unir a la discussió i va suggerir canviar la lògica per processar algunes operacions de bits.

Dins dels beneficis que s'esmenten són que el maneig segur de la memòria està garantit a Rust en el temps de compilació mitjançant la verificació de referències, el seguiment de la propietat de l'objecte i la vida útil de l'objecte, així com mitjançant l'avaluació de la correcció de l'accés a la memòria en el temps d'execució.

Rust també ofereix protecció contra desbordaments de sencers, Requereix la inicialització obligatòria dels valors de les variables abans del seu ús, maneja millor els errors a la biblioteca estàndard, adopta el concepte de referències i variables immutables per defecte i ofereix una forta escriptura estàtica per minimitzar els errors lògics.

Dels canvis que es destaquen d'aquesta nova versió dels pegats s'esmenta:

  • El codi d'assignació de memòria s'evita la possibilitat de generar un estat de pànic quan es produeixen errors, com la falta de memòria.
  • s'inclou una variant de la biblioteca de Rust alloc, en què s'ha reelaborat el codi per manejar els bloquejos, Però l'objectiu final és portar totes les característiques necessàries per al nucli a l'edició principal de alloc (els canvis ja s'han preparat i transferit a la biblioteca estàndard de Rust).
  • En lloc de compilacions nightly, ara es poden fer servir versions beta i estables de l'compilador rustc per compilar un nucli habilitat per Rust. Actualment, rustc 1.54-beta1 s'usa com a compilador de referència, però després de l'llançament de 1.54 a final de mes, s'admetrà com a compilador de referència.
  • Es va agregar suport per escriure proves usant l'atribut estàndard de Rust «# [test]» i la capacitat d'usar doctests per utilitzar el codi d'exemple de la documentació com a proves.
  • Es va agregar suport per a arquitectures ARM32 i RISCV a més de x86_64 i ARM64 prèviament admesos.
    Implementacions millorades de GCC Rust (el frontend de GCC per Rust) i rustc_codegen_gcc (el backend de rustc per GCC), que ara passa totes les proves de referència.
  • S'ha introduït un nou nivell d'abstracció perquè els programes de Rust utilitzin mecanismes de nucli escrits en C, com arbres, objectes de recompte de referències, creació de descriptors d'arxius, tasques, arxius i vectors d'E / S.
  • Els components de desenvolupament de controladors han millorat la compatibilitat amb el mòdul «file_operations», la macro «module!», El registre de macros i controladors rudimentaris (sonda i eliminació).
  • Binder soporta passar descriptors d'arxius i enllaços LSM.
  • Es proposa un exemple més funcional d'un controlador Rust, bcm2835-RNG, per a un generador de nombres aleatoris de maquinari per a plaques Raspberry Pi.

Finalment si estàs interessat en conèixer més a l'respecte, pots consultar els detalls en el següent enllaç.


Sigues el primer a comentar

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: AB Internet Networks 2008 SL
  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ó.