Linus Torvalds está otimista em trazer Rust para o kernel Linux

Por mais de três décadas, o Linux foi escrito na linguagem de programação C. Na verdade, o Linux é a conquista mais notável do C. Mas também é graças ao rigor de Linus Torvalds e dos mantenedores em geral que conseguimos obter um resultado desse gênero. Mas nos últimos anos houve um impulso crescente para tornar a linguagem de programação Rust a segunda linguagem do Linux .

No recente Open Source Summit em Austin, Texas, o criador do Linux, Linus Torvalds , foi a favor de ver Rust como parte do kernel Linux com o próximo grande lançamento . Atualmente, Torvalds e os mantenedores estão trabalhando na versão 5.19, que deve ser lançada durante o mês de agosto de 2022. Portanto, provavelmente veremos o Rust na próxima versão, a 5.20, que deve chegar entre o final de outubro e início de novembro de 2022, levando em conta o tempo. mídia de lançamento do kernel da linha principal:

linux

“Gostaria de ver a fusão de infraestrutura Rust começar na próxima versão, mas veremos. Mas não vou forçá-lo."

Por que ele vai tão longe em usar Rust no kernel Linux?

Rust se presta mais facilmente a escrever software seguro . Samartha Chandrashekar, gerente de produtos da Amazon AWS, disse que “ajuda a garantir a segurança de threads e evitar erros relacionados à memória, como estouros de buffer que podem levar a vulnerabilidades de segurança”.

Rust garante a segurança da memória na fase de compilação usando controles integrados no compilador . O compilador, portanto, não permite código não seguro de memória, a menos que seja explicitamente marcado como não seguro em um bloco ou função insegura. Essa análise estática de tempo de compilação elimina muitos tipos de bugs de memória e, com algumas verificações de tempo de execução adicionais, o Rust garante a segurança da memória.

Lembre-se, ninguém vai reescrever todas as 30 milhões de linhas do kernel Linux em Rust . Na verdade, a ideia é avançar gradualmente para Rust. Em particular, planejamos começar a testar a codificação em Rust para mais componentes de alto nível, como drivers . Atualmente, as três áreas de possível preocupação para o suporte ao Rust são o uso de APIs existentes no kernel, o suporte à arquitetura e o gerenciamento da compatibilidade da interface binária do aplicativo (ABI) entre o Rust e o C.

É claro que, por definição, o kernel terá que fazer operações "não padrão" na memória. Então, como você usa o Rust, que entre seus recursos inclui a incapacidade de fazer operações não seguras para a memória, no kernel? Felizmente, o Rust permite desabilitar essas verificações, o que é necessário para desenvolver código no nível do kernel.

Um pouco da história da Ferrugem

Rust é uma linguagem de programação compilada, multiparadigma e de propósito geral desenvolvida pela Mozilla Research, em colaboração com a comunidade de código aberto. Pretende ser uma linguagem eficiente, segura e adequada para o desenvolvimento de software concorrente. Ele é projetado para suportar paradigmas de programação de procedimentos imperativos, funcionais e orientados a objetos.

A linguagem surgiu de um projeto pessoal do funcionário da Mozilla, Graydon Hoare. O suporte da Mozilla ao projeto começou em 2009 e foi anunciado em 2010. No mesmo ano, o próprio compilador, inicialmente escrito em OCaml, começou a ser reescrito em Rust. Este compilador, conhecido como rustc, conseguiu se compilar em 2011. Como back-end utiliza o framework open source LLVM.

O primeiro lançamento do compilador Rust ocorreu em janeiro de 2012. O lançamento da 1.0, a primeira versão estável, ocorreu em 15 de maio de 2015. Embora seu desenvolvimento seja suportado pela Mozilla, é um projeto aberto à comunidade aberta. que contribui ativamente. O design da linguagem foi refinado pela experiência de usá-la no desenvolvimento do motor do navegador Servo e do compilador rustc.

Em uma pesquisa de 2016 com desenvolvedores do Stack Overflow, Rust ficou em 1º lugar como “Linguagem de Programação Mais Amada”. A posição também foi confirmada nas pesquisas de 2017, 2018, 2019, 2020 e 2021.

O artigo que Linus Torvalds está otimista sobre trazer Rust para o kernel Linux foi escrito em: Tech CuE | Engenharia de close-up .