O projeto Asterinas desenvolve um núcleo em Rust, compatível com Linux.

Um grupo de desenvolvedores da China está desenvolvendo o núcleo Asterinas, escrito na linguagem Rust e destinado ao uso em sistemas operacionais de propósito geral. Para simplificar a integração com componentes de sistema já desenvolvidos, o núcleo fornece uma ABI (Interface Binária de Aplicativo) compatível com o núcleo Linux e que pode ser utilizado no lugar dele. O código do projeto é distribuído sob a licença MPL (Licença Pública Mozilla).

O projeto está em desenvolvimento desde o outono de 2022 e pretende alcançar, ainda este ano, um nível adequado para uso generalizado em máquinas virtuais sistemas com arquitetura x86-64. A partir do próximo ano, o foco principal será na implementação do suporte a hardware e outras arquiteturas de CPU. Entre as áreas prioritárias de aplicação estão sistemas que dependem da Linux ABI, mas que exigem um nível mais alto de segurança. Por exemplo, o Asterinas é proposto para formar um ambiente de sistema seguro. máquinas virtuais, para os quais são utilizadas tecnologias como ARM CCA, AMD SEV e Intel TDX, além de na parte do sistema host que garante a execução de contêineres.

Para reduzir a probabilidade de erros ao trabalhar com memória, que são a principal fonte das vulnerabilidades mais perigosas, a Asterinas foi escrita utilizando a linguagem Rust e a tática de uso limitado de blocos unsafe. O núcleo é construído usando uma arquitetura framekernel, na qual os desenvolvedores tentaram combinar as capacidades de isolamento de micro núcleos com a eficiência de núcleos monolíticos.

Os componentes do núcleo no Asterinas são alocados em um espaço de endereço comum, e a segurança é alcançada através da separação lógica do código seguro e do código onde podem surgir problemas de segurança. O núcleo é dividido em duas partes, escritas em Rust: OS Framework e OS Services. No OS Services, a utilização de blocos unsafe é proibida, e todas as operações em baixo nível que exigem a execução de código em blocos unsafe são transferidas para o OS Framework e estão disponíveis apenas através de uma API de alto nível. Todas as chamadas de sistema, sistemas de arquivos e drivers são implementados no nível do OS Services e não podem incluir blocos unsafe.

Ao desenvolver serviços e módulos do sistema, recomenda-se o uso da ferramenta OSDK (Operating System Development Kit), que fornece a utilidade cargo-osdk para criar, compilar, testar e executar componentes do sistema operacional. Para os desenvolvedores, um conjunto de bibliotecas OSTD (Operating System Standard Library) foi preparado, representando uma edição das bibliotecas padrão do Rust (crate std), adaptada para uso em componentes do sistema operacional.

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