Projeya Asterinas guhertoya 0.18 derxist, kernelek ku bi Rust hatiye nivîsandin û ji bo karanîna di pergalên xebitandinê yên armanca giştî de hatiye sêwirandin. Kernel ABI (Application Binary Interface) peyda dike ku bi kernel re hevaheng e. Linux û dikare li şûna wê were bikar anîn. Belavkirina Asterinas NixOS, ku kernela Asterinas bi jîngeha pergala NixOS re dike yek, bi paralel tê pêşve xistin. Koda projeyê di bin MPL (Lîsansa Giştî ya Mozilla) de tê belavkirin.
Niha, nêzîkî 240 bangên sîstemê di kernelê de hatine bicîhkirin. LinuxBelavkirina Asterinas NixOS bi zêdetirî 100 pakêtên NixOS-ê ve li ser kernela Asterinas dixebite. Pakêtên piştgirîkirî ev in: Xfce, Firefox, bash, systemd, Podman, QEMU, rsync, Apache httpd, nginx, SQLite, Redis, Clang, GCC, Go, Lua, Node.js, OpenJDK, Perl, PHP, Python, Ruby, Rust, Git, FFmpeg, PyTorch, TensorFlow, Ollama, û Codex.
Kernel piştgiriya tevahî ji bo mîmariya x86-64, piştgiriya qismî ji bo RISC-V 64 û x86-64 bi tecrîda li ser bingeha Intel TDX, û her weha piştgiriya destpêkê ji bo mîmariya LoongArch 64 peyda dike. Qadên pêşîn ên serîlêdanê pergalên li ser bingeha Linux ABI, lê pêdivî bi astek bilindtir a ewlehiyê heye. Bo nimûne, Asterinas ji bo karanîna di afirandina jîngehek sîstemek ewle de tê pêşniyar kirin. makîneyên virtual, ji bo veqetandina wan teknolojiyên wekî ARM CCA, AMD SEV û Intel TDX têne bikar anîn, û her weha li aliyê pergala mêvandar, ku destpêkirina konteyneran misoger dike.
Ji bo kêmkirina îhtîmala xeletiyên bîranînê, ku çavkaniya sereke ya qelsiyên herî xeternak in, Asterinas zimanê Rust û karanîna sînorkirî ya blokên ne ewle bikar tîne. Kernel bi karanîna mîmariya framekernel tê çêkirin, ku hewl dide ku şiyanên îzolekirinê yên mîkrokernel bi karîgeriya kernelên monolîtîk re bike yek.
Pêkhateyên kernelê di Asterinasê de di qadeke navnîşanê ya hevpar de ne, û ewlehî bi rêya veqetandina mantiqî ya koda ewle ji koda ku dibe ku xeternak be tê bidestxistin. Kernel ji du beşan pêk tê, her du jî bi Rust hatine nivîsandin: Çarçoveya OS û Xizmetên OS. Xizmetên OS karanîna blokên ne ewle qedexe dikin, û hemî operasyonên asta nizm ên ku pêkanîna kodê di blokên ne ewle de hewce dikin têne veguheztin Çarçoveya OS-ê û tenê bi rêya API-yek asta bilind têne gihîştin. Hemî bangên pergalê, pergalên pelan, û ajokar di asta Xizmetên OS-ê de têne bicîh kirin û nikarin blokên ne ewle tê de bigirin.
Ji bo pêşxistina xizmetên pergalê û modulên kernel, OSDK (Kîta Pêşxistina Pergala Xebitandinê) tê peyda kirin, ku amûra cargo-osdk ji bo afirandin, avakirin, ceribandin û xebitandina pêkhateyên pergala xebitandinê peyda dike. Pêşdebir dikarin seta OSTD (Pirtûkxaneya Standard a Pergala Xebitandinê) jî bikar bînin, ku guhertoyek pirtûkxaneyên standard ên Rust (crate std) dihewîne ku ji bo karanîna di pêkhateyên pergala xebitandinê de hatine adaptekirin.
Di nav guhertinên di guhertoya 0.18 de:
- Wekî beşek ji xebata ji bo misogerkirina ku Asterinas wekî pergalek mêvan di konteynerên Kata Containers û Confidential Containers VM de dixebite, piştgirî ji bo navên IPC û cgroup namespaces, nsfs (/proc/[pid]/ns), cgroups, virtio-fs (ji bo gihîştina pergalek pelan a ku bi pergala mêvandar re tê parve kirin), virtio-rng (/dev/hwrng ji bo entropiyê ji bo jeneratora hejmarên pseudo-random), û vsock (ji bo ragihandina di navbera pergalên mêvandar û mêvan de) hatiye bicîh kirin.
- Gazîkirina sîstema ptrace û şiyanên debugkirina cîhê bikarhêner bi karanîna GDB û strace bicîh anî.
- Pêkanînek nû ya pergala pelê ya ext2 hatiye pêşniyar kirin, û ajokarek NVMe hatiye zêdekirin. Mekanîzmayek Dentry (Ketina Rêbernameyê) li VFS-ê hatiye zêdekirin, û pêkanîna keşeya rûpelê ji nû ve hatiye sêwirandin.
- Belavkirina Asterinas NixOS xwedî şiyana xebitandina Codex, QEMU, û Firefox e.
- Gazinên sîstemê yên pidfd_getfd, pidfd_send_signal, pivot_root hatin zêdekirin.
- Destpêkê lê zêde kir Piştgiriya IPv6.
- Sîstemeke şiyanan ji bo delegekirina operasyonên îmtiyazî yên takekesî hatiye bicîhkirin.
- Pêkanîna destpêkê ya çarçoveya LSM hate zêdekirin (Linux Modulên Ewlehiyê).
Source: opennet.ru
