Google прСдставил ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Open Se Cura для создания Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… систСм

Компания Google прСдставила ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ комплСкс Open Se Cura, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ создания Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Ρ… Ρ‡ΠΈΠΏΠΎΠ², ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡, связанных с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈ искусствСнным ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΠΎΠΌ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму CantripOS ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ обСспСчСниС, основанноС Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ OpenTitan ΠΈ процСссорном ядрС Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V. Π’ Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Open Se Cura ΠΈ CantripOS Ρ€Π°Π·Π²ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Sparrow ΠΈ KataOS, Π½ΠΎ для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ пСрСсСчСния с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρ‹. Наработки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ исходныС тСксты систСмных сСрвисов ΠΈ RTL-схСмы (Register Transfer Level), Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма CantripOS базируСтся Π½Π° микроядрС seL4, ΠΏΠΎΠ²Π΅Ρ€Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выполняСтся систСмноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, написанноС Π½Π° языкС Rust. На систСмах RISC-V для микроядра seL4 прСдоставлСно матСматичСскоС Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ надёТности, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌ соотвСтствии ΠΊΠΎΠ΄Π° спСцификациям, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ языкС. АрхитСктура seL4 ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π° выносом частСй для управлСния рСсурсами ядра Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ примСнСния для Ρ‚Π°ΠΊΠΈΡ… рСсурсов Ρ‚Π΅Ρ… ΠΆΠ΅ срСдств разграничСния доступа, Ρ‡Ρ‚ΠΎ ΠΈ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… рСсурсов.

ΠœΠΈΠΊΡ€ΠΎΡΠ΄Ρ€ΠΎ Π½Π΅ прСдоставляСт Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… высокоуровнСвых абстракций для управлСния Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, процСссами, сСтСвыми соСдинСниями ΠΈ Ρ‚.ΠΏ., вмСсто этого ΠΎΠ½ΠΎ прСдоставляСт лишь ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ для управлСния доступом ΠΊ физичСскому адрСсному пространству, прСрываниям ΠΈ рСсурсам процСссора. ВысокоуровнСвыС абстракции ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ для взаимодСйствия с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Π΅Ρ€Ρ… микроядра Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π·Π°Π΄Π°Ρ‡, выполняСмых Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅. Доступ Ρ‚Π°ΠΊΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΊ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΡΡ Ρƒ микроядра рСсурсам организуСтся Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ».

ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ОБ, ΠΊΡ€ΠΎΠΌΠ΅ микроядра, ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ написаны Π½Π° языкС Rust с использованиСм бСзопасных ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠ² программирования, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. На Rust срСди ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ написаны Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ seL4, систСмныС сСрвисы, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, API для доступа ΠΊ систСмным Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ процСссов ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ динамичСского распрСдСлСния памяти.

Для Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ сборки задСйствован инструмСнтарий CAmkES, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ seL4. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ динамичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ систСмными сСрвисами, прСдлагаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SDK AmbiML, Π° для выполнСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ машинного обучСния инструмСнтарий IREE (Intermediate Representation Execution Environment). ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π° Rust ΠΈ систСмныС сСрвисы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Cantrip.

Из областСй примСнСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ΡΡ спСциализированныС Ρ‡ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ трСбуСтся особый ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈ подтвСрТдСния отсутствия сбоСв. НапримСр, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… машинного обучСния, связанных с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ систСмы распознавания людСй ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ голосовых записСй. Π‘ΠΎΠ²ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ логичСски Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы с Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΠΈ довСрия Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ (RoT, Root of Trust) Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² случаС сбоя Π² ΠΎΠ΄Π½ΠΎΠΉ части систСмы, Π΄Π°Π½Π½Ρ‹ΠΉ сбой Π½Π΅ распространится Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½ΡƒΡŽ систСму ΠΈ, Π² частности, Π½Π° ядро ΠΈ критичСскиС части.

ΠšΡ€ΠΎΠΌΠ΅ Google Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ инструмСнтария ΠΈ элСмСнтов инфраструктуры приняли участиС нСкоммСрчСская организация lowRISC, ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ свободного микропроцСссора Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Antmicro ΠΈ VeriSilicon. Π Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ lowRISC процСссор Π±Ρ‹Π» использован Π² качСствС ядра для построСния Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… довСрия Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (RoT, Root of Trust). Компания Antmicro прСдоставила ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ симулятор Renode, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ CantripOS ΠΈ микроядро seL4 Π±Π΅Π· Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ оборудования. Компания VeriSilicon подСлилась своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² области создания Ρ‡ΠΈΠΏΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ BSP (Board Support Package).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru