A WD está desenvolvendo um driver NVMe na linguagem Rust. Experimentos com Rust no FreeBSD.

Na conferência Linux Plumbers 2022, que está ocorrendo atualmente, um engenheiro da empresa Western Digital apresentou uma palestra sobre o desenvolvimento de um driver experimental para SSDs com interface NVM-Express (NVMe), escrito em Rust e funcionando no nível do núcleo Linux. Embora o projeto ainda esteja em estágio inicial de desenvolvimento, os testes realizados mostraram que o desempenho do driver NVMe em Rust é equivalente ao do driver NVMe existente no núcleo, escrito em C.

A WD está desenvolvendo um driver NVMe na linguagem Rust. Experimentos com Rust no FreeBSD.
A WD está desenvolvendo um driver NVMe na linguagem Rust. Experimentos com Rust no FreeBSD.

Na palestra, foi mencionado que o driver NVMe atual escrito em C atende completamente às necessidades dos desenvolvedores, mas a subsistema NVMe é uma boa plataforma para explorar a viabilidade do desenvolvimento de drivers em Rust, pois é suficientemente simples, amplamente utilizada, exige alto desempenho, tem uma implementação de referência comprovada para comparação e suporta várias interfaces (dev, pci, dma, blk-mq, gendisk, sysfs).

É observado que o driver PCI NVMe em Rust já oferece a funcionalidade necessária para operação, mas ainda não está pronto para uso geral, pois requer melhorias específicas. Entre os planos futuros, destaca-se a remoção de blocos unsafe do código, suporte para operações de remoção de dispositivo e descarregamento do driver, suporte para a interface sysfs, implementação de inicialização adiada, criação de um driver para blk-mq e experimentos com a utilização de modelo de programação assíncrona para queue_rq.

Por que no hosting comum a administração do PrestaShop é lenta, e no seu não é?

Adicionalmente, podem ser destacados os experimentos conduzidos pela NCC Group no desenvolvimento de drivers em Rust para o núcleo FreeBSD. Como exemplo, é detalhado um simples echo-driver que retorna os dados gravados no arquivo /dev/rustmodule. Na próxima fase dos experimentos, a NCC Group está considerando a possibilidade de reescrever em Rust componentes básicos do núcleo para aumentar a segurança das operações de rede e de arquivos.

No entanto, embora tenha sido demonstrada a possibilidade de criação de módulos simples na linguagem Rust, uma integração mais profunda do Rust no núcleo do FreeBSD exigirá trabalho adicional. Por exemplo, menciona-se a necessidade de criar um conjunto de camadas de abstração sobre subsistemas e estruturas do núcleo, semelhantes às extensões preparadas pelo projeto Rust for Linux. No futuro, planeja-se realizar experimentos semelhantes com o núcleo do Illumos e identificar abstrações comuns em Rust que poderiam ser usadas em drivers escritos em Rust para Linux, BSD e Illumos.

De acordo com as empresas Microsoft e Google, cerca de 70% das vulnerabilidades em seus produtos de software são causadas por manipulações de memória inseguras. Acredita-se que o uso da linguagem Rust permitirá reduzir o risco de surgimento de vulnerabilidades causadas por manipulações inseguras de memória e eliminar erros, como acessar áreas de memória após sua liberação e estouro de buffer.

A segurança no manuseio da memória é garantida no Rust durante a compilação através da verificação de referências, rastreamento da propriedade dos objetos e consideração do tempo de vida dos objetos (escopo), bem como pela avaliação da correção do acesso à memória durante a execução do código. O Rust também oferece ferramentas para proteção contra estouros inteiros, exige a inicialização obrigatória dos valores das variáveis antes do uso, lida melhor com erros na biblioteca padrão, aplica o conceito de imutabilidade (immutable) para referências e variáveis por padrão e oferece forte tipagem estática para minimizar erros lógicos.

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