Vydanie jadra Asterinas 0.19, napísaného v jazyku Rust a kompatibilného s Linux

Projekt Asterinas vydal verziu 0.19, jadro napísané v jazyku Rust a určené na použitie v univerzálnych operačných systémoch. Jadro poskytuje ABI (Application Binary Interface) kompatibilné s jadrom. Linux a možno ho použiť namiesto neho. Súbežne sa vyvíja aj distribúcia Asterinas NixOS, ktorá kombinuje jadro Asterinas so systémovým prostredím NixOS. Kód projektu sa vyvíja od roku 2022 a je distribuovaný pod licenciou MPL (Mozilla Public License).

V súčasnosti je v jadre implementovaných viac ako 240 systémových volaní. LinuxDistribúcia Asterinas NixOS overene beží na jadre Asterinas s viac ako 100 balíkmi NixOS. Medzi podporované balíky patria: 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 a Codex.

Jadro poskytuje plnú podporu pre architektúru x86-64, čiastočnú podporu pre ARM64, RISC-V 64 a x86-64 s izoláciou založenou na Intel TDX, ako aj počiatočnú podporu pre architektúru LoongArch 64. Medzi prioritné oblasti použitia patria systémy založené na Linux ABI, ale vyžadujúce vyššiu úroveň zabezpečenia. Napríklad Asterinas sa navrhuje na použitie pri vytváraní bezpečného systémového prostredia. virtuálne stroje, na izoláciu ktorých sa používajú technológie ako ARM CCA, AMD SEV a Intel TDX, ako aj na strane hostiteľského systému, ktorý zabezpečuje spúšťanie kontajnerov.

Aby sa znížila pravdepodobnosť chýb pamäte, ktoré sú hlavným zdrojom najnebezpečnejších zraniteľností, Asterinas používa jazyk Rust a obmedzené používanie nebezpečných blokov. Jadro je zostavené s použitím architektúry framekernel, ktorá sa snaží kombinovať izolačné schopnosti mikrojadier s efektivitou monolitických jadier.

Komponenty jadra v Asterinas sa nachádzajú v zdieľanom adresnom priestore a bezpečnosť sa dosahuje logickým oddelením bezpečného kódu od kódu, ktorý by mohol byť potenciálne zraniteľný. Jadro je rozdelené na dve časti, obe napísané v jazyku Rust: OS Framework a OS Services. OS Services zakazuje používanie nebezpečných blokov a všetky nízkoúrovňové operácie, ktoré vyžadujú vykonávanie kódu v nebezpečných blokoch, sú presunuté do OS Frameworku a prístupné iba prostredníctvom vysokoúrovňového API. Všetky systémové volania, súborové systémy a ovládače sú implementované na úrovni OS Services a nemôžu obsahovať nebezpečné bloky.

Na vývoj systémových služieb a modulov jadra je k dispozícii OSDK (Operating System Development Kit), ktorá obsahuje nástroj cargo-osdk na vytváranie, zostavovanie, testovanie a spúšťanie komponentov operačného systému. Vývojári majú tiež prístup k sade OSTD (Operating System Standard Library), ktorá obsahuje edíciu štandardných knižníc Rust (crate std) prispôsobenú na použitie v komponentoch operačného systému.

Medzi zmenami v Asterinas 0.19:

  • Bol implementovaný podsystém DRM (Direct Rendering Manager), zariadenie /dev/dri, rozhranie KMS (kernel mode setting) a ovládač „modesetting“, ktoré umožňujú spustenie štandardného grafického zásobníka založeného na X.Org Serveri a Mesa namiesto predtým používaného ovládača fbdev, ktorý používa framebuffer.


  • Bola pridaná podpora pre architektúru AArch64 (ARM64), ktorá teraz slúži ako primárna vývojová architektúra popri x86-64. Pre AArch64 bola implementovaná druhá úroveň podpory, ktorá zabezpečuje základnú funkčnosť, testovanie priebežnej integrácie a čiastočné pokrytie testami.
  • Pokračovala práca na prispôsobení systému Asterinas pre spustenie ako hosťovského systému v kontajneroch Kata a Confidential. Bola navrhnutá nová implementácia Overlayfs, ktorá úspešne prechádza štandardnými testovacími sadami súborového systému jadra. Linux a xfstests. Bolo implementované nové rozhranie API pre pripojenie. Kód virtio-fs bol stabilizovaný. Bola pridaná podpora protokolov.
    priame bootovanie, používané v QEMU, Cloud Hypervisor a Firecracker. Časy bootovania boli zrýchlené. virtuálne stroje, ktorého pamäť je šifrovaná pomocou technológie Intel TDX.
  • Rámec OSTD (Operating System Standard Library) implementuje základné API na vytváranie minimalistických hypervízorov založených na Intel VMX.
  • Pridaná podpora pre model vývoja ovládačov Rust. Bol pridaný komponent aster-device s funkcionalitou pripomínajúcou komponenty jadra. Linux so základnými primitívami a abstrakciami pre vývoj ovládačov, ale napísané v Ruste bez nebezpečného kódu.
  • Samostatné hostovanie je teraz možné – jadro Asterinas si teraz môžete zostaviť z prostredia s jadrom Asterinas a balíkmi NixOS.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster