Mark Harmstone, skaparen av projektet WinBtrfs, har publicerat version 1.0 av operativsystemet Moxnox, som har utvecklats som en hobby sedan 2022. Moxnox marknadsförs som ett operativsystem som Àr inspirerat av Windows NT, vilket ger kompatibilitet med POSIX-standarder, anvÀnder filsystemet Btrfs och har nÄtt nivÄn av sjÀlvhostande. Projektet innehÄller cirka 130 000 rader kod i C++ och distribueras under GPL (kÀrnan och grundprogram), LGPL (bibliotek) och MIT (moduler). En version stöds för arkitekturerna x86-64-v3 och ARMv8.1 (kan köras pÄ Raspberry Pi 5).
Systemanropen och lÄg-nivÄ grÀnssnitten i kÀrnan Àr utformade efter Windows NT, men kÀrnans struktur och relaterade komponenter skiljer sig frÄn Windows NT. Det finns möjlighet att köra GNU-miljökomponenter och program skrivna för Unix-liknande system. Filformatet för exekverbara filer Àr PE, biblioteken har filÀndelsen dll, och programmen har filÀndelsen exe.
Stödda hÄrdvaruenheter:
- Blockenheter: NVMe, SATA, SDHCI (SD-kort), virtio-block och USB-enheter.
- NĂ€tverkskort: virtio-net, RTL8168, RTL8125.
- Inmatningsenheter: virtio-input, USB HID, tangentbord och möss med PS/2-anslutning.
- Grafik: virtio-gpu, GOP framebuffer, VBE, VGA-konsol.
- Konsol: virtio-console, serieport x86, PL011 ARM.
- USB: XHCI.
För nÀrvarande har Moxnox implementerat 642 funktioner av cirka 1200 som beskrivs i POSIX 2024-standarden, vilket Àr tillrÀckligt för att köra projekt som gcc, bash, mesa, openssh, openssl, perl, python och rust. Systembiblioteket Àr uppbyggt av funktioner frÄn gnulib, matematiska och kryptografiska funktioner frÄn musl, funktioner för reguljÀra uttryck frÄn tre och printf-funktioner frÄn mingw. SjÀlvkompilering stöds, vilket möjliggör kompilering av Moxnox frÄn en miljö baserad pÄ Moxnox. Stöd för att köra Windows-program saknas för nÀrvarande, men i framtiden planerar man att anvÀnda Win32 API-implementeringen frÄn Wine för att köra dem.

Bland de program som portats för Moxnox finns:
- bash
- binutils
- bison
- bzip2
- cairo
- cmake
- coreutils
- curl
- diffutils
- expat
- file
- findutils
- flex
- freetype
- gawk
- gcc (endast för 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
I det hÀr utvecklingsskedet stöds endast arbete i konsollÀge, men i framtiden planerar man att ocksÄ implementera ett grafiskt grÀnssnitt. För nÀrvarande saknas ocksÄ stöd för fleranvÀndarmiljöer, sÀkerhetsmekanismer, tidszoner, tangentbordsarrangemang, lokaler och teckenkodningar som skiljer sig frÄn UTF-8.
Det pÄstÄs att projektet inte innehÄller nÄgon betydande kod som genererats av AI-verktyg, som endast har anvÀnts för att utföra rutinuppgifter, sÄsom att översÀtta autotools-regler till CMake, ersÀtta ioctl-anrop med funktionen tcgetwinsize vid portering av program, skriva tester och felsöka koden.
KĂ€lla: opennet.ru
