Mradi wa Asterinas umetoa toleo la 0.19, kiini kilichoandikwa katika Rust na kimeundwa kwa ajili ya matumizi katika mifumo ya uendeshaji ya matumizi ya jumla. Kiini hutoa ABI (Application Binary Interface) inayoendana na kiini. Linux na inaweza kutumika badala yake. Usambazaji wa Asterinas NixOS, ambao unachanganya kiini cha Asterinas na mazingira ya mfumo wa NixOS, unatengenezwa sambamba. Msimbo wa mradi umekuwa ukitengenezwa tangu 2022 na unasambazwa chini ya MPL (Leseni ya Umma ya Mozilla).
Hivi sasa, kuna zaidi ya simu 240 za mfumo zinazotekelezwa kwenye kiini. LinuxUsambazaji wa Asterinas NixOS umethibitishwa kufanya kazi juu ya kiini cha Asterinas chenye zaidi ya vifurushi 100 vya NixOS. Vifurushi vinavyoungwa mkono ni pamoja na: 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, na Codex.
Kiini hutoa usaidizi kamili kwa usanifu wa x86-64, usaidizi wa sehemu kwa ARM64, RISC-V 64, na x86-64 kwa kutenganisha kulingana na Intel TDX, pamoja na usaidizi wa awali kwa usanifu wa LoongArch 64. Maeneo ya kipaumbele ya matumizi yanajumuisha mifumo kulingana na Linux ABI, lakini zinahitaji kiwango cha juu cha usalama. Kwa mfano, Asterinas inapendekezwa kutumika katika kuunda mazingira salama ya mfumo. mashine pepe, kwa ajili ya kutenganisha teknolojia kama vile ARM CCA, AMD SEV na Intel TDX zinazotumika, na pia upande wa mfumo mwenyeji, ambao unahakikisha uzinduzi wa vyombo.
Ili kupunguza uwezekano wa makosa ya kumbukumbu, chanzo kikuu cha udhaifu hatari zaidi, Asterinas hutumia lugha ya Rust na matumizi machache ya vitalu visivyo salama. Kiini kimejengwa kwa kutumia usanifu wa kiini cha fremu, ambao unajaribu kuchanganya uwezo wa kutenganisha wa kiini cha nyuki na ufanisi wa kiini cha monolithic.
Vipengele vya kernel katika Asterinas viko katika nafasi ya anwani inayoshirikiwa, na usalama hupatikana kupitia utenganisho wa kimantiki wa msimbo salama kutoka kwa msimbo ambao unaweza kuwa hatarini. Kernel imegawanywa katika sehemu mbili, zote zimeandikwa katika Rust: OS Framework na OS Services. OS Services inakataza matumizi ya vitalu visivyo salama, na shughuli zote za kiwango cha chini zinazohitaji utekelezaji wa msimbo katika vitalu visivyo salama huhamishiwa kwenye OS Framework na kupatikana tu kupitia API ya kiwango cha juu. Simu zote za mfumo, mifumo ya faili, na viendeshi hutekelezwa katika kiwango cha OS Services na haziwezi kujumuisha vitalu visivyo salama.
Kwa ajili ya kutengeneza huduma za mfumo na moduli za kernel, OSDK (Kifaa cha Kuendeleza Mfumo wa Uendeshaji) hutolewa, ikitoa huduma ya mizigo-osdk kwa ajili ya kuunda, kujenga, kupima, na kuendesha vipengele vya mfumo wa uendeshaji. Wasanidi programu wanaweza pia kufikia seti ya OSTD (Maktaba ya Viwango vya Mfumo wa Uendeshaji), ambayo inajumuisha toleo la maktaba za viwango vya Rust (crate std) zilizorekebishwa kwa matumizi katika vipengele vya mfumo wa uendeshaji.
Miongoni mwa mabadiliko katika Asterinas 0.19:
- Mfumo mdogo wa DRM (Direct Rendering Manager), kifaa cha /dev/dri, kiolesura cha KMS (mpangilio wa hali ya kernel), na kiendeshi cha "modesetting" vimetekelezwa, kuruhusu uzinduzi wa rafu ya kawaida ya michoro kulingana na Seva ya X.Org na Mesa, badala ya kiendeshi cha fbdev kilichotumika hapo awali, ambacho hutumia fremubuffer.
- Usaidizi kwa usanifu wa AArch64 (ARM64) umeongezwa, sasa ukitumika kama usanifu mkuu wa maendeleo pamoja na x86-64. Kiwango cha pili cha usaidizi kimetekelezwa kwa AArch64, kuhakikisha utendakazi wa msingi, upimaji endelevu wa ujumuishaji, na chanjo ya majaribio isiyo kamili.
- Kazi iliendelea katika kurekebisha Asterinas kwa ajili ya kuendesha kama mfumo mgeni katika Kata Containers na Confidential Containers. Utekelezaji mpya wa Overlayfs ulipendekezwa ambao ulifaulu kwa mafanikio vipimo vya kawaida vya mfumo wa faili ya kernel. Linux na xfstests. API mpya ya kupachika imetekelezwa. Msimbo wa virtio-fs umeimarishwa. Usaidizi wa itifaki umeongezwa.
direct-boot, inayotumika katika QEMU, Cloud Hypervisor, na Firecracker. Muda wa kuwasha umeongezwa kasi. mashine pepe, kumbukumbu yake ambayo imesimbwa kwa njia fiche kwa kutumia teknolojia ya Intel TDX. - Mfumo wa OSTD (Maktaba ya Viwango vya Mfumo wa Uendeshaji) hutekeleza API ya msingi ya kuunda hypervisors ndogo kulingana na Intel VMX.
- Usaidizi ulioongezwa kwa modeli ya ukuzaji wa kiendeshi cha Rust. Kipengele cha kifaa cha aster chenye utendakazi unaofanana na vipengele vya kernel kimeongezwa. Linux yenye maandishi ya msingi na vifupisho vya uundaji wa kiendeshi, lakini yameandikwa kwa Rust bila msimbo usio salama.
- Kujipangisha sasa kunawezekana - sasa unaweza kujenga kiini cha Asterinas kutoka kwa mazingira kwa kutumia vifurushi vya kiini cha Asterinas na NixOS.
Chanzo: opennet.ru
