Asterinas projekts izstrādā Rust kodolu, kas ir saderīgs ar Linux

Izstrādātāju grupa no Ķīnas izstrādā Asterinas kodolu, kas rakstīts Rust valodā un paredzēts lietošanai vispārējas nozīmes operētājsistēmās. Lai vienkāršotu integrāciju ar jau izstrādātajiem sistēmas komponentiem, kodols nodrošina ABI (Application Binary Interface), kas ir saderīgs ar Linux kodolu un var tikt izmantots tā vietā. Projekta kods tiek izplatīts saskaņā ar MPL (Mozilla Public License).

Projekts tiek attīstīts kopš 2022. gada rudens, un tā mērķis ir šogad sasniegt līmeni, kas piemērots plašai lietošanai. virtuālās mašīnas ar x86-64 arhitektūru. Sākot ar nākamo gadu, uzmanības centrā ir plānots pāriet uz aparatūras un citu CPU arhitektūru atbalsta ieviešanu. Prioritārās pielietojuma jomas ietver sistēmas, kas saistītas ar Linux ABI, bet kurām nepieciešams augstāks drošības līmenis. Piemēram, Asterinas tiek piedāvāts izmantot, lai izveidotu sistēmas vidi drošai virtuālās mašīnas, kuras izolēšanai tiek izmantotas tādas tehnoloģijas kā ARM CCA, AMD SEV un Intel TDX, kā arī resursdatora sistēmas pusē, kas nodrošina konteineru palaišanu.

Lai samazinātu kļūdu iespējamību, strādājot ar atmiņu, kas ir galvenais visbīstamāko ievainojamību avots, rakstot Asterinas, tiek izmantota Rust valoda un ierobežotas nedrošu bloku izmantošanas taktika. Kodols ir veidots, izmantojot rāmja kodola arhitektūru, kurā izstrādātāji mēģināja apvienot mikrokodolu izolācijas iespējas ar monolītu kodolu efektivitāti.

Kodola komponenti Asterinas tiek ievietoti kopējā adrešu telpā, un drošība tiek panākta droša koda un koda loģiskās atdalīšanas līmenī, kurā var rasties drošības problēmas. Kodols ir sadalīts divās daļās, kas rakstītas Rust: OS Framework un OS Services. OS pakalpojumos ir aizliegts izmantot nedrošus blokus, un visas zema līmeņa darbības, kurām nepieciešama koda izpilde nedrošos blokos, tiek ievietotas OS ietvarā un ir pieejamas tikai caur augsta līmeņa API. Visi sistēmas izsaukumi, failu sistēmas un draiveri tiek ieviesti OS pakalpojumu līmenī un nevar ietvert nedrošus blokus.

Izstrādājot sistēmas pakalpojumus un kodola moduļus, tiek piedāvāts izmantot OSDK (Operating System Development Kit) rīkkopu, kas nodrošina utilītu cargo-osdk operētājsistēmas komponentu izveidei, veidošanai, testēšanai un palaišanai. Izstrādātājiem ir sagatavots OSTD (Operating System Standard Library) bibliotēku komplekts, kas ir standarta Rust bibliotēku (crate std) izdevums, kas pielāgots lietošanai operētājsistēmas komponentos.

Avots: opennet.ru

Pievieno komentāru