Die Asterinas-projek het weergawe 0.19 vrygestel, 'n kern wat in Rust geskryf is en ontwerp is vir gebruik in algemene bedryfstelsels. Die kern bied 'n ABI (Application Binary Interface) wat versoenbaar is met die kern. Linux en kan eerder gebruik word. Die Asterinas NixOS-verspreiding, wat die Asterinas-kern met die NixOS-stelselomgewing kombineer, word parallel ontwikkel. Die projek se kode is sedert 2022 onder ontwikkeling en word versprei onder die MPL (Mozilla Public License).
Tans is daar meer as 240 stelseloproepe wat in die kern geïmplementeer is. LinuxDie Asterinas NixOS-verspreiding is geverifieer om bo-op die Asterinas-kern te loop met meer as 100 NixOS-pakkette. Ondersteunde pakkette sluit in: 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, en Codex.
Die kern bied volle ondersteuning vir die x86-64-argitektuur, gedeeltelike ondersteuning vir ARM64, RISC-V 64 en x86-64 met isolasie gebaseer op Intel TDX, sowel as aanvanklike ondersteuning vir die LoongArch 64-argitektuur. Prioriteitstoepassingsgebiede sluit stelsels gebaseer op ... in. Linux ABI's, maar wat 'n hoër vlak van sekuriteit vereis. Byvoorbeeld, Asterinas word voorgestel vir gebruik in die skep van 'n veilige stelselomgewing. virtuele masjiene, vir die isolasie waarvan tegnologieë soos ARM CCA, AMD SEV en Intel TDX gebruik word, sowel as aan die gasheerstelselkant, wat die bekendstelling van houers verseker.
Om die waarskynlikheid van geheuefoute, die hoofbron van die gevaarlikste kwesbaarhede, te verminder, gebruik Asterinas die Rust-taal en 'n beperkte gebruik van onveilige blokke. Die kern is gebou met behulp van die framekernel-argitektuur, wat poog om die isolasievermoëns van mikrokernels te kombineer met die doeltreffendheid van monolitiese kernel.
Kernkomponente in Asterinas is in 'n gedeelde adresruimte geleë, en sekuriteit word bereik deur logiese skeiding van veilige kode van kode wat moontlik kwesbaar kan wees. Die kern is in twee dele verdeel, beide geskryf in Rust: OS Framework en OS Services. OS Services verbied die gebruik van onveilige blokke, en alle laevlak-bewerkings wat kode-uitvoering in onveilige blokke vereis, word na die OS Framework verskuif en is slegs toeganklik deur 'n hoëvlak-API. Alle stelseloproepe, lêerstelsels en drywers word op die OS Services-vlak geïmplementeer en kan nie onveilige blokke insluit nie.
Vir die ontwikkeling van stelseldienste en kernmodules word die OSDK (Operating System Development Kit) verskaf, wat die cargo-osdk-hulpmiddel bied vir die skep, bou, toets en uitvoer van bedryfstelselkomponente. Ontwikkelaars kan ook toegang kry tot die OSTD (Operating System Standard Library)-stel, wat 'n uitgawe van die Rust-standaardbiblioteke (crate std) insluit wat aangepas is vir gebruik in bedryfstelselkomponente.
Onder die veranderinge in Asterinas 0.19:
- Die DRM (Direct Rendering Manager) substelsel, die /dev/dri-toestel, die KMS (kernmodusinstelling) koppelvlak en die "modesetting" drywer is geïmplementeer, wat die bekendstelling van 'n standaard grafiese stapel gebaseer op X.Org Server en Mesa moontlik maak, in plaas van die voorheen gebruikte fbdev drywer, wat 'n raambuffer gebruik.
- Ondersteuning vir die AArch64 (ARM64) argitektuur is bygevoeg, wat nou as die primêre ontwikkelingsargitektuur dien, saam met x86-64. 'n Tweede vlak van ondersteuning is vir AArch64 geïmplementeer, wat basiese funksionaliteit, deurlopende integrasietoetsing en gedeeltelike toetsdekking verseker.
- Werk aan die aanpassing van Asterinas vir die uitvoering as 'n gasstelsel in Kata-houers en vertroulike houers is voortgesit. 'n Nuwe Overlayfs-implementering is voorgestel wat suksesvol standaard kernlêerstelsel-toetssuites slaag. Linux en xfstests. 'n Nuwe monterings-API is geïmplementeer. Die virtio-fs-kode is gestabiliseer. Protokolondersteuning is bygevoeg.
direkte-opstart, wat in QEMU, Cloud Hypervisor en Firecracker gebruik word. Opstarttye is versnel. virtuele masjiene, waarvan die geheue geïnkripteer is met behulp van Intel TDX-tegnologie. - Die OSTD (Operating System Standard Library) raamwerk implementeer 'n basiese API vir die skep van minimalistiese hipervisors gebaseer op Intel VMX.
- Ondersteuning vir die Rust-drywerontwikkelingsmodel is bygevoeg. 'n Aster-toestelkomponent met funksionaliteit wat herinner aan kernkomponente is bygevoeg. Linux met basiese primitiewe en abstraksies vir drywerontwikkeling, maar geskryf in Rust sonder onveilige kode.
- Selfhosting is nou moontlik - jy kan nou die Asterinas-kern bou vanuit 'n omgewing met die Asterinas-kern en NixOS-pakkette.
Bron: opennet.ru
