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

Tal sembla que el desenvolupament dels pegats per al suport de controladors Rust a Linux ha pres un bon ritme, doncs va ser fa poc més d'un mes que es va donar a conèixer la proposta treta, ja que des de la tercera versió s'ha lliurat una nova proposta cada mes i ara s'ha donat a conèixer la nova proposta, sent aquesta la sisena edició.

Miguel Ojeda ha proposat el nou llançament dels components per al desenvolupament de controladors de dispositius Rust perquè els desenvolupadors del kernel de Linux els considerin. Aquesta és la sisena edició encara es considera experimental, però ja està inclòs a la branca linux-next i és prou madur per començar a treballar en la creació de capes d'abstracció sobre els subsistemes del nucli, així com a l'escriptura de controladors i mòduls.

Per als qui encara desconeixen aquest desenvolupament, han de saber que està finançat per Google i l'ISRG (Internet Security Research Group), que és el fundador del projecte Let's Encrypt i promou HTTPS i el desenvolupament de tecnologies per augmentar la seguretat d'Internet.

Cal recordar que els canvis proposats 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 us 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 .

A la nova versió dels pegats, es va continuar amb l'eliminació dels comentaris realitzats durant la discussió de la primera, 2, 3, quarta y cinquena edicions dels pegats (dels quals et deixo els seus corresponents enllaços).

Principals novetats a la sisena proposta

Amb aquesta nova proposta s'ha actualitzat el kit d'eines abans del llançament de Rust 1.59.0, juntament amb la qual una variant de la biblioteca alloc també se sincronitza amb la nova versió de Rust, eliminant la possible generació d'un estat de «pànic» quan ocorren errors, com ara sense memòria.

Un altre dels canvis que s'ha fet és que ara, en lloc de proporcionar fitxers d'especificació de plataforma de destinació creades prèviament, es generen dinàmicament en funció de la configuració del nucli.

A més, també es destaca que s'ha afegit el paràmetre del nucli HAVE_RUST perquè s'habiliti per a arquitectures compatibles amb Rust i que s'han proposat abstraccions per al seu ús en el codi Rust d'un generador de números pseudoaleatoris de maquinari.

D'altra banda, s'esmenta que s'ha estabilitzat la capacitat d'utilitzar insercions d'assemblador («feature(global_asm)») i que es va afegir suport per crear programes host a Rust que es fan servir en el procés de compilació del kernel.

Dels altres canvis que es destaquen d'aquesta nova proposta:

  • Es va permetre utilitzar codis d'error sense el prefix «Error::» (per exemple, «return Err(EINVAL)») per aproximar el maneig de codis d'error a C.
  • Es va afegir el tipus CString per a cadenes C natives. Tipus de formatador i memòria intermèdia combinats.
  • Es van afegir trets Bool i LockInfo.
  • Implementació simplificada de spin-locks.

Finalment si estàs interessat en poder conèixer més a l'respecte sobre aquesta nova proposta, podeu 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ó.