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

Miguel Ojeda, autor del projecte Rust-for-Linux, va donar a conèixer recint-me la quarta proposta per els components del controlador de dispositiu Rust perquè la considerin els desenvolupadors del nucli de Linux.

El suport de Rust es considera experimental, però ja es va acordar incloure'l a la branca linux-next i és prou madur per començar a treballar en capes d'abstracció sobre els subsistemes del nucli, així com per escriure controladors i mòduls. El desenvolupament està finançat per Google i Internet Security Research Group (ISRG), que és el fundador del projecte Let's Encrypt i promou HTTPS i el desenvolupament de tecnologies per augmentar la seguretat d'Internet.

Per a qui encara desconeix dels canvis proposats, han de saber que aquests fan possible l'ús de Rust com a segon llenguatge per desenvolupar controladors i mòduls del nucli. El suport de Rust es presenta com una opció que no està habilitada per defecte i no dóna com a resultat la inclusió de Rust entre les dependències de compilació requerides per al kernel.

L'ús de Rust per desenvolupar controladors permetrà crear controladors millors i més segurs amb un esforç mínim, sense problemes com accedir a una àrea de memòria després d'alliberar-la, desreferenciar punters nuls i desbordaments de memòria intermèdia.

La seguretat de la memòria es proporciona a Rust en temps de compilació mitjançant la verificació de referències, el seguiment de la propietat de lobjecte i la vida útil de lobjecte (abast), així com mitjançant lavaluació de la correcció de laccés a la memòria durant lexecució del codi.

Rust també brinda protecció contra desbordaments de sencers, requereix que les variables s'inicialitzin abans del seu ús, maneja millor els errors a la biblioteca estàndard, aplica el concepte de referències i variables immutables de forma predeterminada i ofereix tipus estàtic fort per minimitzar els errors lògics .

Quins són els canvis a la quarta entrega?

En aquesta nova versió que es presenten dels pegats s'esmenta que es va continuar amb l'eliminació dels comentaris realitzats durant la discussió de la primera, segona i tercera edició dels pegats.

Seguirem actualitzant fins que no depenguem de cap característica inestable;
moment en què és possible que desitgem començar a declarar una versió mínima de Rust
és compatible, com es fa, per exemple, per a GCC i Clang.

De la mateixa manera, també migrem a l'edició 2021 del llenguatge Rust.

Quant als altres canvis que es van realitzar en aquesta nova versió a l'anunci s'esmenta el següent:

  • Es va realitzar la transició per poder utilitzar la versió estable de Rust 1.58.0 com a compilador de referència.
  • Entre els canvis necessaris per al projecte, que encara no estan inclosos al kit d'eines principal de Rust, hi ha l'indicador «-Zsymbol-mangling-version=v0» (esperat a Rust 1.59.0) i el mode «maybe_uninit_extra» (esperat a Rust 1.60.0).
  • Es van afegir les verificacions automàtiques per a la disponibilitat de les eines de Rust i que a més aquestes siguin adequades i que també es va ampliar la capacitat de provar el suport de Rust al sistema.
  • Es proposen les noves abstraccions per poder accedir a les taules d'identificadors dels dispositius (IdArray i IdTable) des del codi Rust.
  • Es van afegir les capes per a les funcions de trucada que estan relacionades amb el temporitzador (marc de rellotge).
  • Els controladors de la plataforma ara es defineixen a través de les implementacions dels trets.
  • S'ha afegit una macro nova per poder simplificar el registre dels controladors de la plataforma i s'ha proposat una nova plantilla de controlador genèric.
  • Es van afegir noves macros per a les estructures dev_*.
  • Es van afegir els nous mètodes «{read,write}*_relaxed» per al tipus IoMem .
  • Es va eliminar la propietat FileOpener per simplificar les operacions amb fitxers.
  • Es va afegir el paràmetre ThisModule al nombre d'arguments passats durant el registre del controlador.
  • Es proposa una plantilla típica per crear mòduls de kernel al llenguatge Rust.

Finalment si estàs interessat a poder conèixer més sobre aquesta nova versió, pots consultar els detalls en el següent enllaç.


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ó.