Марк Хармстоун (Mark Harmstone), автор на проекта WinBtrfs, публикува издание на операционната система Moxnox 1.0, разрабатывана от 2022 година като хоби. Moxnox се представя като операционна система, създадена с оглед на Windows NT, осигуряваща съвместимост със стандартите POSIX, използваща файловата система Btrfs и достигнала ниво на самосборка (self-hosting). Проектът включва около 130 000 реда код на C++ и се разпространява под лицензите GPL (ядро и основни програми), LGPL (библиотеки) и MIT (модули). Поддържа се сборка за архитектури x86-64-v3 и ARMv8.1 (може да работи на платка Raspberry Pi 5).
Системните извиквания и нискоуровневите интерфейси в ядрото са реализирани по образец на Windows NT, но структурата на ядрото и придружаващите компоненти се различават от Windows NT. Предоставя се възможност за стартиране на компоненти от околната среда GNU и програми, написани за Unix-подобни системи. Форматът на изпълнимите файлове е PE, библиотеките имат разширение dll, а програмите — exe.
Поддържани хардуерни устройства:
- Блочни устройства: NVMe, SATA, SDHCI (SD карти), virtio-block и USB устройства.
- Мрежови карти: virtio-net, RTL8168, RTL8125.
- Устройства за въвеждане: virtio-input, USB HID, клавиатури и мишки с интерфейс PS/2.
- Графика: virtio-gpu, GOP framebuffer, VBE, VGA конзола.
- Конзола: virtio-console, последователен порт x86, PL011 ARM.
- USB: XHCI.
В момента в Moxnox са реализирани 642 функции от около 1200, описани в стандарта POSIX 2024, но това е достатъчно за работата на проекти като gcc, bash, mesa, openssh, openssl, perl, python и rust. Системната библиотека е съставена от функции на gnulib, математически и криптографски функции на musl, функции за работа с регулярни изрази от tre и функции тип printf от mingw. Поддържа се самосборка, позволяваща компилиране на Moxnox от среда на база Moxnox. Стартирането на Windows програми за момента не се поддържа, но в бъдеще има намерение да се възползват от реализацията на API Win32 от Wine.

Между портните за Moxnox програми:
- bash
- binutils
- bison
- bzip2
- cairo
- cmake
- coreutils
- curl
- diffutils
- expat
- файл
- findutils
- flex
- freetype
- gawk
- gcc (само за amd64)
- git
- gmp
- gperf
- grep
- gzip
- harfbuzz
- hexyl
- jsoncpp
- less
- libarchive
- libiconv
- libpng
- librhash
- libuv
- llvm
- m4
- , затова потребителите на Windows трябва да инсталират Cygwin или да се справят сами с Visual Studio и библиотеките.
- 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
На този етап на разработката се поддържа само работа в конзолен режим, но в бъдеще се планира да бъде реализиран и графичен интерфейс. В момента все още липсва поддръжка за многопотребителска среда, механизми за сигурност, време зони, клавиатурни подредби, локали и кодировки различни от UTF-8.
Твърди се, че проектът не съдържа значим код, генериран чрез AI инструменти, които са използвани само за извършване на рутинна работа, като преминаване на autotools правила в CMake, замяна на ioctl повиквания с функцията tcgetwinsize при портироване на програми, писане на тестове и търсене на грешки в кода.
Източник: opennet.ru
