Автор WinBtrfs опублікував відкриту ОС Moxnox 1.0 із ядром у стилі Windows NT

Марк Хармстоун (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
  • cmake
  • coreutils
  • витися
  • diffutils
  • емігрант
  • файл
  • findutils
  • flex
  • вільний тип
  • гаук
  • gcc (тільки для amd64)
  • мерзотник
  • ГМП
  • gperf
  • GREP
  • gzip
  • harfbuzz
  • гексил
  • jsoncpp
  • менше
  • бібліотека
  • лібіконв
  • libpng
  • librhash
  • libuv
  • llvm
  • m4
  • зробити
  • мако
  • markupsafe
  • їдальня гора
  • MPC
  • mpfr
  • нано
  • ncurses
  • netcat
  • ніндзя
  • OpenSSH
  • OpenSSL
  • ділянку
  • Perl
  • pixman
  • пітон
  • pyyaml
  • читальна лінія
  • рипгреп
  • іржа
  • sed
  • дьоготь
  • натиск
  • Wget
  • xz
  • zlib
  • zstd

На цьому етапі розробки підтримується лише робота у консольному режимі, але у майбутньому планують реалізувати і графічний інтерфейс. Також поки відсутня підтримка розрахованого на багато користувачів оточення, механізмів забезпечення безпеки, часових поясів, розкладок клавіатури, локалей і кодувань, відмінних від UTF-8.

Стверджується, що проект не містить значущого коду, згенерованого через AI-інструменти, які використовувалися тільки для виконання рутинної роботи, такий як переклад правил autotools у CMake, заміна ioctl-дзвінків на функцію tcgetwinsize під час портування програм, написання тестів та пошук помилок у коді.

Джерело: opennet.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster