Një grup zhvilluesish nga Kina po zhvillon kernelin Asterinas, i shkruar në gjuhën Rust dhe i destinuar për tu përdorur në sisteme operativash me qëllim të përgjithshëm. Për të lehtësuar integrimin me komponentët sistemorë të zhvilluar tashmë, kernelet ofron ABI (Application Binary Interface), i përshtatshëm me kernelin Linux dhe i cili mund të përdoret si zëvendësuesi i tij. Kodi i projektit shpërndahet nën licencën MPL (Mozilla Public License).
Projekti po zhvillohet që nga vjeshta e vitit 2022 dhe ka për qëllim që këtë vit të arrijë një nivel të përshtatshëm për përdorim të gjerë në makinat virtuale me arkitekturën x86-64. Duke filluar nga viti tjetër, plani është të përqendrohet në realizimin e mbështetjes për pajisje dhe arkitektura të tjera CPU. Disa nga fushat kryesore të aplikimit përmendin sistemet që saurohen me Linux ABI, por që kërkojnë një nivel më të lartë sigurie. Për shembull, Asterinas rekomandohet të përdoret për formimin e një mjedisi sistemor të mbrojtur makinave virtuale, për të cilat përdoren teknologji si ARM CCA, AMD SEV dhe Intel TDX, si dhe në anën e sistemit mikpritës, që siguron ekzekutimin e kontejnerëve.
Për të reduktuar probabilitetin e shfaqjes së gabimeve gjatë punës me memorjen, e cila është burimi kryesor i vulnerabiliteteve më të rrezikshme, gjatë zhvillimit të Asterinas është përdorur gjuha Rust dhe taktika e përdorimit të kufizuar të bllokimeve unsafe. Ngritja është ndërtuar duke përdorur arkitekturën framekernel, në të cilën zhvilluesit kanë tentuar të kombinojnë mundësitë e izolimit të mikrokernelëve me efikasitetin e kernelëve monolitë.
Komponentët e ngritjes në Asterinas vendosen në një hapësirë të përbashkët adresash, ndërsa siguria arrihet në nivelin e ndarjes logjike të kodit të sigurt dhe kodit në të cilin nuk përjashtohet shfaqja e problemeve me sigurinë. Ngritja është ndarë në dy pjesë, të shkruara në Rust: OS Framework dhe OS Services. Në OS Services, përdorimi i bllokimeve unsafe është i ndaluar, dhe të gjitha operacionet me nivel të ulët, që kërkojnë ekzekutimin e kodit në blloket unsafe, janë të transferuara në OS Framework dhe janë të aksesueshme vetëm përmes një API të nivelit të lartë. Të gjitha thirrjet e sistemit, sistemet e skedarëve dhe drejtuesit realizohen në nivelin e OS Services dhe nuk mund të përfshijnë bllokime unsafe.
Gjatë zhvillimit të shërbimeve sistemore dhe moduleve të kernelit, rekomandohet të përdoret mjeti OSDK (Operating System Development Kit), i cili ofron utilitarin cargo-osdk për krijimin, ndërtimin, testimin dhe ekzekutimin e komponentëve të sistemit operativ. Për programuesit është përgatitur një set bibliotekash OSTD (Operating System Standard Library), e cila është një redaktim i bibliotekave standarde Rust (crate std), e përshtatur për t'u përdorur në komponentët e sistemit operativ.
Burimi: opennet.ru
