Asterinas loyihasi Rust tilida yozilgan va umumiy maqsadli operatsion tizimlarda foydalanish uchun mo'ljallangan yadroning 0.19 versiyasini chiqardi. Yadro yadro bilan mos keladigan ABI (Application Binary Interface) ni taqdim etadi. Linux va buning o'rniga foydalanish mumkin. Asterinas yadrosini NixOS tizim muhiti bilan birlashtirgan Asterinas NixOS distributivi parallel ravishda ishlab chiqilmoqda. Loyiha kodi 2022-yildan beri ishlab chiqilmoqda va MPL (Mozilla Public License) ostida tarqatiladi.
Hozirda yadroda 240 dan ortiq tizim chaqiruvlari amalga oshirilgan. LinuxAsterinas NixOS distributivi 100 dan ortiq NixOS paketlari bilan Asterinas yadrosi ustida ishlashi tasdiqlangan. Qo'llab-quvvatlanadigan paketlar qatoriga quyidagilar kiradi: Xfce, Firefox, bash, systemd, Podman, QEMU, rsync, Apache httpd, nginx, SQLite, Redis, Clang, GCC, Go, Lua, Node.js, OpenJDK, Perl, PHP, Python, Ruby, Rust, Git, FFmpeg, PyTorch, TensorFlow, Ollama va Codex.
Yadro x86-64 arxitekturasini to'liq qo'llab-quvvatlaydi, Intel TDX asosida izolyatsiya qilingan ARM64, RISC-V 64 va x86-64 uchun qisman qo'llab-quvvatlaydi, shuningdek, LoongArch 64 arxitekturasini dastlabki qo'llab-quvvatlaydi. Ustuvor qo'llanilish sohalariga quyidagilarga asoslangan tizimlar kiradi Linux ABIlar, ammo yuqori darajadagi xavfsizlikni talab qiladi. Masalan, Asterinalar xavfsiz tizim muhitini yaratishda foydalanish uchun taklif qilingan. virtual mashinalar, qaysi izolyatsiya uchun ARM CCA, AMD SEV va Intel TDX kabi texnologiyalar qo'llaniladi, shuningdek, konteynerlarning ishga tushirilishini ta'minlaydigan xost tizimi tomonida.
Eng xavfli zaifliklarning asosiy manbai bo'lgan xotira xatolari ehtimolini kamaytirish uchun Asterinas Rust tilidan va xavfli bloklardan cheklangan foydalanishdan foydalanadi. Yadro mikroyadrolarning izolyatsiya imkoniyatlarini monolit yadrolarning samaradorligi bilan birlashtirishga harakat qiladigan ramka yadrosi arxitekturasi yordamida qurilgan.
Asterinasdagi yadro komponentlari umumiy manzil maydonida joylashgan va xavfsizlikka xavfsiz kodni potentsial zaif bo'lishi mumkin bo'lgan koddan mantiqiy ajratish orqali erishiladi. Yadro ikki qismga bo'lingan, ikkalasi ham Rust tilida yozilgan: OS Framework va OS Services. OS Services xavfli bloklardan foydalanishni taqiqlaydi va xavfli bloklarda kodni bajarishni talab qiladigan barcha past darajadagi operatsiyalar OS Frameworkga ko'chiriladi va faqat yuqori darajadagi API orqali kirish mumkin. Barcha tizim chaqiruvlari, fayl tizimlari va drayverlar OS Services darajasida amalga oshiriladi va xavfli bloklarni o'z ichiga olmaydi.
Tizim xizmatlari va yadro modullarini ishlab chiqish uchun OSDK (Operatsion tizimni ishlab chiqish to'plami) taqdim etiladi, bu operatsion tizim komponentlarini yaratish, qurish, sinovdan o'tkazish va ishga tushirish uchun cargo-osdk yordamchi dasturini taqdim etadi. Ishlab chiquvchilar shuningdek, operatsion tizim komponentlarida foydalanish uchun moslashtirilgan Rust standart kutubxonalarining (crate std) nashrini o'z ichiga olgan OSTD (Operatsion tizim standart kutubxonasi) to'plamiga kirishlari mumkin.
Asterinas 0.19 dagi o'zgarishlar orasida:
- DRM (Direct Rendering Manager) quyi tizimi, /dev/dri qurilmasi, KMS (yadro rejimi sozlamalari) interfeysi va "rejim sozlamalari" drayveri joriy etildi, bu esa ilgari ishlatilgan fbdev drayveri o'rniga X.Org Server va Mesa asosidagi standart grafik stekni ishga tushirish imkonini berdi, bu esa freymbuferdan foydalanadi.
- AArch64 (ARM64) arxitekturasini qo'llab-quvvatlash qo'shildi, endi u x86-64 bilan bir qatorda asosiy ishlab chiqish arxitekturasi bo'lib xizmat qiladi. AArch64 uchun ikkinchi darajali qo'llab-quvvatlash joriy etildi, bu asosiy funksionallikni, uzluksiz integratsiya sinovlarini va qisman sinov qamrovini ta'minlaydi.
- Asterinalarni Kata konteynerlari va maxfiy konteynerlarda mehmon tizimi sifatida ishlashga moslashtirish bo'yicha ishlar davom ettirildi. Standart yadro fayl tizimi sinov to'plamlaridan muvaffaqiyatli o'tgan yangi Overlayfs implementatsiyasi taklif qilindi. Linux va xfstests. Yangi o'rnatish APIsi joriy etildi. Virtio-fs kodi barqarorlashtirildi. Protokolni qo'llab-quvvatlash qo'shildi.
to'g'ridan-to'g'ri yuklash, QEMU, Cloud Hypervisor va Firecracker dasturlarida qo'llaniladi. Yuklash vaqti tezlashtirildi. virtual mashinalar, uning xotirasi Intel TDX texnologiyasi yordamida shifrlangan. - OSTD (Operatsion tizim standart kutubxonasi) tizimi Intel VMX asosida minimalist gipervizorlarni yaratish uchun asosiy API-ni amalga oshiradi.
- Rust drayverini ishlab chiqish modeli uchun qo'llab-quvvatlash qo'shildi. Yadro komponentlarini eslatuvchi funksiyaga ega aster-qurilma komponenti qo'shildi. Linux drayverlarni ishlab chiqish uchun asosiy ibtidoiy va abstraksiyalar bilan, lekin xavfli kodsiz Rust tilida yozilgan.
- Endi o'z-o'zini xosting qilish mumkin - endi siz Asterinas yadrosini Asterinas yadrosi va NixOS paketlari bo'lgan muhitdan yaratishingiz mumkin.
Manba: opennet.ru
