Бул маселе жарыяланды Астеринас 0.18.0 — Rust тилинде жазылган жана шайкештикке багытталган эксперименталдык операциялык система жана ядро Linux ABI. Долбоор "өндүрүштүк деңгээлдеги" альтернативаны түзүү аракети катары жайгаштырылган. Linux эс тутумдун коопсуздугуна, иштөөсүнө жана кадимкидей иштөөсүнө басым жасоо менен Linux-колдонуучу чөйрөсү. Asterinas коду ачык жана жайгашкан GitHub, долбоордун негизги лицензиясы MPL 2.0. Чыгарылышы Asterinas 0.18.0 версиясы 2026-жылдын 4-июнунда чыгарылган., жана 9-июнда ал буга көңүл бурду Phoronix.
Чыгарылыштын негизги максаты - Asterinaларды виртуалдык машинага негизделген конок ОС катары колдонууга даярдоо. Ката контейнерлери и Купуя контейнерлерМуну ишке ашыруу үчүн ядрого төмөнкү деңгээлдеги жок механизмдер кошулган: аталыш мейкиндиктери, cgroups, virtio-fs, virtio-rng жана хост менен конок системаларынын ортосунда маалымат алмашуу үчүн кайра иштелип чыккан vsock.
Негизги өзгөрүүлөрдүн тизмеси:
Kata контейнерлерин жана купуя контейнерлерди ишке киргизүүгө даярданууда.
Asterinas 0.18 обочолонгон контейнерленген виртуалдык машиналардын ичинде конок ОС катары иштөөгө карай маанилүү кадам таштайт. Бул контейнерлер түздөн-түз хост ядросунда эмес, өзүнчө виртуалдык машинанын ичинде, анын ичинде купуя эсептөө чөйрөлөрүндө иштеген сценарийлер үчүн маанилүү.Аталыш мейкиндиктерин колдоо.
Эми ядродо IPC аталыш мейкиндиги жана cgroup аталыш мейкиндиги, ошондой эле /proc/[pid]/ns аркылуу аталыш мейкиндигин көрсөтүүчү nsfs бар. Бул Asterina'ны колдонулган процессти изоляциялоо моделине жакындатат. Linux- контейнерлер.cgroups үчүн баштапкы колдоо.
PID суб-контроллери жана жарым-жартылай CPU суб-контроллерлери колдоосу ишке ашырылды. Тактап айтканда, cpu.stat статистикасы жана cpu.weight жана cpu.max лимит файлдары үчүн stubs кошулду. Бул cgroups механизминин толук ишке ашырылышы эмес, бирок ал контейнер сценарийлери үчүн зарыл болгон негизди камсыз кылат.Файл системасын хост менен бөлүшүү үчүн virtio-fs.
Конок системасына хост тарабынан берилген файл системасын колдонууга мүмкүндүк берген virtio-fs колдоосу кошулду. VM контейнерлери үчүн бул татаал айланма жолдорсуз маалыматтарды өткөрүп берүүнүн негизги механизми болуп саналат.virtio-rng жана /dev/hwrg.
/dev/hwrg аркылуу жабдык энтропиясын экспорттоо менен виртио-рнг кошулду. Бул конок ОС ичинде криптографиялык операциялардын жана кокустук сан генераторлорунун туура иштеши үчүн зарыл.Кайра иштетилген vsock.
Хост жана конок виртуалдык машиналарынын ортосундагы байланыш механизми болгон vsock толугу менен кайра жазылды. Kata контейнерлери жана купуя контейнерлер контекстинде бул виртуалдык машина менен ишке киргизүү чөйрөсүнүн ортосундагы башкаруу каналдары, агенттер жана кызматтык өз ара аракеттенүүлөр үчүн маанилүү.Ptrace жана колдонуучулар мейкиндигиндеги мүчүлүштүктөрдү оңдоо колдоосу пайда болду.
ptrace системасын чакыруу жана PTRACE_SETOPTIONS, PTRACE_SYSCALL, PTRACE_PEEK жана PTRACE_POKE негизги операциялары ишке ашырылды. Бул сизге Asterina'ларда GDB жана strace сыяктуу тааныш мүчүлүштүктөрдү оңдоо куралдарын иштетүүгө мүмкүндүк берет. Бул куралдар үчүн текшерилген колдонуу жана 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 zerocopy колдонуу үчүн кайра жасалды. Иштеп чыгуу үчүн ARM/aarch64'тө Docker чөйрөсү кошулду.Документти жаңыртуу.
Asterinas китеби коддоо боюнча көрсөтмөлөр, OSTD үчүн ишенимдүүлүк талдоосу жана Kata контейнерлери жана купуя контейнерлер үчүн документтер менен жаңыртылды. Бул контейнер-виртуалдаштыруу сценарийин долбоордун негизги багыты катары баса белгилейт.
Asterinas 0.18 алмаштыруучу катары каралышы мүмкүн эмес Linux күнүмдүк колдонуу үчүн, бирок чыгарылышы долбоорду практикалык сервер жана контейнер сценарийлерине карай бир топ алдыга жылдырат. Айрыкча үч багыт маанилүү: шайкештик Linux- программалар, изоляция механизмдерин колдоо жана виртуалдык машинага негизделген контейнер чөйрөлөрүндө иштөө.
Source: linux.org.ru
