A Google bemutatta az Open Se Cura program- és hardverkomplexumot, amely a gépi tanulással és mesterséges intelligenciával kapcsolatos biztonságos chipek egyszerűsített létrehozására összpontosít. A projekt magában foglalja a CantripOS operációs rendszert és a nyílt OpenTitan platformra, valamint RISC-V architektúrán alapuló processzormagot. Az Open Se Cura és a CantripOS fejlesztése során a projekteket Sparrow és KataOS néven ismerték, de más projektek közötti átfedések elkerülése érdekében végül új neveket kaptak. A projekt anyagai, beleértve a rendszer-szolgáltatások forráskódjait és az RTL séma (Register Transfer Level) terveket, az Apache 2.0 licenc alatt kerülnek terjesztésre.
A CantripOS operációs rendszer a seL4 mikrokernelen alapul, amely fölött egy Rust nyelven írt rendszerkörnyezet fut. RISC-V rendszereken a seL4 mikrokernel felett matematikai bizonyíték áll rendelkezésre a megbízhatóságról, amely a kód teljes megfelelőségét tanúsítja a formális nyelven meghatározott specifikációknak. A seL4 architektúrája figyelemre méltó, mert a kernel erőforráskezelésének egyes részeit a felhasználói térbe helyezi, és ugyanazokat a hozzáférés-ellenőrzési eszközöket alkalmazza az erőforrások kezelésére, mint a felhasználói erőforrások esetében.
A mikrokernel nem biztosít kész, magas szintű absztrakciókat a fájlok, folyamatok, hálózati kapcsolatok stb. kezelésére; ehelyett csak minimális mechanizmusokat biztosít a fizikai címterek, megszakítások és a processzor erőforrásainak hozzáférésének kezelésére. A magas szintű absztrakciókat és a hardverrel való interakcióhoz szükséges meghajtókat külön feladatok formájában valósítják meg a mikrokernelen, a felhasználói szinten futó feladatok látják el ezeket. E feladatok mikrokernel erőforrásaihoz való hozzáférése előírások meghatározásával történik.
Az operációs rendszer összes komponense, kivéve a mikrokernelt, eredetileg Rust nyelven íródott, biztonságos programozási technikák alkalmazásával, amelyek minimalizálják a memória problémák előfordulását. A Rust nyelven készült többek között az seL4 környezetében futó alkalmazásbetöltő, rendszer-szolgáltatások, alkalmazásfejlesztő keretrendszer, API a rendszerhívásokhoz, folyamatkezelő és dinamikus memóriaelosztási mechanizmus.
A verifikált összegyűjtéshez a seL4 projekt által fejlesztett CAmkES eszközkészletet használják. A végső alkalmazások fejlesztéséhez, amelyeket a rendszer szolgáltatásai dinamikusan tölthetnek be, az AmbiML SDK-t javasolják, míg a gépi tanulási modellek végrehajtásához az IREE (Intermediate Representation Execution Environment) eszközkészletet alkalmazzák. A Rust alapú komponensek és rendszer szolgáltatások a Cantrip keretrendszer használatával készültek.
A platform alkalmazási területei közé tartoznak a speciális chipek, amelyek különleges védelmi és hibaérzékelési szintet igényelnek. Például a platform használható olyan gépi tanulással kapcsolatos termékekben, amelyek érzékeny adatok feldolgozásával foglalkoznak, mint például az arcfelismerő és hangfelismerő rendszerek. A logikailag verifikált operációs rendszer magjának megbízható hardver komponensekkel (RoT, Root of Trust) való kombinálása biztosítja, hogy ha a rendszer egy részében hiba lép fel, az a többi részre, így a magra és a kritikus részekre sem terjed ki.
A Google mellett a lowRISC nonprofit szervezet is részt vett az eszközkészlet és az infrastruktúra elemeinek fejlesztésében, amely a RISC-V architektúrára épülő szabad mikroporcesszor fejlesztését irányítja, valamint az Antmicro és VeriSilicon cégek. A lowRISC által fejlesztett processzort megbízható hardver komponensek (RoT, Root of Trust) alapjául használták. Az Antmicro a Renode szimulátorát biztosította a projekt számára, amely lehetővé teszi a CantripOS és a seL4 mikrokernel tesztelését valós hardver nélkül. A VeriSilicon pedig tapasztalatait osztotta meg a chipek létrehozásában és a BSP (Board Support Package) fejlesztésében.
Forrás: opennet.ru
