Google ΠΎΡ‚Π²ΠΎΡ€ΠΈ ΠΊΠΎΠ΄Π° Π·Π° Π·Π°Ρ‰ΠΈΡ‚Π΅Π½Π°Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма KataOS

Google обяви ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° KataOS, насочСн към създаванС Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π΅Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма Π·Π° Π²Π³Ρ€Π°Π΄Π΅Π½ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° систСмата KataOS са написани Π½Π° Rust ΠΈ работят Π²ΡŠΡ€Ρ…Ρƒ микроядрото seL4, Π·Π° ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ прСдоставСно матСматичСско доказатСлство Π·Π° надСТдност Π½Π° систСми RISC-V, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ ΠΊΠΎΠ΄ΡŠΡ‚ напълно отговаря Π½Π° спСцификациитС, посочСни във официалния Π΅Π·ΠΈΠΊ. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π· Apache 2.0.

БистСмата осигурява ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° RISC-V ΠΈ ARM64 Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ. Π—Π° Π΄Π° сС симулира Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° seL4 ΠΈ срСдата Π½Π° KataOS Π²ΡŠΡ€Ρ…Ρƒ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π°, Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Renode сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСса Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. ΠšΠ°Ρ‚ΠΎ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚Π½Π° рСализация сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° софтуСрно-хардуСрният комплСкс Sparrow, ΡΡŠΡ‡Π΅Ρ‚Π°Π²Π°Ρ‰ KataOS със Π·Π°Ρ‰ΠΈΡ‚Π΅Π½ΠΈ Ρ‡ΠΈΠΏΠΎΠ²Π΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° OpenTitan. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎΡ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²ΠΈ позволява Π΄Π° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ логичСски ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ ядро ​​на ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма с Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ (RoT, Root of Trust), ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° OpenTitan ΠΈ RISC-V Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Π’ допълнСниС към ΠΊΠΎΠ΄Π° Π½Π° KataOS сС ΠΏΠ»Π°Π½ΠΈΡ€Π° Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ всички Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π½Π° Sparrow, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ хардуСрния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° сС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° с ΠΎΠ³Π»Π΅Π΄ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² спСциализирани Ρ‡ΠΈΠΏΠΎΠ²Π΅, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ прилоТСния Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΏΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»Π½Π° информация, ΠΊΠΎΠΈΡ‚ΠΎ изискват спСциално Π½ΠΈΠ²ΠΎ Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΈ ΠΏΠΎΡ‚Π²ΡŠΡ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° липса Π½Π° ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° Ρ‚Π°ΠΊΠΈΠ²Π° прилоТСния Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ систСми, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Ρ‚ изобраТСния Π½Π° Ρ…ΠΎΡ€Π° ΠΈ гласови записи. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° KataOS Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° надСТдността Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ Π°ΠΊΠΎ Π΅Π΄Π½Π° част ΠΎΡ‚ систСмата сС ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ, ΠΏΠΎΠ²Ρ€Π΅Π΄Π°Ρ‚Π° няма Π΄Π° сС разпространи Π² останалата част ΠΎΡ‚ систСмата ΠΈ ΠΏΠΎ-спСциално Π² ядрото ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΈΡ‚Π΅ части.

АрхитСктурата seL4 сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° с прСмСстванСто Π½Π° части Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° рСсурситС Π½Π° ядрото Π² потрСбитСлското пространство ΠΈ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ‰ΠΈΡ‚Π΅ инструмСнти Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π·Π° Ρ‚Π°ΠΊΠΈΠ²Π° рСсурси, ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° потрСбитСлскитС рСсурси. ΠœΠΈΠΊΡ€ΠΎΡΠ΄Ρ€ΠΎΡ‚ΠΎ Π½Π΅ прСдоставя Π³ΠΎΡ‚ΠΎΠ²ΠΈ абстракции Π½Π° високо Π½ΠΈΠ²ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, процСси, ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π²Ρ€ΡŠΠ·ΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ; вмСсто Ρ‚ΠΎΠ²Π° прСдоставя само ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ физичСско адрСсно пространство, ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ ΠΈ рСсурси Π½Π° процСсора. АбстракциитС Π½Π° високо Π½ΠΈΠ²ΠΎ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π·Π° взаимодСйствиС с Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π° сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Π²ΡŠΡ€Ρ…Ρƒ микроядрото ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° потрСбитСлско Π½ΠΈΠ²ΠΎ. Π”ΠΎΡΡ‚ΡŠΠΏΡŠΡ‚ Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° Π·Π°Π΄Π°Ρ‡ΠΈ Π΄ΠΎ Π½Π°Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ рСсурси Π½Π° микроядрото сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° Ρ‡Ρ€Π΅Π· Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°.

Π—Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° всички ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° микроядрото, са Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ Π² Rust, ΠΊΠ°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ бСзопасни Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠΈΡ‚Π΅ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ водят Π΄ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°Ρ‚ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° слСд освобоТдаванС, Π΄Π΅Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ Π½Π° Π½ΡƒΠ»Π΅Π² ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π» ΠΈ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€. На Rust са написани Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° прилоТСния Π² срСда seL4, систСмни услуги, Ρ€Π°ΠΌΠΊΠ° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° прилоТСния, API Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ систСмни повиквания, ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° процСси, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ Π΄Ρ€. ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈΡΡ‚ ΠΌΠΎΠ½Ρ‚Π°ΠΆ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° инструмСнтариума CAmkES, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° seL4. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° CAmkES ΡΡŠΡ‰ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ създадСни Π² Rust.

Rust Π½Π°Π»Π°Π³Π° бСзопасността Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ, собствСност Π½Π° ΠΎΠ±Π΅ΠΊΡ‚ ΠΈ прослСдяванС Π½Π° ΠΆΠΈΠ²ΠΎΡ‚Π° Π½Π° ΠΎΠ±Π΅ΠΊΡ‚Π° (ΠΎΠ±Ρ…Π²Π°Ρ‚ΠΈ) ΠΈ Ρ‡Ρ€Π΅Π· ΠΎΡ†Π΅Π½ΠΊΠ° Π½Π° корСктността Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС. Rust ΡΡŠΡ‰ΠΎ осигурява Π·Π°Ρ‰ΠΈΡ‚Π° срСщу ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Ρ†Π΅Π»ΠΈ числа, изисква стойноститС Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈΡ‚Π΅ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° концСпцията Π·Π° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΈ ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° силно статично въвСТданС Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° логичСскитС Π³Ρ€Π΅ΡˆΠΊΠΈ.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€