Rust é a linguagem de programação que está tomando conta do kernel Linux

Claylson Martins
4 minutos de leitura

Passo a passo, a linguagem de programação Rust está se aprofundando no kernel Linux. Na Linux Plumbers Conference em Richmond, Virgínia, o desenvolvedor Linux e Rust Miguel Ojeda deu aos desenvolvedores do kernel Linux uma atualização sobre o estado do Rust no kernel Linux. Em resumo, o Rust Linux continua a amadurecer e está recebendo forte apoio de desenvolvedores e fornecedores, como CiscoSamsung e Canonical.

Por outro lado, Rust está no Linux desde que Linus Torvalds deu sua bênção à linguagem segura para a memória para o lançamento do Linux 6.1. Agora, porém, Rust está tomando as medidas necessárias para se tornar – junto com C – um membro de pleno direito da cadeia de ferramentas da linguagem Linux.

Essa posição avaliada ocorre porque, como disse o engenheiro de software da Microsoft Wedson Almeida Filho, “Sentimos que o Rust agora está pronto para se juntar ao C como uma linguagem prática para implementação do kernel. Ele pode nos ajudar a reduzir o número de possíveis bugs e vulnerabilidades de segurança em ambientes privilegiados com código, enquanto funciona bem com o núcleo do kernel e preserva suas características de desempenho.”

Rust é a linguagem de programação que está tomando conta do kernel Linux

Especificamente, como Alex Gaynor e Geoffrey Thomas explicaram no Linux Security Summit 2019, quase dois terços das falhas de segurança do kernel Linux vêm de problemas de segurança de memória. E de onde vêm esses erros? Fraquezas inerentes em C e C++. A linguagem Rust, por outro lado, evita esses problemas usando interfaces de programação de aplicativos (APIs) muito mais seguras

Isso não quer dizer que ainda estamos prontos para aposentar o C para Rust. Na verdade, é improvável que esse dia chegue. Mas Rust está definitivamente a caminho de se tornar uma linguagem importante para o desenvolvimento do Linux. 

Antes de chegarmos a esse destino, existem alguns desafios a superar. Como disse Ojeda no evento, embora a “equipe principal tenha crescido com novos membros”, ainda há muito trabalho a ser feito.

Rust é a linguagem de programação que está tomando conta do kernel Linux
Rust é a linguagem de programação que está tomando conta do kernel Linux.

Esse esforço começa com ferramentas de programação para Rust no Linux. Algumas distros já estão abraçando o Rust de braços abertos. Por exemplo, o Ubuntu agora fornece “todo o conjunto de ferramentas e requisitos de kernel necessários para construir e testar módulos de kernel fora da árvore”.

Hoje, existem três principais conjuntos de ferramentas do Linux Rust se unindo. O primeiro deles é o codegen GCC para Rust. Este conjunto de ferramentas compila e pode inicializar Rust e Linux da linha principal sem alterações no código-fonte. 

Depois, há  o GCC Front-End for Rust, que pode ser carregado pelo frontend Rustc existente, mas se beneficia das otimizações do GCC. Infelizmente, este projeto ainda é muito código alfa. Finalmente, há Coccinelle para Rust . Coccinelle é uma ferramenta para criar código-fonte C do kernel Linux em grande escala, e Coccinelle for Rust está buscando trazer esse poder para as bases de código Rust.

Quanto ao trabalho diário necessário para tornar o Rust totalmente integrado ao Linux, o site “oficial” da iniciativa agora é o autoexplicativo Rust for Linux . Este site é a sua fonte completa para tudo sobre Rust no Linux. 

O branch original do Rust Code , onde o desenvolvimento aconteceu por dois anos, foi retirado. O código ainda está lá, mas foi congelado e arquivado. Seguindo em frente, Rust-next  será o branch que contém novos recursos do Rust a serem enviados durante a próxima janela de mesclagem do kernel Linux. Este branch, como o nome sugere, faz parte do Linux Next

Fonte

Share This Article
Follow:
Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão. Nas horas não muito vagas, professor, fotógrafo, apaixonado por rádio e natureza.