Núcleo Maestro, escrito em Rust e parcialmente compatível com Linux

Foi apresentado um projeto para o desenvolvimento, na linguagem Rust, de um núcleo Unix-like leve, implementando um subconjunto de chamadas de sistema do núcleo Linux, suficiente para criar ambientes de trabalho típicos. O projeto foi criado em 2018 e inicialmente utilizava a linguagem C, mas em 2020 foi completamente reiniciado do zero, levando em conta a experiência acumulada e migrou para Rust para reduzir a probabilidade de erros relacionados à manipulação de memória. O código do núcleo é distribuído sob a licença MIT. Além do núcleo, o projeto em Rust também está desenvolvendo X11,servidor, um gerenciador de pacotes, carregador, instalador, conjuntos de utilitários e outros componentes necessários para a construção de um sistema operacional.

O núcleo tem uma arquitetura monolítica e atualmente suporta apenas sistemas x86 em modo de 32 bits. A base de código do núcleo conta com 48.8 mil linhas de código (para comparação, o núcleo Linux possui 33 milhões de linhas de código). É possível rodar em QEMU, VirtualBox ou em hardware físico. No estágio atual de desenvolvimento, o Maestro implementou 31% (135 de 437) das chamadas de sistema do Linux, o que é suficiente para carregar um ambiente de console baseado em bash e na biblioteca C padrão Musl. No ambiente baseado no Maestro, também podem ser executados alguns utilitários do conjunto GNU coreutils, como ls, cat, mkdir, rm, rmdir, uname e whoami.

Núcleo Maestro, escrito em Rust e parcialmente compatível com Linux

Entre as funcionalidades disponíveis do Maestro:

  • Drivers para teclado PS/2 e terminal em modo texto com suporte parcial a sequências ANSI.
  • Um sistema de gerenciamento de memória que suporta memória virtual.
  • Um escalonador de tarefas baseado no algoritmo round-robin com suporte a sinais POSIX.
  • Detecção de dispositivos PCI.
  • Driver IDE/PATA.
  • Sistema de arquivos Ext2.
  • Suporte a sistemas de arquivos virtuais /tmp e /proc.
  • Suporte para montagem de sistemas de arquivos e partições de disco MBR e GPT.
  • Suporte a initramfs.
  • Driver RTC para temporizador e hora precisa.
  • Suporte para carregar módulos do núcleo.
  • Capacidade de executar arquivos executáveis no formato ELF.

Atualmente, está em desenvolvimento um stack de rede, após o qual está previsto implementar o suporte a mapeamento direto de arquivos na memória e bibliotecas compartilhadas.

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