Kuburitswa kweAsterinas 0.18 kernel, yakanyorwa muRust uye inoenderana ne Linux

Chirongwa cheAsterinas chakaburitsa vhezheni 0.18, kernel yakanyorwa muRust uye yakagadzirirwa kushandiswa mumaoperating systems anoshandiswa nevanhu vose. Kernel iyi inopa ABI (Application Binary Interface) inoenderana nekernel. Linux uye inogona kushandiswa panzvimbo pezvo. Kugoverwa kweAsterinas NixOS, uko kunobatanidza kernel yeAsterinas nenzvimbo yeNixOS system, kuri kugadzirwa panguva imwe chete. Kodhi yepurojekiti iyi inogoverwa pasi peMPL (Mozilla Public License).

Parizvino, kune mafoni ehurongwa angangoita mazana maviri nemakumi mana anoshandiswa mukernel. LinuxKugoverwa kweAsterinas NixOS kwakasimbiswa kuti kunoshanda pamusoro peAsterinas kernel ine mapakeji eNixOS anopfuura zana. Mapakeji anotsigirwa anosanganisira: 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, uye Codex.

Kernel inopa rutsigiro rwakazara rwemagadzirirwo e x86-64, rutsigiro rushoma rweRISC-V 64 uye x86-64 ne isolation yakavakirwa paIntel TDX, pamwe nerutsigiro rwekutanga rwemagadzirirwo e LoongArch 64. Nzvimbo dzinonyanya kukosha dzekushandisa dzinosanganisira masisitimu akavakirwa pa Linux MaABI, asi anoda kuchengetedzeka kwakanyanya. Semuenzaniso, Asterinas inokurudzirwa kushandiswa mukugadzira nharaunda yakachengeteka yesystem. michina chaiyo, kuti matekinoroji akadai seARM CCA, AMD SEV uye Intel TDX ashandiswe, pamwe chete nepadivi pesystem yemugadziri, izvo zvinoita kuti macontainer atange kushanda.

Kuti kuderedze mukana wekuti pave nekukanganisa kwekurangarira, uko kuri iko kunonyanya kukonzera njodzi huru, Asterinas inoshandisa mutauro weRust uye kushandiswa kushoma kwemabhuroko asina kuchengetedzeka. Kernel iyi yakavakwa ichishandisa framekernel architecture, iyo inoedza kubatanidza kugona kwe microkernels kupatsanurana nekushanda kwe monolithic kernels.

Zvikamu zvekernel muAsterinas zviri munzvimbo yekero yakagovaniswa, uye kuchengetedzeka kunowanikwa kuburikidza nekupatsanurwa kwekodhi yakachengeteka kubva kukodhi inogona kunge iri panjodzi. Kernel yakakamurwa kuita zvikamu zviviri, zvese zvakanyorwa muRust: OS Framework uye OS Services. OS Services inorambidza kushandiswa kwemablocks asina kuchengetedzeka, uye mashandiro ese epasi anoda kuitwa kwekodhi mumablocks asina kuchengetedzeka anotamiswa kuOS Framework uye anowanikwa chete kuburikidza neAPI yepamusoro. Mafoni ese esystem, masisitimu emafaira, uye madhiraivha anoiswa padanho reOS Services uye haagone kusanganisira mablocks asina kuchengetedzeka.

Pakugadzira masevhisi esystem uye ma kernel modules, OSDK (Operating System Development Kit) inopihwa, ichipa chishandiso checargo-osdk chekugadzira, kuvaka, kuyedza, uye kushandisa zvikamu zveoperating system. Vagadziri vanogona zvakare kushandisa seti yeOSDD (Operating System Standard Library), iyo inosanganisira edition yeRust standard libraries (crate std) yakagadziriswa kuti ishandiswe muzvikamu zveoperating system.

Pakati peshanduko mushanduro 0.18:

  • Sechikamu chebasa rekuona kuti Asterinas inoshanda senzira yevaenzi muKata Containers neConfidential Containers VM containers, rutsigiro rwakaitwa kune IPC ne cgroup namespaces, nsfs (/proc/[pid]/ns), cgroups, virtio-fs (yekuwana system yefaira inogovaniswa nesystem yehost), virtio-rng (/dev/hwrng ye entropy ye pseudo-random number generator), uye vsock (yekutaurirana pakati pehost nesystem yevaenzi).
  • Ndakashandisa hunyanzvi hwekugadzirisa dambudziko re ptrace system uye user-space uchishandisa GDB uye strace.
  • Kushandiswa kutsva kwe ext2 file system kwatangwa, uye NVMe driver yawedzerwa. Nzira yeDentry (Directory Entry) yawedzerwa kuVFS, uye kushandiswa kwepage cache kwakagadziridzwa.
  • Kugoverwa kweAsterinas NixOS kune kugona kumhanyisa Codex, QEMU, uye Firefox.
  • Sisitimu yakawedzerwa inodaidza pidfd_getfd, pidfd_send_signal, pivot_root.
  • Yakawedzerwa pekutanga Rutsigiro rweIPv6.
  • Sisitimu yehunyanzvi yakashandiswa yekupa mabasa emunhu mumwe nemumwe ane hunyanzvi.
  • Kwakawedzerwa kutanga kushandiswa kwehurongwa hweLSM (Linux Mamodule ekuchengetedza).

Source: opennet.ru

Tenga inovimbika yekutambira kwemasaiti ane DDoS dziviriro, VPS VDS maseva 🔥 Tenga webhusaiti yakavimbika ine dziviriro yeDDoS, maseva eVPS VDS | ProHoster