Avtor WinBtrfs je objavil odprti operacijski sistem Moxnox 1.0 z jedrom v slogu Windows NT

Mark Harmstone, avtor projekta WinBtrfs, je objavil izdajo operacijskega sistema Moxnox 1.0, ki se razvija od leta 2022 kot hobi. Moxnox se predstavlja kot operacijski sistem oblikovan z mislijo na Windows NT, ki zagotavlja združljivost s standardi POSIX, uporablja datotečni sistem Btrfs in je dosegel raven samoskladiščenja (self-hosting). Projekt obsega približno 130 tisoč vrstic kode v jeziku C++ in se distribuira pod licencami GPL (jedro in osnovni programi), LGPL (knjižnice) in MIT (moduli). Podprta je gradnja za arhitekture x86-64-v3 in ARMv8.1 (lahko deluje na plošči Raspberry Pi 5).

Sistemski klici in nizkonivojski vmesniki v jedru so izvedeni po vzoru Windows NT, vendar se struktura jedra in pripadajoče komponente razlikujejo od Windows NT. Omogoča se zagon komponent okolja GNU in programov, napisanih za Unix-podobne sisteme. Kot format izvršnih datotek se uporablja PE, knjižnice imajo končnico dll, programi pa exe.

Podprte strojne naprave:

  • Blokovne naprave: NVMe, SATA, SDHCI (SD kartice), virtio-block in USB naprave.
  • Mrežne kartice: virtio-net, RTL8168, RTL8125.
  • Vhodne naprave: virtio-input, USB HID, tipkovnice in miške s povezavo PS/2.
  • Grafika: virtio-gpu, GOP framebuffer, VBE, VGA konzola.
  • Konzola: virtio-console, serijski priključek x86, PL011 ARM.
  • USB: XHCI.

Trenutno je v Moxnox izvedenih 642 funkcij od približno 1200, opisanih v standardu POSIX 2024, kar je zadostno za delovanje takih projektov, kot so gcc, bash, mesa, openssh, openssl, perl, python in rust. Sistemska knjižnica je oblikovana iz funkcij gnulib, matematičnih in kriptografskih funkcij iz musl, funkcij za obdelavo rednih izrazov iz tre in funkcij tipa printf iz mingw. Podprto je samoskladiščenje, ki omogoča, da se Moxnox prevede iz okolja, ki temelji na Moxnox. Zagon Windows programov trenutno ni podprt, vendar se v prihodnosti načrtuje uporaba implementacije API Win32 iz Wine.

Med programi, portiranimi za Moxnox, so:

  • bash
  • binutils
  • bison
  • bzip2
  • cairo
  • cmake
  • coreutils
  • curl
  • diffutils
  • expat
  • file
  • findutils
  • flex
  • freetype
  • gawk
  • gcc (samo za 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

Na tej fazi razvoja se podpira le delo v konzolskem načinu, v prihodnosti pa načrtujejo tudi izvajanje grafičnega vmesnika. Prav tako trenutno ni podpore za večuporabniško okolje, mehanizme zagotavljanja varnosti, časovne pasove, razporeditve tipkovnic, lokalizacije in kodiranja, razen UTF-8.

Trdi se, da projekt ne vsebuje pomembne kode, generirane s pomočjo AI orodij, ki so bila uporabljena le za opravljanje rutinskega dela, kot je prevod pravil autotools v CMake, zamenjava ioctl klicev z funkcijo tcgetwinsize pri prenosu programov, pisanje testov in iskanje napak v kodi.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster