Josh Triplett, que traballa en Intel e forma parte do comité que supervisa o desenvolvemento de Crates.io, falando no Open Source Technology Summit
Nun grupo de traballo que está en proceso de creación, os desenvolvedores de Rust, xunto con enxeñeiros de Intel, elaborarán especificacións que definen a funcionalidade que hai que implementar en Rust para a programación de sistemas. A programación do sistema require moitas veces unha manipulación de baixo nivel, como executar instrucións do procesador privilexiado e obter información detallada sobre o estado do procesador. Das características similares que xa se están a desenvolver para Rust, nótase o soporte para estruturas sen nome, unións, insercións de linguaxe ensambladora (a macro "asm!") e o formato de número de coma flotante BFLOAT16.
Josh cre que o futuro da programación de sistemas pertence a Rust, e a linguaxe C nas realidades modernas está a reclamar o lugar que nos últimos anos ocupaba Assembly. Ferruxe
non só alivia aos desenvolvedores dos problemas inherentes á linguaxe C que xorden debido ao traballo de baixo nivel coa memoria, senón que tamén ofrece a oportunidade de utilizala no desenvolvemento de paradigmas de programación modernos.
Durante
A Josh tivo a idea de engadir a posibilidade de desenvolver controladores no núcleo Linux na linguaxe Rust, o que permitiría crear controladores máis seguros e mellores cun mínimo esforzo, libres de problemas como o acceso á memoria despois da liberación, nulo. desreferencias de punteiro e desbordamentos do búfer.
Greg Kroah-Hartman, responsable de manter a rama estable do núcleo de Linux, expresou a súa disposición a engadir un marco para o desenvolvemento de controladores na linguaxe Rust ao núcleo se ten vantaxes reais sobre C, por exemplo, proporcionará seguridade. enlaces sobre a API do núcleo. Ademais, Greg considera este marco só como unha opción, non activa por defecto, para non incluír Rust como unha dependencia de compilación do núcleo.
Resultou que varios equipos xa están a traballar neste sentido. Por exemplo, os desenvolvedores da empresa "Fish in a Barrel"
Paralelo
Aínda non se implementou toda a funcionalidade prevista, pero o marco xa é bastante axeitado para traballar e utilizouse para escribir un controlador de traballo para o controlador Ethernet USB LAN9512 que se proporciona na placa Raspberry Pi 3. O controlador smsc95xx existente, escrito por en Linguaxe C. Nótase que o tamaño do módulo e a sobrecarga dos compoñentes de execución ao desenvolver un controlador en Rust son insignificantes, o que permite que o marco se use para dispositivos con recursos limitados.
Fonte: opennet.ru