Lëshimi i bërthamës Asterinas 0.19, e shkruar në gjuhën Rust dhe e përshtatshme për Linux

ËshtĂ« publikuar versione i projektit Asterinas 0.19, i cili zhvillon bĂ«rthamĂ«n, e shkruar nĂ« gjuhĂ«n Rust dhe e destinuar pĂ«r pĂ«rdorim nĂ« sisteme operative me qĂ«llim tĂ« pĂ«rgjithshĂ«m. BĂ«rthama ofron njĂ« ABI (Application Binary Interface) tĂ« pajtueshĂ«m me bĂ«rthamĂ«n Linux, i cili mund tĂ« pĂ«rdoret si zĂ«vendĂ«sim pĂ«r tĂ«. NĂ« tĂ« njĂ«jtĂ«n kohĂ«, po zhvillohet distribucioni Asterinas NixOS, i cili kombinon bĂ«rthamĂ«n Asterinas me mjedisin sistemor NixOS. Kodi i projektit Ă«shtĂ« duke u zhvilluar qĂ« nga viti 2022 dhe shpĂ«rndahet nĂ«n licencĂ«n MPL (Mozilla Public License).

Aktualisht, bërthama ka zbatuar më shumë se 240 thirrje sistemike të Linux-it. Në distribucionin Asterinas NixOS janë verifikuar mbi 100 paketa që funksionojnë sipër bërthamës Asterinas nga NixOS. Disa nga paketat e mbështetura përfshijnë: 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 dhe Codex.

Bërthama ofron mbështetje të plotë për arkitekturën x86-64, mbështetje të pjesshme për ARM64, RISC-V 64 dhe x86-64 me izolim në bazë të Intel TDX, si dhe mbështetje fillestare për arkitekturën LoongArch 64. Nga fushat prioritare të aplikimit përmenden sistemet që janë të lidhura me Linux ABI, por që kërkojnë një nivel më të lartë të sigurisë. Për shembull, Asterinas propozohet për t'u përdorur për formimin e mjedisit sistemor të mbrojtur. makinat virtuale, për izolimin e të cilave përdoren teknologji si ARM CCA, AMD SEV dhe Intel TDX, si dhe në anën e sistemit pritës, i cili siguron ekzekutimin e konteinerëve.

Për të reduktuar probabilitetin e shfaqjes së gabimeve gjatë punës me memorie, që janë burimi kryesor i vulnerabiliteteve më të rrezikshme, në shkruarjen e Asterinas është përdorur gjuha Rust dhe taktika e përdorimit të kufizuar të bllokimeve unsafe. Bërthama është ndërtuar duke përdorur arkitekturën framekernel, në të cilën është përpjekur të kombinohen mundësitë e izolimit të mikro-bërthamave me efikasitetin e bërthamave monolite.

Komponentët e bërthamës në Asterinas vendosen në një hapësirë adresash të përbashkët, ndërsa siguria arrihet në nivelin e ndarjes logjike të kodit të sigurt dhe kodit, në të cilin nuk përjashtohet ndodhia e problemeve me sigurinë. Bërthama është e ndarë në dy pjesë, të shkruara në Rust: OS Framework dhe OS Services. Në OS Services është e ndaluar përdorimi i bllokimeve unsafe, dhe të gjitha operacionet e nivelit të ulët që kërkojnë ekzekutimin e kodit në bllokime unsafe janë transferuar në OS Framework dhe janë të disponueshme vetëm përmes një API të nivelit të lartë. Të gjitha thirrjet sistemike, sistemet e skedarëve dhe drejtuarësit implementohen në nivelin OS Services dhe nuk mund të përfshijnë bllokime unsafe.

Për zhvillimin e shërbimeve sistemike dhe moduleve të bërthamës, ofrohet një mjet OSDK (Operating System Development Kit), që siguron utilitarin cargo-osdk për krijimin, ndërtimin, testimin dhe ekzekutimin e komponentëve të sistemit operativ. Për zhvilluesit është përgatitur një grup librarish OSTD (Operating System Standard Library), që përfshin një edicion të librarive standarde Rust (crate std), të përshtatura për t'u përdorur në komponentët e sistemit operativ.

Disa nga ndryshimet në Asterinas 0.19:

  • ËshtĂ« implementuar nĂ«n-sistemi DRM (Direct Rendering Manager), pajisja /dev/dri, ndĂ«rfaqja KMS (kernel mode setting) dhe drejtori 'modesetting', qĂ« kanĂ« lejuar lançimin e grupeve grafike standarde mbi bazĂ«n e X.Org Server dhe Mesa, nĂ« vend tĂ« drejtuesit tĂ« mĂ«parshĂ«m fbdev, qĂ« pĂ«rdorte framebuffer.


  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r arkitekturĂ«n AArch64 (ARM64), e cila tani pĂ«rdoret si arkitektura kryesore gjatĂ« zhvillimit, sĂ« bashku me x86-64. PĂ«r AArch64 Ă«shtĂ« implementuar njĂ« nivel i dytĂ« mbĂ«shtetje, qĂ« pĂ«rfshin funksionalitetin bazĂ«, verifikimin nĂ« sistemin e integrimit tĂ« vazhdueshĂ«m dhe mbulim tĂ« pjesshĂ«m me teste.
  • Puna vazhdimi i punĂ«s pĂ«r adaptimin e Asterinas pĂ«r tĂ« funksionuar si njĂ« sistem gazdar nĂ« VM-konteinerĂ«t Kata Containers dhe Confidential Containers. Propozohet njĂ« implementim i ri i Overlayfs, i cili kalon me sukses testet standarde tĂ« sistemit tĂ« skedarĂ«ve tĂ« kernelit Linux dhe xfstests. Implementohet njĂ« API i ri pĂ«r montimin. Stabilizohet kodi virtio-fs. Shtohet mbĂ«shtetje pĂ«r protokollin
    direct-boot, që përdoret në QEMU, Cloud Hypervisor dhe Firecracker. Shpejtohet ngarkimi në makina virtuale, memorjet e të cilave janë të enkriptuara me teknologjinë Intel TDX.
  • NĂ« kuadĂ«r tĂ« OSTD (Operating System Standard Library) implementohet njĂ« API bazĂ« pĂ«r krijimin e hipervizorĂ«ve minimalistĂ« mbi bazĂ«n e Intel VMX.
  • Shtohet mbĂ«shtetje pĂ«r modelin e zhvillimit tĂ« drejtuesve nĂ« gjuhĂ«n Rust. Shtohet komponenti aster-device me funksionalitet tĂ« ngjashĂ«m me komponentĂ«t e kernelit Linux me primitivĂ«t dhe abstraksionet bazĂ« pĂ«r zhvillimin e drejtuesve, por e shkruar nĂ« Rust pa kod tĂ« rrezikshĂ«m.
  • Sigurohet mundĂ«sia e ricompilimit tĂ« vetĂ« (self-hosting) - nga njĂ« mjedis me kernelin Asterinas dhe paketat NixOS tani mund tĂ« ndĂ«rtohet kerneli Asterinas.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster