Asterinas 0.19 -ytimen julkaisu, kirjoitettu Rustilla ja yhteensopiva Linux

Asterinas-projekti on julkaissut version 0.19, joka on Rust-kielellä kirjoitettu ja yleiskäyttöisiin käyttöjärjestelmiin suunniteltu ydin. Ydin tarjoaa ytimen kanssa yhteensopivan ABI:n (Application Binary Interface). Linux ja sitä voidaan käyttää sen sijaan. Asterinas NixOS -jakelua, joka yhdistää Asterinas-ytimen NixOS-järjestelmäympäristöön, kehitetään rinnakkain. Projektin koodia on kehitetty vuodesta 2022 lähtien, ja se jaetaan MPL-lisenssillä (Mozilla Public License).

Tällä hetkellä ytimessä on toteutettu yli 240 järjestelmäkutsua. LinuxAsterinas NixOS -jakelun on vahvistettu toimivan Asterinas-ytimen päällä yli 100 NixOS-paketilla. Tuettuihin paketteihin kuuluvat: 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 ja Codex.

Ydin tarjoaa täyden tuen x86-64-arkkitehtuurille, osittaisen tuen ARM64:lle, RISC-V 64:lle ja x86-64:lle eristyksellä Intel TDX:n pohjalta, sekä alustavan tuen LoongArch 64 -arkkitehtuurille. Ensisijaisia ​​sovellusalueita ovat järjestelmät, jotka perustuvat Linux ABI:t, mutta vaativat korkeampaa turvallisuustasoa. Esimerkiksi Asterinasia ehdotetaan käytettäväksi turvallisen järjestelmäympäristön luomisessa. virtuaalikoneet, jonka eristämiseen käytetään teknologioita, kuten ARM CCA, AMD SEV ja Intel TDX, sekä isäntäjärjestelmän puolella, mikä varmistaa konttien laukaisun.

Vähentääkseen muistivirheiden todennäköisyyttä, jotka ovat vaarallisimpien haavoittuvuuksien pääasiallinen lähde, Asterinas käyttää Rust-kieltä ja rajoitetusti vaarallisia lohkoja. Ydin on rakennettu käyttämällä framekernel-arkkitehtuuria, joka pyrkii yhdistämään mikroytimien eristysominaisuudet monoliittisten ytimien tehokkuuteen.

Asterinas-ytimen komponentit sijaitsevat jaetussa osoiteavaruudessa, ja turvallisuus saavutetaan erottamalla suojattu koodi loogisesti koodista, joka voisi olla haavoittuvainen. Ydin on jaettu kahteen osaan, jotka molemmat on kirjoitettu Rust-kielellä: OS Framework ja OS Services. OS Services kieltää vaarallisten lohkojen käytön, ja kaikki matalan tason toiminnot, jotka vaativat koodin suorittamista vaarallisissa lohkoissa, siirretään OS Frameworkiin ja niihin pääsee käsiksi vain korkean tason API:n kautta. Kaikki järjestelmäkutsut, tiedostojärjestelmät ja ajurit toteutetaan OS Services -tasolla, eivätkä ne voi sisältää vaarallisia lohkoja.

Järjestelmäpalveluiden ja ydinmoduulien kehittämiseen tarjotaan OSDK (Operating System Development Kit), joka tarjoaa cargo-osdk-apuohjelman käyttöjärjestelmäkomponenttien luomiseen, rakentamiseen, testaamiseen ja suorittamiseen. Kehittäjät voivat myös käyttää OSTD (Operating System Standard Library) -sarjaa, joka sisältää Rust-standardikirjastojen (crate std) version, joka on mukautettu käytettäväksi käyttöjärjestelmäkomponenteissa.

Asterinas 0.19:n muutoksista:

  • DRM (Direct Rendering Manager) -alijärjestelmä, /dev/dri-laite, KMS (ytimen tilan asetus) -rajapinta ja "modesetting"-ajuri on toteutettu, mikä mahdollistaa X.Org Serveriin ja Mesaan perustuvan standardin grafiikkapinon käynnistämisen aiemmin käytetyn fbdev-ajurin sijaan, joka käyttää framebufferia.


  • Tuki AArch64 (ARM64) -arkkitehtuurille on lisätty, ja se toimii nyt ensisijaisena kehitysarkkitehtuurina x86-64:n rinnalla. AArch64:lle on toteutettu toinen tukitaso, joka varmistaa perustoiminnallisuuden, jatkuvan integraatiotestauksen ja osittaisen testikattavuuden.
  • Työtä jatkettiin Asterinasin mukauttamiseksi toimimaan vierasjärjestelmänä Kata Containers- ja Confidential Containers -ympäristöissä. Esitettiin uusi Overlayfs-toteutus, joka läpäisee onnistuneesti ytimen tiedostojärjestelmän vakiotestauspaketit. Linux ja xfstests. Uusi liitosrajapinta (API) on toteutettu. virtio-fs-koodia on vakautettu. Protokollatuki on lisätty.
    suorakäynnistys, jota käytetään QEMUssa, Cloud Hypervisorissa ja Firecrackerissa. Käynnistysaikoja on nopeutettu. virtuaalikoneet, jonka muisti on salattu Intel TDX -tekniikalla.
  • OSTD (Operating System Standard Library) -kehys toteuttaa perus-API:n minimalististen hypervisorien luomiseen Intel VMX:n pohjalta.
  • Lisätty tuki Rust-ajurin kehitysmallille. Lisätty aster-device-komponentti, jonka toiminnallisuus muistuttaa kernel-komponentteja. Linux perusprimitiiveillä ja abstraktioilla ajurikehitystä varten, mutta kirjoitettu Rustilla ilman vaarallista koodia.
  • Itseisännöinti on nyt mahdollista - voit nyt rakentaa Asterinas-ytimen ympäristöstä, jossa on Asterinas-ytimen ja NixOS-paketit.

Lähde: opennet.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster