Foi adicionado código ao kernel Linux-next para o desenvolvimento de drivers na linguagem Rust.

A ramificação linux-next, a partir da qual será formada a versão do kernel Linux 5.13, inclui um conjunto inicial de componentes para o desenvolvimento de drivers de dispositivos na linguagem Rust. A documentação sobre o uso do Rust no kernel Linux e um exemplo de módulo de kernel com um driver de dispositivo de caractere na linguagem Rust foram publicados separadamente. O código foi adicionado por Stephen Rothwell, mantenedor da ramificação Linux-next. Normalmente, a ramificação Linux-next inclui código pronto para ser aceito no próximo ciclo de recebimento de mudanças no kernel, mas ainda não está claro se o suporte a Rust será aceito por Linus Torvalds na versão Linux 5.13, uma vez que o código não passou pela revisão de um amplo grupo de desenvolvedores.

O suporte ao desenvolvimento de drivers do kernel Linux na linguagem Rust foi amplamente discutido no ano passado, incluindo a participação de Linus Torvalds, que não descartou tal possibilidade. A ideia também foi apoiada por Greg Kroah-Hartman, responsável pela manutenção da ramificação estável do kernel Linux. O uso do Rust para o desenvolvimento de drivers permitirá criar drivers seguros e de maior qualidade com o mínimo de esforço, isentos de problemas como acessar áreas de memória após a liberação, desreferência de ponteiros nulos e estouro de buffer.

Para ativar o suporte ao Rust na ramificação linux-next, foi adicionada uma opção CONFIG_RUST (‘Suporte a Rust’ no menu ‘Configuração geral’). Ao ativar esta opção, é verificada a presença do compilador rustc no sistema e, se ele estiver presente, será possível ativar os demais componentes relacionados ao Rust (por exemplo, no menu ‘Desenvolvimento do kernel’ aparece a seção ‘Programação em Rust’). O uso do Rust é considerado uma opção, não ativada por padrão e que não leva à inclusão do Rust entre as dependências obrigatórias de compilação do kernel.

A compilação de componentes do kernel em Rust é possível tanto utilizando GCC quanto usando Clang. Para utilizar Rust no kernel, é necessário instalar as versões mais recentes das compilações noturnas do compilador rustc, não mais antigas que a ramificação nightly-2021-02-20 (se possível, prometem adicionar suporte às ramificações estáveis do Rust, mas atualmente há uma dependência de algumas funcionalidades experimentais). Também é necessário ter no sistema as bibliotecas padrão do Rust, fornecidas no pacote rust-src, e o gerador de vinculações bindgen. O suporte atualmente é limitado às plataformas x86_64 e ARM64.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster