Google prezantoi sistemin e harduerit dhe softuerit Open Se Cura, që synon të thjeshtojë krijimin e çipave të sigurt të krijuar për të zgjidhur problemet që lidhen me mësimin e makinerive dhe inteligjencën artificiale. Projekti përfshin sistemin operativ CantripOS dhe harduerin e bazuar në platformën OpenTitan dhe një bërthamë procesori të bazuar në arkitekturën RISC-V. Gjatë zhvillimit të 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ëruan. Zhvillimet e projektit, duke përfshirë kodin burimor të shërbimeve të sistemit dhe skemave RTL (Niveli i Transferimit të Regjistrimit), shpërndahen nën licencën Apache 2.0.
Sistemi operativ CantripOS bazohet në mikrokernelin seL4, në krye të të cilit funksionon një mjedis sistemi i shkruar në gjuhën Rust. Në sistemet RISC-V, një provë matematikore e besueshmërisë ofrohet për mikrokernelin seL4, që tregon se kodi përputhet plotësisht me specifikimet e specifikuara në gjuhën zyrtare. Arkitektura seL4 është e dukshme për pjesët lëvizëse për menaxhimin e burimeve të kernelit në hapësirën e përdoruesit dhe aplikimin e të njëjtave mjete të kontrollit të aksesit për burime të tilla si për burimet e përdoruesit.
Mikrokerneli nuk ofron abstraksione të gatshme të nivelit të lartë për menaxhimin e skedarëve, proceseve, lidhjeve të rrjetit dhe të ngjashme; në vend të kësaj, ai siguron vetëm mekanizma minimalë për kontrollin e aksesit në hapësirën fizike të adresave, ndërprerjet dhe burimet e procesorit. Abstraksionet e nivelit të lartë dhe drejtuesit për ndërveprim me harduerin zbatohen veçmas në krye të mikrokernelit në formën e detyrave të nivelit të përdoruesit. Qasja e detyrave të tilla në burimet në dispozicion të mikrokernelit organizohet përmes përcaktimit të rregullave.
Të gjithë komponentët e OS, përveç mikrokernelit, janë shkruar fillimisht në Rust duke përdorur teknika të sigurta programimi që minimizojnë gabimet kur punoni me memorie. Ndër të tjera, një ngarkues aplikacioni në mjedisin seL4, shërbimet e sistemit, një kornizë e zhvillimit të aplikacionit, një API për të hyrë në thirrjet e sistemit, një menaxher procesi dhe një mekanizëm dinamik i shpërndarjes së memories janë shkruar në Rust.
Asambleja e verifikuar përdor paketën e veglave CAmkES, të zhvilluar nga projekti seL4. Për të zhvilluar aplikacione fundore që mund të ngarkohen dinamikisht nga shërbimet e sistemit, propozohet përdorimi i AmbiML SDK dhe IREE (Intermediate Representation Execution Environment) për të ekzekutuar modelet e mësimit të makinerive. Komponentët Rust dhe shërbimet e sistemit janë zhvilluar duke përdorur kornizat Cantrip.
Ndër fushat e aplikimit të platformës, përmenden çipat e specializuar që kërkojnë një nivel të veçantë mbrojtjeje dhe konfirmim të mungesës së dështimeve. Për shembull, platforma mund të përdoret në produktet e mësimit të makinerive që lidhen me përpunimin e informacionit konfidencial, si sistemet për njohjen e njerëzve dhe përpunimin e regjistrimeve zanore. Kombinimi i një kerneli të verifikuar logjikisht të sistemit operativ me komponentët e besueshëm të harduerit (Root of Trust) siguron që nëse një pjesë e sistemit dështon, dështimi nuk do të përhapet në pjesën tjetër të sistemit dhe, në veçanti, në kernel dhe pjesët kritike.
Përveç Google, organizata jofitimprurëse lowRISC, e cila mbikëqyr zhvillimin e një mikroprocesori falas të bazuar në arkitekturën RISC-V, si dhe kompanitë Antmicro dhe VeriSilicon, morën pjesë në zhvillimin e mjeteve dhe elementeve të infrastrukturës. Procesori i zhvilluar nga lowRISC u përdor si bërthamë për ndërtimin e komponentëve të besueshëm të harduerit (Root of Trust). Antmicro i dha projektit një simulator Renode që e lejon atë të testojë CantripOS dhe mikrokernelin seL4 pa harduer të vërtetë. VeriSilicon ndau përvojën e saj në fushën e krijimit të çipave dhe zhvillimit të BSP (Paketa e Mbështetjes së Bordit).
Burimi: opennet.ru
