Google ka prezantuar paketën softueriko-harduerike Open Se Cura, e projektuar për të thjeshtuar krijimin e çipave të sigurt për zgjidhjen e detyrave që lidhen me mësimin makinerik dhe inteligjencën artificiale. Projekti përfshin sistemin operativ CantripOS dhe harduer të bazuar në platformën OpenTitan, si edhe një bërthamë procesori të ndërtuar mbi arkitekturën RISC-V. Gjatë zhvillimit, Open Se Cura dhe CantripOS u zhvilluan me emrat Sparrow dhe KataOS, por për të shmangur mbivendosjen me projekte të tjera, produktet përfundimtare u riemërtuan. Zhvillimet e projektit, përfshirë kodin burimor të shërbimeve të sistemit dhe skemat RTL (Register Transfer Level), shpërndahen sipas licencës Apache 2.0.
Sistemi operativ CantripOS bazohet në mikrobërthamën seL4, mbi të cilën ekzekutohet mjedisi i sistemit i shkruar në gjuhën Rust. Në sistemet RISC-V, për mikrobërthamën seL4 ofrohet një provë matematikore e besueshmërisë, e cila dëshmon përputhjen e plotë të kodit me specifikimet e përcaktuara në gjuhë formale. Arkitektura e seL4 dallohet për zhvendosjen e pjesëve të menaxhimit të burimeve të bërthamës në hapësirën e përdoruesit dhe për përdorimin, për këto burime, të të njëjtave mekanizma të kontrollit të aksesit si për burimet e përdoruesit.
Mikrobërthama nuk ofron abstraksione të gatshme të nivelit të lartë për menaxhimin e skedarëve, proceseve, lidhjeve të rrjetit e të ngjashme; në vend të kësaj, ajo ofron vetëm mekanizmat minimalë për menaxhimin e aksesit në hapësirën fizike të adresimit, ndërprerjet dhe burimet e procesorit. Abstraksionet e nivelit të lartë dhe drajverët për ndërveprim me harduerin realizohen veçmas mbi mikrobërthamën në formën e detyrave që ekzekutohen në nivel përdoruesi. Aksesi i këtyre detyrave në burimet që mikrobërthama ka në dispozicion organizohet përmes përcaktimit të rregullave.
Të gjithë komponentët e OS-së, përveç mikrobërthamës, janë shkruar që në fillim në gjuhën Rust duke përdorur praktika të sigurta programimi që minimizojnë gabimet gjatë punës me kujtesën. Në Rust janë shkruar, ndër të tjera, ngarkuesi i aplikacioneve në mjedisin seL4, shërbimet e sistemit, framework-u për zhvillimin e aplikacioneve, API për qasje në thirrjet e sistemit, menaxheri i proceseve dhe mekanizmi i shpërndarjes dinamike të kujtesës.
Për ndërtimin e verifikuar përdoret paketa e mjeteve CAmkES, e zhvilluar nga projekti seL4. Për zhvillimin e aplikacioneve përfundimtare, të cilat mund të ngarkohen në mënyrë dinamike nga shërbimet e sistemit, rekomandohet përdorimi i SDK AmbiML, ndërsa për ekzekutimin e modeleve të mësimit të makinerive përdoret paketa IREE (Intermediate Representation Execution Environment). Komponentët në Rust dhe shërbimet e sistemit janë zhvilluar duke përdorur framework-et Cantrip.
Ndër fushat e përdorimit të platformës përmenden çipe të specializuara që kërkojnë një nivel të veçantë mbrojtjeje dhe verifikim të mungesës së dështimeve. Për shembull, platforma mund të përdoret në produkte të mësimit të makinerive që lidhen me përpunimin e informacionit konfidencial, si sistemet e njohjes së personave dhe përpunimit të regjistrimeve zanore. Kombinimi i një kerneli të sistemit operativ të verifikuar logjikisht me komponentë harduerikë të besueshëm (RoT, Root of Trust) garanton që, në rast të një dështimi në një pjesë të sistemit, ai të mos përhapet në pjesën tjetër të sistemit dhe, në veçanti, te kerneli dhe pjesët kritike.
Përveç Google, në zhvillimin e mjeteve dhe elementeve të infrastrukturës morën pjesë edhe organizata jofitimprurëse lowRISC, e cila koordinon zhvillimin e një mikroprocesori të lirë mbi arkitekturën RISC-V, si edhe kompanitë Antmicro dhe VeriSilicon. Procesori i zhvilluar nga organizata lowRISC u përdor si bazë për ndërtimin e komponentëve harduerikë të besueshëm (RoT, Root of Trust). Kompania Antmicro i vuri në dispozicion projektit simulatorin Renode, i cili lejon testimin e CantripOS dhe mikrokernelit seL4 pa pajisje reale. Kompania VeriSilicon ndau përvojën e saj në fushën e krijimit të çipeve dhe zhvillimit të BSP (Board Support Package).
Burimi: opennet.ru
