Projekt Asterinas vyvíja jadro v jazyku Rust, kompatibilné s Linuxom

Skupina vývojárov z Číny vyvíja jadro Asterinas, napísané v jazyku Rust a určené na použitie v operačných systémoch všeobecného určenia. Pre zjednodušenie integrácie s už vyvinutými systémovými komponentmi jadro poskytuje ABI (Application Binary Interface), kompatibilné s jadrom Linux a použiteľné namiesto neho. Kód projektu je šírený pod licenciou MPL (Mozilla Public License).

Projekt sa vyvíja od jesene 2022 a plánuje dosiahnuť úroveň vhodnú na široké použitie už tento rok v virtuálnych strojoch architektúre x86-64. Od budúceho roka plánujú svoje hlavné zameranie presunúť na implementáciu podpory hardvéru a iných architektúr CPU. Medzi prioritné oblasti použitia patrí systémy založené na Linux ABI, ale vyžadujúce vyššiu úroveň ochrany. Napríklad, Asterinas sa ponúka na vytvorenie systémového prostredia chránených virtuálních strojů, ktorých izoláciu zabezpečujú 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ť vzniku chýb pri práci s pamäťou, ktoré sú hlavným zdrojom najnebezpečnejších zraniteľností, pri písaní Asterinas sa používa jazyk Rust a taktika obmedzeného používania unsafe-blokov. Jadro je postavené s využitím architektúry framekernel, v ktorej sa vývojári snažili skombinovať možnosti izolácie mikrojadier s efektívnosťou monolitických jadier.

Komponenty jadra v Asterinas sú umiestnené v spoločnom adresnom priestore, a bezpečnosť je dosiahnutá na úrovni logického rozdelenia bezpečného kódu a kódu, v ktorom nie je vylúčené vznik problémov s bezpečnosťou. Jadro je rozdelené na dve časti, napísané v Rust: OS Framework a OS Services. V OS Services je zakázané používanie unsafe-blokov, a všetky nízkoúrovňové operácie, ktoré si vyžadujú vykonávanie kódu v blokoch unsafe, sú presunuté do OS Framework a sú dostupné len 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ť unsafe-bloky.

Pri vývoji systémových služieb a modulov jadra sa odporúča použiť nástroj OSDK (Súprava na vývoj operačných systémov), ktorý poskytuje utilitu cargo-osdk na vytváranie, kompiláciu, testovanie a spúšťanie komponentov operačného systému. Pre vývojárov je pripravený súbor knižníc OSTD (Štandardná knižnica operačného systému), ktorá predstavuje vydanie štandardných knižníc Rust (crate std), prispôsobené na použitie v komponentoch operačného systému.

Zdroj: opennet.ru

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