Марк Хармстоун (Mark Harmstone), автор проекта WinBtrfs, опубликовал выпуск операционной системы Moxnox 1.0, разрабатываемой с 2022 года в качестве хобби. Moxnox преподносится как созданная с оглядкой на Windows NT операционная система, обеспечивающая совместимость с POSIX-стандартами, использующая файловую систему Btrfs и достигшая уровня самосборки (self-hosting). Проект насчитывает около 130 тысяч строк кода на языке С++ и распространяется под лицензиями 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 программ:
- ทุบตี
- ไบนูทิลส์
- วัวกระทิง
- bzip2
- cairo
- ซม
- คอร์ยูทิล
- โค้ง
- diffutils
- ชาวต่างชาติ
- ไฟล์
- ค้นหา
- ดิ้น
- ฟรีไทป์
- เพ่งพิศ
- gcc (только для amd64)
- คอมไพล์
- GMP
- Gperf
- grep
- gzip
- ฮาร์ฟบัซ
- เฮกซิล
- jsoncpp
- น้อยลง
- ห้องสมุด
- libiconv
- libpng
- librhash
- ลิบุฟ
- llvm
- m4
- ทำ
- Mako
- มาร์กอัปเซฟ
- ที่ราบสูงมีทางขึ้นลาดชัน
- เอ็มพีซี
- mpfr
- นาโน
- พยาบาล
- netcat
- นินจา
- openssh
- OpenSSL
- ปะ
- Perl
- พิกแมน
- หลาม
- ไพยัมล์
- ReadLine
- ฉีก
- สนิม
- ความกระหายน้ำ
- น้ำมันดิน
- เป็นกลุ่ม
- wget
- xz
- zlib
- zstd
На данном этапе разработки поддерживается только работа в консольном режиме, но в будущем планируют реализовать и графический интерфейс. Также пока отсутствует поддержка многопользовательского окружения, механизмов обеспечения безопасности, часовых поясов, раскладок клавиатуры, локалей и кодировок, отличных от UTF-8.
Утверждается, что проект не содержит значимого кода, сгенерированного через AI-инструменты, которые использовались только для выполнения рутинной работы, такой как перевод правил autotools в CMake, замена ioctl-вызовов на функцию tcgetwinsize при портировании программ, написание тестов и поиск ошибок в коде.
ที่มา: opennet.ru
