Asterinas 0.18

Опубліковано випуск 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 Ката Контейнери и Confidential Containers. Для цього в ядро ​​додали недостатньо низькорівневі механізми: простори імен, cgroups, virtio-fs, virtio-rng та перероблений vsock для обміну даними між хостом та гостьовою системою.

Список основних змін:

  • Підготовка до запуску у 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.

  • Відновлення документації.
    В Asterinas Book додані правила кодування, аналіз soundness для OSTD, а також документація по Kata Containers та Confidential Containers. Це підкреслює, що контейнерно-віртуалізаційний сценарій став одним із головних напрямів проекту.

Asterinas 0.18 не можна розглядати як заміну Linux для повсякденного використання, але реліз помітно просуває проект у бік практичних серверних та контейнерних сценаріїв. Особливо важливими є три напрямки: сумісність з Linux-програми, підтримка механізмів ізоляції та робота в VM-based контейнерних оточеннях.

Джерело: linux.org.ru

Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster