Mae'r mater wedi'i gyhoeddi Asterinas 0.18.0 β ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ΄ΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° Rust ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Linux ABI. ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΡΠΊΠ° ΡΠΎΠ·Π΄Π°ΡΡ Β«production-gradeΒ» Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ Linux Ρ ΡΠΏΠΎΡΠΎΠΌ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π·Π°ΠΏΡΡΠΊ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Linux-ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠ΄ Asterinas ΠΎΡΠΊΡΡΡ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠ½ Π½Π° GitHub, ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° β MPL 2.0. Π Π΅Π»ΠΈΠ· Asterinas 0.18.0 Π±ΡΠ» ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ 4 ΠΈΡΠ½Ρ 2026 Π³ΠΎΠ΄Π°, Π° 9 ΠΈΡΠ½Ρ Π½Π° Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Phoronix.
ΠΠ»Π°Π²Π½ΠΎΠ΅ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠ° β ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Asterinas ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΠ»ΠΈ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘ Π΄Π»Ρ VM-based Cynwysyddion Kata ΠΈ Confidential Containers. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² ΡΠ΄ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ: ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½, cgroups, virtio-fs, virtio-rng ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ vsock Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΎΡΡΠΎΠΌ ΠΈ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
Rhestr o'r prif newidiadau:
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ Π·Π°ΠΏΡΡΠΊΡ Π² Kata Containers ΠΈ Confidential Containers.
Asterinas 0.18 Π΄Π΅Π»Π°Π΅Ρ Π²Π°ΠΆΠ½ΡΠΉ ΡΠ°Π³ ΠΊ Π·Π°ΠΏΡΡΠΊΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘ Π²Π½ΡΡΡΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², Π³Π΄Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ Π½Π΅ Π½Π°ΠΏΡΡΠΌΡΡ Π½Π° ΡΠ΄ΡΠ΅ Ρ ΠΎΡΡΠ°, Π° Π²Π½ΡΡΡΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ VM, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² confidential computing-ΡΡΠ΅Π΄Π°Ρ .ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° namespaces.
Π ΡΠ΄ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ IPC namespace ΠΈ cgroup namespace, Π° ΡΠ°ΠΊΠΆΠ΅ nsfs Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½ ΡΠ΅ΡΠ΅Π· /proc/[pid]/ns. ΠΡΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ°Π΅Ρ Asterinas ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Linux-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ.ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° cgroups.
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ PID sub-controller ΠΈ ΡΠ°ΡΡΠΈΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° CPU sub-controller. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° cpu.stat ΠΈ Π·Π°Π³Π»ΡΡΠΊΠΈ Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π»ΠΈΠΌΠΈΡΠΎΠ² cpu.weight ΠΈ cpu.max. ΠΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅Π³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° cgroups, Π½ΠΎ ΡΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².virtio-fs Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Ρ Ρ ΠΎΡΡΠΎΠΌ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° virtio-fs, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Ρ ΠΎΡΡΠΎΠΌ. ΠΠ»Ρ VM-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· ΡΡΠΆΡΠ»ΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.virtio-rng ΠΈ /dev/hwrng.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ virtio-rng Ρ ΡΠΊΡΠΏΠΎΡΡΠΎΠΌ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ½ΡΡΠΎΠΏΠΈΠΈ ΡΠ΅ΡΠ΅Π· /dev/hwrng. ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» Π²Π½ΡΡΡΠΈ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ ΠΠ‘.ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ vsock.
ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ vsock β ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΎΡΡΠΎΠΌ ΠΈ Π³ΠΎΡΡΠ΅Π²ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ. Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Kata Containers ΠΈ Confidential Containers ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ², Π°Π³Π΅Π½ΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ VM ΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°.ΠΠΎΡΠ²ΠΈΠ»ΡΡ ptrace ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠ»Π°Π΄ΠΊΠΈ userspace.
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² ptrace ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ PTRACE_SETOPTIONS, PTRACE_SYSCALL, PTRACE_PEEK ΠΈ PTRACE_POKE. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π½Π° Asterinas ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π²ΡΠΎΠ΄Π΅ GDB ΠΈ strace. ΠΠ»Ρ Π½ΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ CI-ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ.ΠΠΎΠ²ΡΠΉ NVMe-Π΄ΡΠ°ΠΉΠ²Π΅Ρ.
Π Π±Π»ΠΎΡΠ½ΡΠΉ ΡΠ»ΠΎΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ NVMe. ΠΡΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Asterinas ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΈ Π΄Π΅Π»Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π·Π°ΠΏΡΡΠΊΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΈ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ ΠΆΠ΅Π»Π΅Π·Π΅.ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ EXT2.
Π€Π°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° EXT2 Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π·Π°Π½ΠΎΠ²ΠΎ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΠΎ Ρ ΠΎΠ±ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ storage stack: ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠ°ΡΡ Π½Π°Π΄ΡΠΆΠ½Π΅Π΅ ΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄Π½Π΅Π΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² VFS ΠΈ page cache.
Π VFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Dentry revalidate, ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ page cache, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ pivot_root, ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° O_TMPFILE Π΄Π»Ρ open/openat, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° page cache, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠ³Π»Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΡΠ΅ΡΠΊΠ΅ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² userspace.Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ procfs.
ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ /proc/mounts, /proc/[pid]/auxv, /proc/[tid], Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² /proc/[pid]/maps ΠΈ mountstats. ΠΡΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Linux-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ /proc.Π‘Π΅ΡΠ΅Π²ΡΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ vsock, ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° IPv6, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ UDP ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π² ΠΏΡΠΈ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠ΅ ΠΊ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΡΡΠ°ΠΌ: bind ΠΊ ΡΠ°ΠΊΠΈΠΌ ΠΏΠΎΡΡΠ°ΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠΊΠ»ΠΎΠ½ΡΠ΅ΡΡΡ Π±Π΅Π· CAP_NET_BIND_SERVICE.ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ capabilities ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ LSM framework.
Π ΡΠ΅Π»ΠΈΠ· Π²ΠΎΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ capabilities, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° capability bounding set, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ credentials, ΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠΊΠ°Ρ LSM. ΠΡΠΎ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Asterinas ΠΊ Linux.Π£Π»ΡΡΡΠ΅Π½ΠΈΡ PCI, TTY ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ.
Π£Π»ΡΡΡΠ΅Π½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ PCI-ΡΡΡΡΠΎΠΉΡΡΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° PCI ECAM Π½Π° x86, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ TTY, ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ NS16550A UART, /dev/ttyS0 ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° console=ttyS0. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ.Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Asterinas NixOS.
Π Asterinas NixOS ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ 100 ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ Codex, QEMU ΠΈ Firefox. ΠΠ»Ρ Firefox ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ARCH_GET_GS ΠΈ ARCH_SET_GS.ΠΠΎΠ²ΡΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ Π½Π°Π±ΠΎΡΡ.
Π ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Ρ Linux kselftest, xfstests, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡ Go, Python ΠΈ JDK, Π° ΡΠ°ΠΊΠΆΠ΅ QEMU-ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ·Π½Π°ΠΊ Π²Π·ΡΠΎΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°: Asterinas Π²ΡΡ Π°ΠΊΡΠΈΠ²Π½Π΅Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΡΡ Linux-Π½Π°Π³ΡΡΠ·ΠΊΠ°Ρ .ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² OSTD ΠΈ OSDK.
Π OSTD Π·Π°ΠΌΠ΅Π½ΡΠ½ crate log Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ API Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Ρ DMA API, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅Π΄ΡΠ½ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ Pod Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ zerocopy. ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Docker-ΡΡΠ΅Π΄Π° Π½Π° ARM/aarch64.Diweddariad dogfennaeth.
Π Asterinas Book Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π°Π½Π°Π»ΠΈΠ· soundness Π΄Π»Ρ OSTD, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ Kata Containers ΠΈ Confidential Containers. ΠΡΠΎ ΠΏΠΎΠ΄ΡΡΡΠΊΠΈΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎ-Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΡΠ°Π» ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Asterinas 0.18 Π½Π΅Π»ΡΠ·Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Ρ Linux Π΄Π»Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΡΠ΅Π»ΠΈΠ· Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΡΡΠΎΡΠΎΠ½Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π². ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π²Π°ΠΆΠ½Ρ ΡΡΠΈ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ: ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ Linux-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠ° Π² VM-based ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ .
Ffynhonnell: linux.org.ru
