WinBtrfs-projektin tekijä Mark Harmstone on julkaissut Moxnox 1.0 -käyttöjärjestelmän, jota hän on kehittänyt harrastuksena vuodesta 2022 lähtien. Moxnoxin esitetään olevan luotu erityisesti Windows NT on käyttöjärjestelmä, joka on yhteensopiva POSIX-standardien kanssa, käyttää Btrfs-tiedostojärjestelmää ja on itse isännöivä. Projekti käsittää noin 130 000 riviä C++-koodia ja on lisensoitu GPL-lisenssillä (ydin ja perusohjelmat), LGPL-lisenssillä (kirjastot) ja MIT-lisenssillä (moduulit). Se tukee x86-64-v3- ja ARMv8.1-arkkitehtuureille tehtyjä koontiversioita (se voi toimia Raspberry Pi 5 -levyllä).
Järjestelmäkutsut ja ytimen matalan tason rajapinnat on toteutettu kuvassa Windows NT, mutta ytimen rakenne ja siihen liittyvät komponentit eroavat Windows NT. Mahdollistaa GNU-ympäristön komponenttien ja Unix-tyyppisille järjestelmille kirjoitettujen ohjelmien suorittamisen. Suoritettavan tiedoston muoto on PE, kirjastoilla on .dll-pääte ja ohjelmilla .exe-pääte.
Tuetut laitteet:
- Estä laitteet: NVMe, SATA, SDHCI (SD-kortit), Virtio-block ja USB-asemat.
- Verkkokortit: virtio-net, RTL8168, RTL8125.
- Syöttölaitteet: Virtual Input, USB HID, näppäimistöt ja hiiret PS/2-liitännällä.
- Näytönohjain: virtio-grafiikkasuoritin, GOP-framebuffer, VBE, VGA-konsoli.
- Konsoli: virtio-console, x86-sarjaportti, PL011 ARM.
- USB: XHCI.
Moxnox toteuttaa tällä hetkellä 642 funktiota POSIX 2024 -standardissa kuvatuista noin 1 200 funktiosta, mutta tämä riittää projekteille, kuten gcc, bash, mesa, openssh, openssl, perl, python ja rust. Järjestelmäkirjasto muodostuu gnulib-funktioista, musl-kirjaston matemaattisista ja kryptografisista funktioista, tre-kirjaston säännöllisten lausekkeiden funktioista ja mingw-kirjaston printf-tyyppisistä funktioista. Itsekääntymistä tuetaan, minkä ansiosta Moxnox voidaan kääntää Moxnox-pohjaisesta ympäristöstä. Windows-ohjelmia ei vielä tueta, mutta tulevaisuudessa niiden käynnistämiseen on tarkoitus käyttää Winen Win32 API -toteutusta.

Moxnoxille portattujen ohjelmien joukossa:
- kemut
- binutils
- biisoni
- bzip2
- Kairo
- cmake
- ydinosat
- kiemura
- diffutils
- expat
- tiedosto
- findutils
- flex
- vapaamuotoinen
- ääliö
- gcc (vain amd64)
- mennä
- GMP
- gperf
- grep
- gzip
- harfbuzz
- heksyyli
- jsoncpp
- vähemmän
- kirjastoarkisto
- libiconv
- libpng
- librhash
- libuv
- llvm
- m4
- tehdä
- mako
- markupsafe
- mesa
- sp
- mpfr
- nano
- nurssit
- netcat
- ninja
- openssh
- openssl
- lappu
- perl
- pixman
- pytonkäärme
- pyyaml
- Lue rivi
- ripgrep
- ruoste
- jano
- terva
- puhti
- wget
- xz
- zlib
- zstd
Tässä kehitysvaiheessa tuetaan vain konsolitilaa, mutta tulevaisuudessa suunnitellaan graafista käyttöliittymää. Myöskään tuki usean käyttäjän ympäristöille, suojausmekanismeille, aikavyöhykkeille, näppäimistöasetteluille, kieliasetuksille ja muille kuin UTF-8-koodauksille puuttuu tällä hetkellä.
Projektin sanotaan sisältävän ei merkittävää tekoälytyökalujen luomaa koodia, vaan niitä käytettiin vain rutiinitehtäviin, kuten autotools-sääntöjen kääntämiseen CMakeen, ioctl-kutsujen korvaamiseen tcgetwinsize-funktiolla ohjelmia portattaessa, testien kirjoittamiseen ja virheiden löytämiseen koodista.
Lähde: opennet.ru
