No es descarta la possibilitat d'integrar el suport de Rust al nucli de Linux 5.20

A la conferència Open-Source Summit 2022 en curs aquests dies, a la secció de preguntes freqüents, Linus Torvalds va esmentar la possibilitat d'una integració primerenca al kernel de Linux de components per desenvolupar controladors de dispositius a Rust.

Per això es va esmentar que és possible que els pegats habilitats per a Rust s'acceptin en el proper registre de canvis que formi la composició del kernel 5.20, programat per a finals de setembre.

Cal recordar que des de l'any passat Rust s'ha convertit en un dels favorits per ser inclòs dins de diversos projectes importants i que durant el temps que ha transcorregut ja s'han fet treballs relacionats amb la implementació del suport de Rust.

Dins dels projectes de renom que es van interessar en rust des de l'any passat, podem destacar per exemple Android, ja que es va interessar en Rovell perquè li permet aconseguir un rendiment proper als llenguatges C i C++, El que permet que es faci servir per desenvolupar parts de baix nivell de la plataforma i components per interactuar amb el maquinari.

Per garantir la seguretat de codi C i C ++, Android fa servir aïllament d'espai aïllat, anàlisi estàtica i proves de fuzzing. Les capacitats de l'aïllament de sandbox són limitades i han arribat al límit de les seves capacitats (una major fragmentació en els processos no és pràctica des del punt de vista de l'consum de recursos).

Entre les limitacions d'usar sandbox, esmenten l'alta sobrecàrrega i el major consum de memòria causat per la necessitat de generar nous processos, així com la latència addicional associada amb l'ús d'IPC.

Rust-Android
Article relacionat:
Rust ja és un dels favorits per a desenvolupament d'Android

D'altra banda, tampoc no hem d'oblidar que Linus Torvalds també va donar la seva opinio sobre Rust i en la qual va passar revisant la implementació de pegats de possibilitats per establir controladors de llenguatge Rust en el nucli de Linux i va expressar algunes crítiques.

Les majors queixes van ser causades per el potencial d'escapament «Run-time failure panicen» en situacions errònies, per exemple, en una situació de memòria insuficient, quan les operacions d'assignació de memòria dinàmica, incloses les de l'nucli, poden fallar.

de Torvald declarar que tal enfocament en el nucli és fonamentalment inacceptable, i si no comprèn aquest punt, pot rebutjar completament qualsevol codi prova d 'usar aquest enfocament. D'altra banda, el desenvolupador de l'pegat va estar d'acord amb el problema i ho va considerar solucionable.

Linus Torvalds
Article relacionat:
Rust no es fora de perill de les critiques de Linus Torvalds

Però ja han passat uns quants mesos des que Linus va donar la seva opinió i s'ha treballat dur per millorar la implementació. Com a tal, actualment encara no s'ha enviat una sol·licitud d'extracció per al nucli a Torvalds, però el conjunt de pegats es va revisar més a fons, se li van treure les notes clau, es va provar a la branca linux-next durant força temps i es va portar a un estat adequat per crear capes d'abstracció sobre els subsistemes del nucli, escrivint controladors i mòduls.

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.

Els canvis proposats fan possible l'ús de Rust com a segon llenguatge per desenvolupar controladors i mòduls del nucli. 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.


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