LINUX.ORG.RU

Asterinas 0.18

 , ,


0

4

Опубликован выпуск 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 Kata Containers и 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 контейнерных окружениях.

>>> Источник

★★★★★

Проверено: cetjs2 ()
Последнее исправление: cetjs2 (всего исправлений: 1)
Ответ на: комментарий от WatchCat

Нахера мне на микроконтроллере для обычных задач еще и операционка? Вы туда еще иксы запихайте. Горе- разработчики.

unname
()
Ответ на: комментарий от ugoday

Представь себе экономию даже одной детали в 10 рублей ценой на партии зотябы пять тысяч штук. Это уже ощущается. Это грубо полторы недели работы рядового. программиста.

В этой области всем насрать на преимущества языка, главное функционал за минимальные деньги,

unname
()
Ответ на: комментарий от unname

О кровавые боги, ты даже свою ссылку прочитать не можешь.
Там тебе табличку выложили, в которой написано, что U585 2М флэша и 786К RAM.

Держи ссылку на официальный даташит

Как прочитаешь, возвращайся.

WatchCat ★★★★★
()
Последнее исправление: WatchCat (всего исправлений: 2)
Ответ на: комментарий от unname

Тебе вообще нихрена ничего не надо.
Ты даже просто прочитать не можешь источники, которые тебе дают.
А уж тем более проанализировать их.

WatchCat ★★★★★
()
Ответ на: комментарий от WatchCat

Я топовые характеристики u5 привел, даже у 585ого это на порядок больше доступного в 103ем

unname
()
Ответ на: комментарий от unname

10 рублей ценой на партии зотябы пять тысяч штук.

50 кРублей ~ €600.

полторы недели работы рядового. программиста.

€1.5k в месяц? Не цените вы себя. Ой, не цените. С другой стороны, смотрю я что вы пишите … может больше вам и не стоит платить.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Мы в РФ живем и сравниваем реальные цены. В розницу 103й от 160 р аналог от 60 рублей. А серя u5 от 900 в том же условном чипидипе

unname
()
Ответ на: комментарий от ugoday

А я вовсе не программист. Я разработчик железа и совладелец компании, программистов я нанимаю, обычно на конкретную работу.

unname
()
Ответ на: комментарий от unname

Реальные цены озвучены, а что там барыги на локальном базаре мухлюют, это уж совсем-совсем другой вопрос.

ugoday ★★★★★
()
Ответ на: комментарий от unname

А я вовсе не программист.

Так с этого и начинать нужно было.

ugoday ★★★★★
()
Ответ на: комментарий от unname

Есть такой анекдот, рассказывают про Николая І и Александра ІІІ. Там некий человек по глупости плюнул на портрет Государя Императора и был осужден за оскорбление величества. Государь же велел того человека отпустить со словами «мне на него тоже плевать». Так вот, мировому рынку и индустрии програмного обеспечения на вас тоже пофиг.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Ну как сказать. До 22 года примерно процентов двадцать рынка в одной востребованной нише медтехники было закрыто изделиями в том числе и моей разработки.

unname
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.