Kínai fejlesztőcsoport dolgozik az Asterinas kernen, amely Rust nyelven íródott és általános célszoftverekben való használatra készült. Az integráció megkönnyítése érdekében a kernel olyan ABI-t (Application Binary Interface) biztosít, amely kompatibilis a Linux kernelével, és helyettesíthető vele. A projekt kódja MPL (Mozilla Public License) licenc alatt terjed.
A projekt 2022 őszén indult, és célja, hogy idén elérje a széleskörű felhasználásra alkalmas szintet virtuális gépekben x86-64 architektúrával. A következő évtől kezdődően a figyelem főként a hardware és más CPU architektúrák támogatásának megvalósítására helyeződik. A kiemelt alkalmazási területek között szerepelnek a Linux ABI-ra épülő rendszerek, amelyek azonban magasabb szintű biztonságot igényelnek. Például az Asterinas a biztonságos rendszerkörnyezet kialakításához használható. virtuális gépekhez, amelyhez olyan technológiákat használnak, mint az ARM CCA, AMD SEV és Intel TDX, továbbá a gazda rendszernél, amely biztosítja a konténerek futtatását.
A memóriakezelési hibák előfordulásának csökkentése érdekében, amelyek a legveszélyesebb sebezhetőségek fő forrását jelentik, az Asterinas írásakor Rust nyelvet és korlátozott unsafe-blokkok használatával kapcsolatos taktikát alkalmaztak. A kernel framekernel architektúrára épül, amelyben a fejlesztők megpróbálták egyesíteni a mikrokernel izolációs képességeit a monolitikus kernelek hatékonyságával.
Az Asterinas kernelének komponensei közös címzési térben helyezkednek el, és a biztonságot a biztonságos kód és a potenciálisan problémás kód logikai elválasztása révén érik el. A kernel két részre oszlik, amelyeket Rust nyelven írtak: OS Framework és OS Services. Az OS Services-ben tilos unsafe-blokkok alkalmazása, és minden alacsony szintű művelet, amely código végrehajtását megkívánja unsafe-blokkokban, az OS Framework-be kerül, és csak magas szintű API-n keresztül érhető el. Minden rendszerhívás, fájlrendszer és illesztőprogram az OS Services szinten valósul meg, és nem tartalmazhat unsafe-blokkokat.
Rendszer-szolgáltatások és magmodulok fejlesztésénél javasolt az OSDK (Operating System Development Kit) eszközkészlet használata, amely a cargo-osdk segédprogramot biztosít az operációs rendszer komponenseinek létrehozásához, építéséhez, teszteléséhez és futtatásához. A fejlesztők számára készített OSTD (Operating System Standard Library) könyvtárakészlet a Rust standard könyvtárának (crate std) egy olyan kiadása, amelyet az operációs rendszer komponenseiben való használatra adaptáltak.
Forrás: opennet.ru
