その号が発行されました アステリナス 0.18.0 — Rustで書かれた実験的なオペレーティングシステムとカーネルで、互換性を目的としています。 Linux ABI。このプロジェクトは、「生産グレード」の代替品を作り出す試みとして位置づけられている。 Linux メモリの安全性、パフォーマンス、および通常の動作に重点を置いています Linux-ユーザー環境。Asterinasのコードはオープンソースで、 GitHubこのプロジェクトのメインライセンスはMPL 2.0です。 Asterinas 0.18.0は2026年6月4日にリリースされました。そして6月9日、彼はそれに注目を集めた。 Phoronix.
今回のリリースの主な目的は、VMベースのゲストOSとしてAsterinasを使用できるようにすることです。 カタコンテナ и 機密コンテナこれを実現するために、カーネルに不足していた低レベルのメカニズムが追加されました。具体的には、名前空間、cgroups、virtio-fs、virtio-rng、そしてホストシステムとゲストシステム間のデータ交換のための再設計されたvsockなどです。
主な変更点のリスト:
-
Kata ContainersおよびConfidential Containersのローンチ準備を進めています。
Asterinas 0.18は、隔離されたコンテナ化された仮想マシン内でゲストOSとして動作するための重要な一歩を踏み出しました。これは、コンテナがホストカーネル上で直接実行されるのではなく、別の仮想マシン内で実行されるシナリオ、特に機密性の高いコンピューティング環境において重要です。 -
名前空間のサポート。
カーネルには、IPC名前空間とcgroup名前空間、および/proc/[pid]/nsによる名前空間表現を備えたnsfsが搭載されました。これにより、Asterinasは、 Linux-コンテナ。 -
cgroupsの初期サポート。
PIDサブコントローラと部分的なCPUサブコントローラのサポートが実装されました。具体的には、cpu.stat統計情報と、cpu.weightおよびcpu.max制限ファイルのスタブが追加されました。これはcgroupsメカニズム全体の完全な実装ではありませんが、コンテナシナリオに必要な基盤は既に提供されています。 -
virtio-fsは、ホストとファイルシステムを共有するためのツールです。
virtio-fsのサポートを追加し、ゲストシステムがホスト提供のファイルシステムを使用できるようにしました。これは、VMコンテナにとって、煩雑な回避策なしにデータ転送を実現する重要なメカニズムです。 -
virtio-rng と /dev/hwrng。
virtio-rngに、/dev/hwrngを介したハードウェアエントロピーのエクスポート機能を追加しました。これは、ゲストOS内での暗号化処理および乱数生成器の適切な動作に必要です。 -
リサイクル素材のVSソックス。
ホスト仮想マシンとゲスト仮想マシン間の通信メカニズムであるvsockが完全に書き直されました。Kata ContainersおよびConfidential Containersにおいては、これはVMと起動環境間の制御チャネル、エージェント、およびサービス間の相互作用にとって重要です。 -
Ptraceとユーザー空間デバッグのサポートが追加されました。
ptraceシステムコールと、PTRACE_SETOPTIONS、PTRACE_SYSCALL、PTRACE_PEEK、PTRACE_POKEといった基本操作が実装されました。これにより、GDBやstraceなどの使い慣れたデバッグツールをAsterinas上で実行できるようになります。これらのツールについて、検証済みの使用方法とCIチェックに関するドキュメントが追加されました。 -
新しいNVMeドライバー。
ブロックレイヤーにNVMeドライバが追加されました。これにより、Asterinasは最新のストレージデバイスとの連携機能が拡張され、実機および仮想化サーバーハードウェアの両方でより実用的な運用が可能になります。 -
EXT2ドライバを完全に書き直しました。
EXT2ファイルシステムが再実装されました。開発者によると、これはストレージスタック全体の近代化の一環であり、ファイルサブシステムの信頼性が向上し、実際のユーザー環境での運用に適したものになるとのことです。 -
VFSとページキャッシュの変更。
VFSは、Dentryの再検証メカニズム、改良されたページキャッシュ実装、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は、Codex、QEMU、Firefoxなど、100以上の人気パッケージをチェックするようになりました。特にFirefox向けに、ARCH_GET_GSとARCH_SET_GSのサポートが追加されました。 -
新しい検査キット。
このプロジェクトは統合されています Linux kselftest、xfstests、標準のGo、Python、JDKテストに加え、仮想化アプリケーション向けのQEMUテストも含まれています。これはプロジェクトの成熟度を示す重要な指標であり、Asterinasが実世界のシステムでテストされる機会が増えていることを示しています。 Linux-負荷。 -
OSTDおよびOSDKの変更点。
OSTDでは、クレートログがカスタムロギングAPIに置き換えられ、DMA APIが再設計され、型付きメモリコピー操作のためのフレームワークが追加され、Podがゼロコピーを使用するようにリファクタリングされました。開発用にARM/aarch64上のDocker環境が追加されました。 -
ドキュメントの更新。
Asterinas Bookが更新され、コーディングガイドライン、OSTDの健全性分析、Kata ContainersおよびConfidential Containersのドキュメントが追加されました。これは、コンテナ仮想化シナリオがプロジェクトの主要な焦点であることを強調するものです。
アステリナス0.18は代替品とはみなせない Linux 日常的な使用には適していませんが、今回のリリースではプロジェクトが実用的なサーバーおよびコンテナのシナリオに向けて大きく前進します。特に重要な3つの領域は次のとおりです。 Linux-プログラム、分離メカニズムのサポート、およびVMベースのコンテナ環境での動作。
出所: linux.org.ru
