Te tukunga o te kernel Asterinas 0.18, i tuhia ki te Rust, ā, e hototahi ana ki Linux

Kua tukuna e te kaupapa Asterinas te putanga 0.18, he kernel i tuhia ki te Rust, ā, i hangaia mō te whakamahi i roto i ngā pūnaha whakahaere whānui. Ka whakaratohia e te kernel he ABI (Application Binary Interface) e hototahi ana ki te kernel. Linux ā, ka taea te whakamahi hei whakakapi. Kei te whakawhanakehia ngātahitia te tohatoha Asterinas NixOS, e whakakotahi ana i te kernel Asterinas me te taiao pūnaha NixOS. Kei te tohatohahia te waehere o te kaupapa i raro i te MPL (Mozilla Public License).

I tēnei wā, e 240 ngā waeatanga pūnaha kua whakatinanahia ki roto i te kernel. LinuxKua manatokohia te whakahaere o te tohatoha Asterinas NixOS i runga i te kernel Asterinas me te neke atu i te 100 ngā mōkihi NixOS. Ko ngā mōkihi e tautokona ana ko: 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, me Codex.

Ka tautoko katoa te kernel i te hoahoanga x86-64, tautoko wāhanga mō te RISC-V 64 me te x86-64 me te wehewehe i runga i te Intel TDX, tae atu ki te tautoko tuatahi mō te hoahoanga LoongArch 64. Ko ngā wāhi matua o te tono ko ngā pūnaha i runga i Linux ngā ABI, engari me teitei ake te taumata haumarutanga. Hei tauira, e whakaarohia ana a Asterinas hei whakamahi mā te waihanga i tētahi taiao pūnaha haumaru. mihini mariko, mō te wehewehenga e whakamahia ana ngā hangarau pēnei i te ARM CCA, AMD SEV me te Intel TDX, tae atu ki te taha pūnaha manaaki, e whakarite ana i te whakarewatanga o ngā ipu.

Hei whakaiti i te tūponotanga o ngā hapa mahara, te pūtake matua o ngā ngoikoretanga tino morearea, ka whakamahia e Asterinas te reo Rust me te whakamahinga iti o ngā poraka haumaru kore. Ka hangaia te kernel mā te whakamahi i te hoahoa framekernel, e ngana ana ki te whakakotahi i ngā āheinga wehewehe o ngā microkernels me te whai huatanga o ngā kernels monolithic.

Kei roto i tētahi wāhi wāhitau tiritahi ngā wāhanga kernel i roto i a Asterinas, ā, ka tutuki te haumarutanga mā te wehewehe arorau i te waehere haumaru mai i te waehere ka taea te whakaraerae. E rua ngā wāhanga o te kernel, kua tuhia ki Rust: OS Framework me OS Services. Ka āraia e OS Services te whakamahinga o ngā poraka haumaru kore, ā, ko ngā mahi taumata-iti katoa e hiahia ana ki te whakahaere waehere i roto i ngā poraka haumaru kore ka nekehia ki te OS Framework, ā, ka taea te uru atu mā te API taumata-tiketike anake. Ka whakatinanahia ngā waeatanga pūnaha katoa, ngā pūnaha kōnae, me ngā taraiwa i te taumata OS Services, ā, kāore e taea te whakauru i ngā poraka haumaru kore.

Mō te whakawhanake i ngā ratonga pūnaha me ngā kōwae kernel, ka whakaratohia te OSDK (Operating System Development Kit), e whakarato ana i te taputapu cargo-osdk mō te waihanga, te hanga, te whakamātautau, me te whakahaere i ngā wāhanga pūnaha whakahaere. Ka taea hoki e ngā kaiwhakawhanake te whakamahi i te huinga OSTD (Operating System Standard Library), kei roto ko te putanga o ngā whare pukapuka paerewa Rust (crate std) kua whakarerekētia hei whakamahi i roto i ngā wāhanga pūnaha whakahaere.

I roto i nga huringa o te putanga 0.18:

  • Hei wāhanga o te mahi hei whakarite kia rere a Asterinas hei pūnaha manuhiri i roto i ngā ipu Kata Confidential Containers VM, kua whakatinanahia te tautoko mō ngā mokowā ingoa IPC me te cgroup, nsfs (/proc/[pid]/ns), cgroups, virtio-fs (mō te uru atu ki tētahi pūnaha kōnae e tohaina ana ki te pūnaha manaaki), virtio-rng (/dev/hwrng mō te entropy mō te kaihanga tau rūpahu-matapōkere), me vsock (mō te whakawhitiwhiti kōrero i waenga i te pūnaha manaaki me te manuhiri).
  • I whakatinanahia te karanga pūnaha ptrace me ngā āheinga patuiro mokowā-kaiwhakamahi mā te whakamahi i te GDB me te strace.
  • Kua whakaarohia he whakatinanatanga hou o te pūnaha kōnae ext2, ā, kua tāpirihia he taraiwa NVMe. Kua tāpirihia he tikanga Dentry (Wharangi Whakauru) ki te VFS, ā, kua hangaia anō te whakatinanatanga o te keteroki whārangi.
  • Ka taea e te tohatoha Asterinas NixOS te whakahaere i a Codex, QEMU, me Firefox.
  • Kua tāpirihia ngā karangatanga pūnaha pidfd_getfd, pidfd_send_signal, pivot_root.
  • I tāpirihia te tīmatanga Tautoko IPv6.
  • Kua whakatinanahia he pūnaha āheinga hei tuku mahi ki ngā tāngata takitahi.
  • I tāpirihia te whakatinanatanga tuatahi o te anga LSM (Linux Ngā Kōwae Haumarutanga).

Source: opennet.ru

Hokona te manaaki pono mo nga waahi me te tiaki DDoS, nga kaiwhakarato VPS VDS 🔥 Hokona he manaaki paetukutuku pono me te tiakitanga DDoS, ngā tūmau VPS VDS | ProHoster