Chega a décima versão do Rust for Linux, pronta para inclusão no Linux 6.1

Drivers de ferrugem no Linux

Rust agora está pronto para se juntar ao C como uma linguagem prática para implementar no Linux

Há algumas semanas compartilhamos aqui no blog a notícia sobre a confirmação que foi feita durante o Open Source Summit Europe, de Linus Torvalds anunciado que, salvo problemas imprevistos,e incluirá patches para suportar o desenvolvimento do driver Rust no kernel Linux 6.1, que deve ser lançado em dezembro.

A razão de mencioná-lo é que Miguel Ojeda, autor do projeto Rust-for-Linux, anunciou recentemente o lançamento de a décima proposta dos componentes para o desenvolvimento Drivers de dispositivos Rust para os desenvolvedores do kernel Linux considerarem.

Como tal, esta é a décima primeira edição dos patches, tendo em conta a primeira versão lançada (sem número de versão). Linus Torvalds aprovou a inclusão do suporte Rust no kernel Linux 6.1, salvo problemas imprevistos.

Drivers de ferrugem no Linux
Artigo relacionado:
Torvalds anunciou que Rust será aceito no Linux 6.1

Vale ressaltar que o desenvolvimento é financiado pelo Google e pelo ISRG (Internet Security Research Group), que é o fundador do projeto Let's Encrypt e promove o HTTPS e o desenvolvimento de tecnologias para aumentar a segurança da Internet.

Alguns dos benefícios de obter suporte Rust no kernel são tornar mais fácil escrever controladores de dispositivos seguros reduzindo as chances de erros de memória e encorajar novos desenvolvedores a se envolverem no kernel.

"A ferrugem é uma daquelas coisas que acho que trará novos rostos... estamos ficando velhos e grisalhos", disse Linus.

As notas de lançamento para Linux 6.0 fornece atualização sobre o andamento do projeto Rust para Linux: existe um grupo de trabalho relacionado, está disponível um driver preliminar para mídia de armazenamento NVMe desenvolvida com essa linguagem, bem como um driver para um servidor destinado ao protocolo de rede 9P.

Aproveitando a menção sobre o kernel versão 6.1 Linus também anunciou que a versão 6.1 do kernel melhorará algumas das partes mais antigas e fundamentos do kernel, como a função printk().

Em relação a esta nova proposta de patches Rust, bem como a versão mais recente dos patches, a décima versão é reduzida ao mínimo, o suficiente para construir um módulo de kernel simples escrito em Rust.

Diferenças com a versão anterior são reduzidos a pequenas correções, substituindo sizeof por ARRAY_SIZE em kallsyms.ce portando patches para o kernel v6.0-rc7.

O suporte de ferrugem ainda deve ser considerado experimental. Porém,
O suporte é bom o suficiente para que os desenvolvedores do kernel possam começar a trabalhar nele.

O patch mínimo, que foi reduzido de 40 linhas de código para 000 linhas de código, deverá, facilitam a adoção do suporte Rust no núcleo. Depois de fornecer suporte mínimo, está planejado aumentar gradualmente a funcionalidade existente, portando outras alterações do ramo Rust-for-Linux.

As mudanças propostas possibilitam o uso do Rust como segunda linguagem para desenvolvimento de drivers e módulos do kernel. O suporte a Rust é apresentado como uma opção que não está habilitada por padrão e não resulta na inclusão de Rust entre as dependências de compilação necessárias para o kernel.

Usar Rust para desenvolver drivers permitirá que você crie drivers melhores e mais seguros com o mínimo de esforço, sem problemas como acessar uma área de memória após liberá-la, desreferenciar ponteiros nulos e estouros de buffer.

O manuseio seguro da memória é fornecido no Rust em tempo de compilação verificando referências, rastreando a propriedade do objeto e o tempo de vida do objeto (escopo), bem como avaliando a correção do acesso à memória durante a execução do código.

ferrugem também fornece proteção de estouro de número inteiro, requer inicialização obrigatória dos valores das variáveis ​​antes do uso, trata melhor os erros na biblioteca padrão, reforça o conceito de variáveis ​​e referências imutáveis ​​por padrão, oferece forte tipagem estática para minimizar erros lógicos.

Finalmente se você estiver interessado em saber mais sobre isso sobre a nota, você pode consultar as listas de discussão sobre o assunto, no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.