Udgivelse af Asterinas 0.19-kernen, skrevet i Rust og kompatibel med Linux

Asterinas-projektet har udgivet version 0.19, en kerne skrevet i Rust og designet til brug i generelle operativsystemer. Kernen leverer en ABI (Application Binary Interface), der er kompatibel med kernen. Linux og kan bruges i stedet. Asterinas NixOS-distributionen, som kombinerer Asterinas-kernen med NixOS-systemmiljøet, udvikles parallelt. Projektets kode har været under udvikling siden 2022 og distribueres under MPL (Mozilla Public License).

I øjeblikket er der mere end 240 systemkald implementeret i kernen. LinuxAsterinas NixOS-distributionen er verificeret til at køre oven på Asterinas-kernen med over 100 NixOS-pakker. Understøttede pakker inkluderer: 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 og Codex.

Kernen yder fuld understøttelse af x86-64-arkitekturen, delvis understøttelse af ARM64, RISC-V 64 og x86-64 med isolation baseret på Intel TDX, samt initial understøttelse af LoongArch 64-arkitekturen. Prioriterede anvendelsesområder omfatter systemer baseret på Linux ABI'er, men kræver et højere sikkerhedsniveau. For eksempel foreslås Asterinas til brug i oprettelsen af ​​et sikkert systemmiljø. virtuel maskine, til isolering af hvilke teknologier som ARM CCA, AMD SEV og Intel TDX anvendes, samt på værtssystemsiden, hvilket sikrer lanceringen af ​​containere.

For at reducere sandsynligheden for hukommelsesfejl, den primære kilde til de farligste sårbarheder, bruger Asterinas Rust-sproget og en begrænset brug af usikre blokke. Kernen er bygget ved hjælp af framekernel-arkitekturen, som forsøger at kombinere mikrokernernes isoleringsevner med effektiviteten af ​​monolitiske kerner.

Kernekomponenter i Asterinas er placeret i et delt adresserum, og sikkerhed opnås gennem logisk adskillelse af sikker kode fra kode, der potentielt kan være sårbar. Kernen er opdelt i to dele, begge skrevet i Rust: OS Framework og OS Services. OS Services forbyder brugen af ​​usikre blokke, og alle lavniveauoperationer, der kræver kodeudførelse i usikre blokke, flyttes til OS Framework og er kun tilgængelige via en API på højt niveau. Alle systemkald, filsystemer og drivere implementeres på OS Services-niveau og må ikke indeholde usikre blokke.

Til udvikling af systemtjenester og kernemoduler leveres OSDK (Operating System Development Kit), som leverer værktøjet cargo-osdk til oprettelse, opbygning, testning og kørsel af operativsystemkomponenter. Udviklere kan også få adgang til OSTD-sættet (Operating System Standard Library), som inkluderer en udgave af Rust-standardbibliotekerne (crate std) tilpasset til brug i operativsystemkomponenter.

Blandt ændringerne i Asterinas 0.19:

  • DRM-undersystemet (Direct Rendering Manager), /dev/dri-enheden, KMS-grænsefladen (kernel mode setting) og driveren "modesetting" er blevet implementeret, hvilket muliggør lanceringen af ​​en standard grafikstak baseret på X.Org Server og Mesa i stedet for den tidligere anvendte fbdev-driver, der bruger en framebuffer.


  • Understøttelse af AArch64-arkitekturen (ARM64) er blevet tilføjet, og den fungerer nu som den primære udviklingsarkitektur sammen med x86-64. Et andet niveau af understøttelse er blevet implementeret for AArch64, hvilket sikrer grundlæggende funktionalitet, kontinuerlig integrationstest og delvis testdækning.
  • Arbejdet med at tilpasse Asterinas til at køre som gæstesystem i Kata Containere og Fortrolige Containere fortsatte. En ny Overlayfs-implementering blev foreslået, der bestod standard testpakker for kernelfilsystemer. Linux og xfstests. En ny monterings-API er blevet implementeret. Virtio-fs-koden er blevet stabiliseret. Protokolunderstøttelse er blevet tilføjet.
    direkte opstart, brugt i QEMU, Cloud Hypervisor og Firecracker. Opstartstiderne er blevet accelereret. virtuelle maskiner, hvis hukommelse er krypteret ved hjælp af Intel TDX-teknologi.
  • OSTD-frameworket (Operating System Standard Library) implementerer en grundlæggende API til at oprette minimalistiske hypervisorer baseret på Intel VMX.
  • Tilføjet understøttelse af Rust-driverudviklingsmodellen. En aster-device-komponent med funktionalitet, der minder om kernekomponenter, er blevet tilføjet. Linux med grundlæggende primitiver og abstraktioner til driverudvikling, men skrevet i Rust uden usikker kode.
  • Selvhosting er nu muligt - du kan nu bygge Asterinas-kernen fra et miljø med Asterinas-kernen og NixOS-pakkerne.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster