Western Digital ja treballa en un controlador NVMe escrit a Rust

RustLinux

La integració de Rust a Linux ha tingut un gran nivell d'acceptació per part de la comunitat i els desenvolupadors

Durant la conferència de Linux Plumbers 2022 que va estar en curs aquests dies, un enginyer de Western Digital va fer una presentació sobre el desenvolupament d'un controlador experimental per a SSD NVM-Express (NVMe) escrit a Rust i executant-se al nivell del kernel de Linux.

Tot i que el projecte encara es troba en una etapa primerenca de desenvolupament, les proves realitzades van mostrar que el rendiment del controlador Rust NVMe correspon al controlador NVMe escrit en C al nucli.

Sóc Matthew Wilcox, sóc un dels autors de l'especificació NVMe, vaig ser qui va suggerir que fes un controlador NVMe per demostrar el valor de Rust. Ha tingut èxit més enllà de les meves expectatives més salvatges. 

Sobre l'informe presentat, es diu que el controlador NVMe C actual és completament satisfactori per als desenvolupadors, però el subsistema NVMe és una bona plataforma per explorar la viabilitat de desenvolupar controladors a Rust, ja que és força simple, àmpliament utilitzat, té requisits d'alt rendiment i té una implementació de referència comprovada per a comparació i admet diverses interfícies ( dev, pci, dma, blk-mq, gendisk, sysfs).

S'observa que el controlador Rust PCI NVMe ja proporciona la funcionalitat necessària per a l'operació, però encara no està llest per a un ús generalitzat, ja que requereix millores per separat.

Els plans per al futur inclouen desfer-se dels blocs insegurs existents, suport per eliminar el dispositiu i descarregar el controlador, admetre la interfície sysfs, implementar la inicialització diferida, crear un controlador per a blk-mq i experimentar amb un model de programació asincrònica per a queue_rq.

A més, podem assenyalar els experiments realitzats pel Grup NCC per desenvolupar controladors en el llenguatge Rust per el kernel de FreeBSD. Com a exemple, un controlador de ressò simple que retorna dades escrites al fitxer /dev/rustmodule. A la propera fase d'experimentació, el Grup NCC està considerant reelaborar els components bàsics del nucli a Rust per millorar la seguretat de les operacions de xarxa i arxius.

Dit això, encara que s'ha demostrat que és possible crear mòduls simples a Rust, una integració més estreta de Rust al kernel de FreeBSD requerirà treball addicional.

Per exemple, esmenta la necessitat de crear un conjunt de capes d'abstracció sobre subsistemes i estructures del nucli, semblant als complements preparats pel projecte Rust per a Linux. En el futur, planegem fer experiments similars amb el nucli d'Illumos i ressaltar les abstraccions comunes a Rust que podrien utilitzar-se en controladors escrits per Rust per a Linux, BSD i Illumos.

Segons Microsoft i Google, al voltant del 70% de les vulnerabilitats en els seus productes de programari es deuen a una administració de memòria insegura.

Se suposa que l'ús del llenguatge Rust reduirà el risc de vulnerabilitats causades pel maneig insegur de la memòria i eliminarà laparició derrors com laccés a una àrea de la memòria després que shagi alliberat i el desbordament del 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.

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

Cal esmentar que pot ser possible que el treball futur vagi de la mà amb els treballs que ha presentat Miguel Ojeda als seus controladors de «Rust for Linux», els quals s'han presentat com una sèrie de pegats.

Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls a 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: 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ó.