Projektet Asterinas utvecklar en kernel på språket Rust, kompatibel med Linux

En grupp utvecklare från Kina utvecklar Asterinas-kärnan, skriven i Rust och avsedd för användning i allmänna operativsystem. För att förenkla integrationen med redan utvecklade systemkomponenter erbjuder kärnan en ABI (Application Binary Interface) som är kompatibel med Linux-kärnan och kan användas i stället för den. Projektets kod distribueras under MPL (Mozilla Public License).

Projektet har utvecklats sedan hösten 2022 och avser att nå en användbar nivå under detta år i virtuella maskiner arkitekturen x86-64. Från och med nästa år planeras fokus att skiftas mot implementeringen av stöd för hårdvara och andra CPU-arkitekturer. Bland de prioriterade användningsområdena nämns system som är beroende av Linux ABI, men som kräver en högre säkerhetsnivå. Till exempel erbjuds Asterinas för att skapa en skyddad systemmiljö. virtuella maskiner, där teknologier som ARM CCA, AMD SEV och Intel TDX används för isolering, samt på värdsystemet som möjliggör körning av containrar.

För att minska risken för minnesfel, som är den främsta källan till de farligaste sårbarheterna, har Rust-språket och en strategi för begränsad användning av unsafe-block använts vid skrivandet av Asterinas. Kärnan är byggd med hjälp av framekernel-arkitekturen, där utvecklarna har försökt kombinera mikrokärnornas isoleringsmöjligheter med den monolitiska kärnans effektivitet.

Kärnkomponenterna i Asterinas placeras i ett gemensamt adressutrymme, och säkerhet uppnås genom logisk separation av säker kod och kod där säkerhetsproblem kan uppstå. Kärnan är uppdelad i två delar, skrivna i Rust: OS Framework och OS Services. Användning av unsafe-block är förbjudet i OS Services, och alla låg nivå-operationer som kräver körning av kod i unsafe-block har flyttats till OS Framework och är endast tillgängliga via ett hög nivå API. Alla systemanrop, filsystem och drivrutiner implementeras på nivå OS Services och kan inte innehålla unsafe-block.

Vid utvecklingen av systemtjänster och kärnmoduler rekommenderas det att använda verktyget OSDK (Operating System Development Kit), som tillhandahåller verktyget cargo-osdk för att skapa, bygga, testa och köra komponenter i operativsystemet. För utvecklare har ett bibliotek med OSTD (Operating System Standard Library) förberetts, vilket är en anpassning av Rust:s standardbibliotek (crate std) för användning i komponenter i operativsystemet.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster