Projekt Asterinas razvija jedro v jeziku Rust, združljivo z Linuxom

Skupina razvijalcev iz Kitajske razvija jedro Asterinas, napisano v jeziku Rust, ki je namenjeno uporabi v operacijskih sistemih splošne rabe. Za poenostavitev integracije z že razvitimi sistemskimi komponentami jedro ponuja ABI (Application Binary Interface), združljiv z jedrom Linux in uporaben kot nadomestek zanj. Koda projekta se distribuira pod licenco MPL (Mozilla Public License).

Projekt se razvija od jeseni 2022 in namerava že letos doseči raven, primerno za široko uporabo v virtualnim mašinama s arhitekturo x86-64. Od naslednjega leta nameravajo osredotočiti svoje delo na implementacijo podpore za strojno opremo in druge arhitekture CPU. Med prednostnimi področji uporabe so omrežne sisteme, povezane z Linux ABI, a zahtevajo višjo raven varnosti. Na primer, Asterinas se priporoča za oblikovanje sistemskega okolja zaščitenih virtualnih naprav, za izolacijo katerih se uporabljajo tehnologije, kot so ARM CCA, AMD SEV in Intel TDX, pa tudi na strani gostiteljskega sistema, ki zagotavlja zagon kontejnerjev.

Za zmanjšanje verjetnosti napak pri delu s pomnilnikom, ki so glavni vir najnevarnejših ranljivosti, pri pisanju Asterinas uporabljajo jezik Rust in taktiko omejenega uporabe unsafe-blokov. Jedro je zgrajeno z uporabo arhitekture framekernel, pri čemer so se razvijalci trudili združiti možnosti izolacije mikrojedrnic z učinkovitostjo monolitnih jedrnic.

Komponenti jedra v Asterinas sta nameščeni v skupnem naslovnem prostoru, varnost pa se dosega na ravni logičnega ločevanja varne kode in kode, pri kateri ni mogoče izključiti pojav težav z varnostjo. Jedro je razdeljeno na dva dela, napisane v jeziku Rust: OS Framework in OS Services. V OS Services je uporaba unsafe-blokov prepovedana, vse nizkonivojske operacije, ki zahtevajo izvajanje kode v unsafe-blokih, pa so premaknjene v OS Framework in dostopne le preko visoko nivojskega API. Vsi sistemski klici, datotečni sistemi in gonilniki se izvajajo na ravni OS Services in ne morejo vsebovati unsafe-blokov.

Pri razvoju sistemskih storitev in modulov jedra se priporoča uporaba orodij OSDK (Operating System Development Kit), ki ponuja pripomoček cargo-osdk za ustvarjanje, sestavljanje, testiranje in zagon komponent operacijskega sistema. Za razvijalce je pripravljen sklop knjižnic OSTD (Operating System Standard Library), ki je različica standardnih knjižnic Rust (crate std), prilagojena za uporabo v komponentah operacijskega sistema.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster