Ukukhishwa kwe-Asterinas 0.18 kernel, ebhalwe nge-Rust futhi ehambisana nayo Linux

Iphrojekthi ye-Asterinas ikhiphe inguqulo 0.18, i-kernel ebhalwe ku-Rust futhi eyenzelwe ukusetshenziswa ezinhlelweni zokusebenza ezijwayelekile. I-kernel inikeza i-ABI (Application Binary Interface) ehambisana ne-kernel. Linux futhi ingasetshenziswa esikhundleni salokho. Ukusatshalaliswa kwe-Asterinas NixOS, okuhlanganisa i-kernel ye-Asterinas nendawo yesistimu ye-NixOS, kuyathuthukiswa ngokuhambisanayo. Ikhodi yephrojekthi isatshalaliswa ngaphansi kwe-MPL (i-Mozilla Public License).

Njengamanje, kunezingcingo zesistimu ezingaba ngu-240 ezifakiwe ku-kernel. LinuxUkusatshalaliswa kwe-Asterinas NixOS kuqinisekisiwe ukuthi kusebenza phezu kwe-kernel ye-Asterinas enamaphakheji e-NixOS angaphezu kwe-100. Amaphakheji asekelwayo afaka: i-Xfce, i-Firefox, i-bash, i-systemd, i-Podman, i-QEMU, i-rsync, i-Apache httpd, i-nginx, i-SQLite, i-Redis, i-Clang, i-GCC, i-Go, i-Lua, i-Node.js, i-OpenJDK, i-Perl, i-PHP, i-Python, i-Ruby, i-Rust, i-Git, i-FFmpeg, i-PyTorch, i-TensorFlow, i-Ollama, ne-Codex.

I-kernel inikeza ukwesekwa okugcwele kokwakhiwa kwe-x86-64, ukwesekwa okungaphelele kwe-RISC-V 64 kanye ne-x86-64 ngokuhlukaniswa okusekelwe ku-Intel TDX, kanye nokusekelwa kokuqala kokwakhiwa kwe-LoongArch 64. Izindawo ezibaluleke kakhulu zokusetshenziswa zifaka phakathi izinhlelo ezisekelwe ku- Linux Ama-ABI, kodwa adinga izinga eliphezulu lokuphepha. Isibonelo, i-Asterinas ihlongozwa ukuthi isetshenziswe ekudaleni indawo evikelekile yesistimu. imishini ebonakalayo, ukuze kuhlukaniswe ubuchwepheshe obufana ne-ARM CCA, i-AMD SEV kanye ne-Intel TDX obusetshenziswayo, kanye nohlangothi lwesistimu yomsingathi, okuqinisekisa ukuqaliswa kweziqukathi.

Ukuze kuncishiswe amathuba okuba namaphutha enkumbulo, umthombo oyinhloko wobuthakathaka obuyingozi kakhulu, ama-Asterinas asebenzisa ulimi lwe-Rust kanye nokusetshenziswa okulinganiselwe kwamabhulokhi angaphephile. I-kernel yakhiwe kusetshenziswa ukwakheka kwe-framekernel, okuzama ukuhlanganisa amakhono okuhlukaniswa kwama-microkernels nokusebenza kahle kwama-monolithic kernels.

Izingxenye ze-kernel ku-Asterinas zitholakala endaweni yekheli elabiwe, futhi ukuphepha kutholakala ngokuhlukaniswa okunengqondo kwekhodi evikelekile kukhodi engase ibe sengozini. I-kernel ihlukaniswe izingxenye ezimbili, zombili ezibhalwe ku-Rust: OS Framework kanye ne-OS Services. I-OS Services iyakwenqabela ukusetshenziswa kwamabhulokhi angaphephile, futhi yonke imisebenzi esezingeni eliphansi edinga ukwenziwa kwekhodi kumabhulokhi angaphephile ithuthelwa ku-OS Framework futhi ifinyeleleka kuphela nge-API yezinga eliphezulu. Zonke izingcingo zesistimu, izinhlelo zamafayela, kanye nabashayeli zisetshenziswa ezingeni le-OS Services futhi azikwazi ukufaka amabhulokhi angaphephile.

Ukuze kuthuthukiswe izinsizakalo zesistimu namamojula e-kernel, kuhlinzekwa i-OSDK (Ikhithi Yokuthuthukiswa Kwesistimu Yokusebenza), enikeza usizo lwe-cargo-osdk lokudala, ukwakha, ukuhlola, nokusebenzisa izingxenye zesistimu yokusebenza. Abathuthukisi bangasebenzisa futhi isethi ye-OSDD (Ilayibrari Ejwayelekile Yesistimu Yokusebenza), ehlanganisa uhlelo lwezincwadi ezijwayelekile ze-Rust (i-crate std) ezilungiselelwe ukusetshenziswa ezingxenyeni zesistimu yokusebenza.

Phakathi kwezinguquko zenguqulo 0.18:

  • Njengengxenye yomsebenzi wokuqinisekisa ukuthi i-Asterinas isebenza njengohlelo lwezivakashi ku-Kata Containers kanye ne-Confidential Containers VM containers, usekelo luye lwasetshenziswa ku-IPC kanye ne-cgroup namespaces, i-nsfs (/proc/[pid]/ns), i-cgroups, i-virtio-fs (yokufinyelela uhlelo lwefayela olwabiwe nohlelo lwe-host), i-virtio-rng (/dev/hwrng ye-entropy ye-pseudo-random number generator), kanye ne-vsock (yokuxhumana phakathi kwe-host kanye nezinhlelo zezivakashi).
  • Kusetshenziswe ikhono lokushaya ucingo lwesistimu ye-ptrace kanye nokulungisa iphutha lesikhala somsebenzisi kusetshenziswa i-GDB kanye ne-strace.
  • Kuphakanyiswe ukusetshenziswa okusha kohlelo lwefayela le-ext2, futhi kufakwe umshayeli we-NVMe. Indlela yokufakwa kwe-Dentry (Directory Entry) ifakiwe ku-VFS, futhi ukusetshenziswa kwe-page cache kuphinde kwaklanywa kabusha.
  • Ukusatshalaliswa kwe-Asterinas NixOS kunekhono lokusebenzisa i-Codex, QEMU, kanye ne-Firefox.
  • Kufakwe izingcingo zesistimu ezithi pidfd_getfd, pidfd_send_signal, pivot_root.
  • Isiqalo esingeziwe Usekelo lwe-IPv6.
  • Kusetshenziswe uhlelo lwamakhono lokunikeza imisebenzi enelungelo lomuntu ngamunye.
  • Kwengezwe ukusetshenziswa kokuqala kohlaka lwe-LSM (Linux Amamojula Okuphepha).

Source: opennet.ru

Thenga ukusingathwa okuthembekile kwamasayithi anokuvikelwa kwe-DDoS, amaseva e-VPS VDS πŸ”₯ Thenga ukusingathwa kwewebhusayithi okuthembekile ngokuvikelwa kwe-DDoS, amaseva e-VPS VDS | ProHoster