Projekt Asterinas vyvíjí jádro v jazyce Rust, kompatibilní s Linuxem.

Skupina vývojářů z Číny rozvíjí jádro Asterinas, napsané v jazyce Rust a určené pro používání v operačních systémech všeobecného určení. Pro zjednodušení integrace s již vyvinutými systémovými komponentami jádro poskytuje ABI (Application Binary Interface), kompatibilní s jádrem Linux a schopné jej nahradit. Kód projektu je distribuován pod licencí MPL (Mozilla Public License).

Projekt se vyvíjí od podzimu roku 2022 a hodlá již letos dosáhnout úrovně vhodné pro široké použití v virtual machines s architekturou x86-64. Od příštího roku se plánuje zaměřit především na implementaci podpory hardware a dalších architektur CPU. Mezi prioritní oblasti použití patří systémy spjaté s Linux ABI, ale vyžadující vyšší úroveň zabezpečení. Například se doporučuje používat Asterinas k vytvoření systémového prostředí chráněných virtuálních strojů, pro jejichž izolaci se využívají technologie jako ARM CCA, AMD SEV a Intel TDX, a také na straně hostitelského systému, který zajišťuje spuštění kontejnerů.

Aby se snížila pravděpodobnost výskytu chyb při práci s pamětí, což je hlavní zdroj nebezpečných zranitelností, byl při psaní Asterinas využit jazyk Rust a taktika omezeného použití unsafe bloků. Jádro je postaveno na architektuře framekernel, ve které se vývojářům podařilo kombinovat možnosti izolace mikrojader s efektivitou monolitických jader.

Komponenty jádra v Asterinas jsou umístěny ve společném adresním prostoru, přičemž bezpečnost je dosažena na úrovni logického rozdělení bezpečného kódu a kódu, ve kterém nelze vyloučit výskyt bezpečnostních problémů. Jádro je rozděleno na dvě části napsané v jazyce Rust: OS Framework a OS Services. V OS Services je zakázáno používání unsafe bloků a všechny nízkoúrovňové operace, které vyžadují provádění kódu v blocích unsafe, jsou přesunuty do OS Framework a dostupné pouze prostřednictvím vysoceúrovňového API. Všechny systémové volání, souborové systémy a ovladače jsou realizovány na úrovni OS Services a nemohou zahrnovat unsafe bloky.

Při vývoji systémových služeb a modulů jádra se doporučuje používat nástroje OSDK (Operating System Development Kit), který poskytuje utilitu cargo-osdk pro vytváření, sestavování, testování a spouštění komponent operačního systému. Pro vývojáře je připraven soubor knihoven OSTD (Operating System Standard Library), což je edice standardních knihoven Rust (crate std), upravená pro použití v komponentách operačního systému.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster