O projeto Moss está desenvolvendo um núcleo compatível com Linux em Rust

Após 8 meses de desenvolvimento, foi publicado o primeiro protótipo do núcleo Unix-like Moss, parcialmente compatível com o Linux. O código foi escrito na linguagem Rust com inserções em assembly e é distribuído sob a licença MIT. Atualmente, o projeto suporta apenas a arquitetura Aarch64, pode ser executado no QEMU e foi testado em placas Raspberry Pi 4, Jetson Nano, AMD Kria e imx8. Segundo os desenvolvedores, o núcleo pode ser facilmente portado para outras arquiteturas, como x86_64 e RISC-V, graças a uma camada de abstração para suportar o hardware.

Neste estágio do desenvolvimento, o Moss implementou 51 chamadas de sistema do Linux e garantiu compatibilidade binária com aplicativos para Linux suficiente para executar o shell Bash e a maioria das utilitários do BusyBox. Entre as características da arquitetura Moss destaca-se o uso do modelo async/await para garantir a execução assíncrona dos componentes do núcleo, que elimina as principais classes de deadlocks. Todas as chamadas de sistema não triviais foram implementadas como funções executadas de forma assíncrona.

Principais funcionalidades:

  • Um sistema de gerenciamento de memória com suporte a páginas de memória em modo CoW (Copy-on-Write), tabelas de páginas de memória, funções assíncronas para copiar memória entre o núcleo e o espaço do usuário, e tratamento de exceções (page fault) tanto no lado do núcleo quanto no do espaço do usuário.
  • Um sistema de gerenciamento de processos com um escalonador de tarefas e suporte à migração de tarefas através de IPI (inter-processor interrupt). Suporte à bifurcação de processos via chamada clone(). Funcionalidades para entrega de sinais a processos e threads.
  • Uma camada VFS (Virtual File System) operando de forma assíncrona, dispositivo de bloco Ramdisk, driver FAT32 e dispositivo devtmpfs.
  • Extração da funcionalidade principal para a biblioteca libkernel, independente de arquiteturas de hardware.
  • Camada de Abstração de Hardware (HAL) para garantir suporte a hardware.
  • Conjunto de testes, incluindo mais de 230 testes.

Entre as principais limitações estão a ausência de subsistema de rede e a presença apenas de um driver reduzido de sistema de arquivos, que suporta o sistema de arquivos Fat32 em modo somente leitura. Entre as prioridades, mencionou-se a continuação da implementação das chamadas de sistema do Linux, a criação de uma pilha TCP/IP, o suporte à distribuição de carga no escalonador de tarefas e a disponibilização de um driver completo para o sistema de arquivos (ext2/4).

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