Mark Harmstone, autor do projeto WinBtrfs, lançou a versão 1.0 do sistema operacional Moxnox, desenvolvido desde 2022 como um hobby. Moxnox é apresentado como um sistema operacional pensado para se assemelhar ao Windows NT, oferecendo compatibilidade com os padrões POSIX, utilizando o sistema de arquivos Btrfs e alcançando um nível de auto-hospedagem (self-hosting). O projeto conta com cerca de 130 mil linhas de código em C++ e é distribuído sob as licenças GPL (núcleo e programas básicos), LGPL (bibliotecas) e MIT (módulos). Há suporte para arquiteturas x86-64-v3 e ARMv8.1 (pode funcionar na placa Raspberry Pi 5).
As chamadas de sistema e interfaces de baixo nível no núcleo foram implementadas à semelhança do Windows NT, mas a estrutura do núcleo e componentes associados diferem do Windows NT. Há possibilidade de executar componentes do ambiente GNU e programas escritos para sistemas similares ao Unix. O formato dos arquivos executáveis é PE, as bibliotecas têm a extensão dll, e os programas têm a extensão exe.
Dispositivos de hardware suportados:
- Dispositivos de bloco: NVMe, SATA, SDHCI (cartões SD), virtio-block e unidades USB.
- Placas de rede: virtio-net, RTL8168, RTL8125.
- Dispositivos de entrada: virtio-input, USB HID, teclados e mouses com interface PS/2.
- Gráficos: virtio-gpu, framebuffer GOP, VBE, console VGA.
- Console: virtio-console, porta serial x86, PL011 ARM.
- USB: XHCI.
Atualmente, o Moxnox implementa 642 funções de aproximadamente 1200 descritas na norma POSIX 2024, o que é suficiente para o funcionamento de projetos como gcc, bash, mesa, openssh, openssl, perl, python e rust. A biblioteca do sistema é formada a partir das funções gnulib, funções matemáticas e criptográficas do musl, funções para manipulação de expressões regulares do tre e funções do tipo printf do mingw. A auto-hospedagem é suportada, permitindo compilar o Moxnox a partir de um ambiente baseado em Moxnox. A execução de programas do Windows ainda não é suportada, mas no futuro pretende-se utilizar a implementação da API Win32 do Wine para sua execução.

Entre os programas portados para Moxnox estão:
- bash
- binutils
- bison
- bzip2
- cairo
- cmake
- coreutils
- curl
- diffutils
- expat
- arquivo
- findutils
- flex
- freetype
- gawk
- gcc (apenas para amd64)
- git
- gmp
- gperf
- grep
- gzip
- harfbuzz
- hexyl
- jsoncpp
- less
- libarchive
- libiconv
- libpng
- librhash
- libuv
- llvm
- m4
- make
- mako
- markupsafe
- mesa
- mpc
- mpfr
- nano
- ncurses
- netcat
- ninja
- openssh
- openssl
- patch
- perl
- pixman
- python
- pyyaml
- readline
- ripgrep
- rust
- sed
- tar
- vim
- wget
- xz
- zlib
- zstd
Nesta fase de desenvolvimento, apenas o modo de console é suportado, mas no futuro está planejado implementar uma interface gráfica. Além disso, atualmente não há suporte para ambientes multiusuário, mecanismos de segurança, fusos horários, layouts de teclado, localidades e codificações diferentes de UTF-8.
Afirma-se que o projeto não contém código significativo gerado por ferramentas de IA, que foram usadas apenas para executar tarefas rotineiras, como a tradução de regras do autotools para o CMake, substituição de chamadas ioctl pela função tcgetwinsize ao portar programas, redação de testes e busca de erros no código.
Fonte: opennet.ru
