Josh Triplett, que treballa a Intel i forma part del comitè que supervisa el desenvolupament de Crates.io, parlant a la cimera de tecnologia de codi obert
En un grup de treball que està en procés de creació, els desenvolupadors de Rust, juntament amb els enginyers d'Intel, prepararan especificacions definint la funcionalitat que cal implementar a Rust per a la programació de sistemes. La programació del sistema sovint requereix manipulació de baix nivell, com ara executar instruccions de processador amb privilegis i obtenir informació detallada sobre l'estat del processador. De les funcions similars que ja s'estan desenvolupant per a Rust, s'observa el suport per a estructures sense nom, unions, insercions de llenguatge assemblador (la macro "asm!") i el format de nombre de coma flotant BFLOAT16.
Josh creu que el futur de la programació de sistemes pertany a Rust, i el llenguatge C en les realitats modernes està reclamant el lloc que els anys passats va ocupar Assembly. Rovell
no només alleuja els desenvolupadors dels problemes inherents al llenguatge C que sorgeixen a causa del treball de baix nivell amb la memòria, sinó que també ofereix l'oportunitat d'utilitzar-lo en el desenvolupament de paradigmes de programació moderns.
Durant
A Josh se li va ocórrer la idea d'afegir la capacitat de desenvolupar controladors al nucli Linux en llenguatge Rust, que permetria crear controladors més segurs i millors amb el mínim esforç, lliures de problemes com l'accés a la memòria després de l'alliberament, nul. desreferències de punter i desbordaments de memòria intermèdia.
Greg Kroah-Hartman, responsable de mantenir la branca estable del nucli de Linux, va expressar la seva disposició a afegir un marc per desenvolupar controladors en llenguatge Rust al nucli si té avantatges reals sobre C, per exemple, proporcionarà seguretat. enllaços sobre l'API del nucli. A més, Greg considera aquest marc només com una opció, no activa per defecte, per no incloure Rust com a dependència de compilació del nucli.
Va resultar que diversos equips ja estan treballant en aquesta direcció. Per exemple, els desenvolupadors de l'empresa "Fish in a Barrel"
Paral·lel
Encara no s'ha implementat tota la funcionalitat prevista, però el marc ja és bastant adequat per al treball i es va utilitzar per escriure un controlador de treball per al controlador Ethernet USB LAN9512 subministrat a la placa Raspberry Pi 3. El controlador smsc95xx existent, escrit per en llenguatge C. S'observa que la mida del mòdul i la sobrecàrrega dels components del temps d'execució quan es desenvolupa un controlador a Rust són insignificants, la qual cosa permet utilitzar el marc per a dispositius amb recursos limitats.
Font: opennet.ru