Asterinas 0.18

该期内容已发布 Asterinas 0.18.0 — 一个用 Rust 编写的实验性操作系统和内核,旨在与……兼容 Linux ABI。该项目定位为尝试打造一种“生产级”替代方案。 Linux 重点关注内存安全、性能和正常运行 Linux用户环境。Asterinas 的代码是开源的,托管在…… GitHub上该项目的主要许可证是 MPL 2.0。 Asterinas 0.18.0 于 2026 年 6 月 4 日发布。6月9日,他特别提到了这一点。 Phoronix.


此次发布的主要目的是使 Asterinas 能够用作基于虚拟机的客户操作系统 卡塔集装箱 и 机密容器为了实现这一目标,内核中添加了缺失的底层机制:命名空间、cgroups、virtio-fs、virtio-rng 以及重新设计的 vsock,用于在主机和客户系统之间进行数据交换。

主要变更列表:

  • 准备在 Kata Containers 和 Confidential Containers 中发布。
    Asterinas 0.18 在作为客户操作系统在隔离的容器化虚拟机中运行方面迈出了重要一步。这对于容器并非直接运行在宿主机内核上,而是运行在独立虚拟机中的场景至关重要,包括在机密计算环境中。

  • 支持命名空间。
    内核现在支持 IPC 命名空间和 cgroup 命名空间,以及通过 /proc/[pid]/ns 表示命名空间的 nsfs。这使得 Asterinas 更接近于进程隔离模型。 Linux-容器。

  • 对 cgroups 的初步支持。
    已实现 PID 子控制器和部分 CPU 子控制器支持。具体来说,已添加 cpu.stat 统计信息以及 cpu.weight 和 cpu.max 限制文件的存根。这并非 cgroups 机制的完整实现,但已为容器场景提供了必要的基础。

  • virtio-fs 用于与主机共享文件系统。
    新增对 virtio-fs 的支持,允许客户系统使用宿主机提供的文件系统。对于虚拟机容器而言,这是一种关键的数据传输机制,无需繁琐的变通方法。

  • virtio-rng 和 /dev/hwrng。
    新增了通过 /dev/hwrng 导出硬件熵的 virtio-rng。这对于客户操作系统中加密操作和随机数生成器的正常运行至关重要。

  • 回收利用的vsock。
    vsock,即主机和客户虚拟机之间的通信机制,已被完全重写。在 Kata Containers 和 Confidential Containers 的上下文中,这对于虚拟机和启动环境之间的控制通道、代理和服务交互至关重要。

  • Ptrace 和用户空间调试支持已经出现。
    ptrace 系统调用以及基本操作 PTRACE_SETOPTIONS、PTRACE_SYSCALL、PTRACE_PEEK 和 PTRACE_POKE 已实现。这使得您可以在 Asterina 上运行 GDB 和 strace 等常用调试工具。我们已为这些工具添加了经过验证的用法文档和 CI 检查。

  • 新的NVMe驱动程序。
    块层新增了 NVMe 驱动程序。这扩展了 Asterinas 与现代存储设备交互的能力,并使系统更接近于在真实和虚拟服务器硬件上的实际应用。

  • 完全重写的EXT2驱动程序。
    EXT2 文件系统已重新实现。开发人员将此归因于存储堆栈的整体现代化:文件子系统将变得更加可靠,更适合在实际用户环境中运行。

  • VFS 和页面缓存的更改。
    VFS 已更新,新增了目录重新验证机制、重新设计的页面缓存实现、pivot_root 实现、对 open/openat 的 O_TMPFILE 支持,并修复了可能导致用户空间未初始化内存泄漏的页面缓存错误。

  • procfs 扩展。
    添加了 /proc/mounts、/proc/[pid]/auxv、/proc/[tid],以及 /proc/[pid]/maps 和 mountstats 中的其他条目。这提高了与以下系统的兼容性: Linux- 期望使用熟悉的 /proc 结构的应用程序和诊断工具。

  • 网络改进。
    除了重写的 vsock 之外,还初步支持 IPv6,修复了 UDP 实现,并在绑定到特权端口时进行权限检查:现在如果没有 CAP_NET_BIND_SERVICE,绑定到此类端口将被拒绝。

  • 能力机制和初始LSM框架。
    此次发布包括功能实现、对功能边界集的支持、与凭据相关的系统调用修复以及初始 LSM 框架。这是使 Asterinas 安全模型更接近最终目标的一部分工作。 Linux.

  • PCI、TTY 和游戏机改进。
    改进了PCI设备检测,增加了对x86架构PCI ECAM的支持,并实现了对多个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-加载。

  • OSD 和 OSDK 的变化。
    在 OSTD 中,crate 日志已被替换为自定义日志 API,DMA API 已重构,新增了类型化内存复制操作框架,Pod 也已重构为使用零拷贝。此外,还新增了基于 ARM/aarch64 的 Docker 开发环境。

  • 文档更新。
    《Asterinas 手册》已更新,新增了编码指南、OSTD 的健全性分析以及 Kata 容器和机密容器的文档。这凸显了容器虚拟化场景作为该项目重点关注的方面。

Asterinas 0.18 不能被视为替代品。 Linux 虽然该版本适用于日常使用,但它显著地推动了项目向实用服务器和容器场景的发展。其中三个方面尤为重要:与……的兼容性 Linux-程序,支持隔离机制和基于虚拟机的容器环境的操作。

来源: linux.org.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster