A Vivo liberou o código do núcleo do BlueOS, escrito em Rust.

A empresa Vivo, que detém cerca de 10% do mercado mundial de smartphones (5ª posição entre fabricantes de smartphones), apresentou o primeiro lançamento oficial aberto do núcleo do sistema operacional BlueOS (Blue River OS). O sistema operacional BlueOS está em desenvolvimento desde 2018 e já é utilizado em relógios inteligentes da série Vivo Watch. A Vivo também está trabalhando na aplicação do BlueOS em óculos inteligentes, robôs, terminais inteligentes e dispositivos de IA para consumidores. O código do núcleo é escrito na linguagem Rust e está disponível sob a licença Apache 2.0. Os frameworks do sistema BlueOS também são desenvolvidos em Rust.

O sistema operacional BlueOS foi inicialmente desenvolvido com foco na segurança e utiliza a linguagem Rust para evitar vulnerabilidades resultantes de erros de gerenciamento de memória, que de acordo com estatísticas do Google e Microsoft representam 70% de todas as vulnerabilidades em sistemas operacionais. Para garantir um gerenciamento seguro da memória, o BlueOS utiliza uma combinação de ponteiros inteligentes durante a execução e verificações em tempo de compilação fornecidas pela linguagem Rust (rastreamento da posse de objetos, verificação do empréstimo de variáveis, controle do tempo de vida dos objetos).

O núcleo do BlueOS (Blue River Kernel) é otimizado para consumo mínimo de recursos e pode ser utilizado em plataformas embarcadas, dispositivos móveis e sistemas de Internet das Coisas. Na configuração mínima, o núcleo requer apenas 13 KB de memória RAM para funcionar. Além disso, o núcleo suporta arquiteturas de processadores modernas, incluindo ARM e RISC-V. Acima do núcleo, uma biblioteca padrão em C é implementada, suportando interfaces de programação definidas no padrão POSIX, bem como a biblioteca rust-std.

O núcleo fornece um escalonador de tarefas, sistema de arquivos, mecanismo de gerenciamento de memória, pilha de rede e um conjunto de drivers. Vários algoritmos de escalonamento de tarefas são suportados, incluindo algoritmos para distribuição equitativa de quanta de tempo entre processos e algoritmos para operação em tempo real baseados em cálculo de prioridades. Há também vários algoritmos de alocação de memória, otimizados para diferentes cenários de uso.

Uma estrutura de sistema de arquivos própria é fornecida com uma arquitetura hierárquica clássica baseada em inode, bem como sistemas de arquivos tmpfs, devfs, sysfs, procfs, nfs e fat32. O stack TCP/IP suporta a API POSIX Socket, socketfd e o processamento de dados em modos bloqueantes e não bloqueantes, podendo ser utilizado em configurações com várias placas de rede. Para reduzir a sobrecarga na transmissão de dados, é aplicada uma arquitetura zero-copy, eliminando a necessidade de buffer intermediário.

Para o desenvolvimento de drivers, é oferecida uma camada para abstrair o acesso ao hardware, permitindo criar drivers em Rust e portar drivers escritos em C que já foram criados para outros núcleos. A documentação do núcleo ainda se limita a instruções sobre compilação e testes, além de dicas para implementar suas chamadas de sistema e descrever tipos de dados básicos. Para testes, recomenda-se utilizar o QEMU (mps2-an385, mps3-an547, virt-aarch64, virt-riscv64) ou a placa Raspberry Pi Pico2.

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