ΠΠ°ΡΠΊΡΠΎΡΠΎΡΡ ΠΎΡΠΊΡΠΈ ΡΠ°Π·Π²ΠΎΡ Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ CHERIOT (Capability Hardware Extension to RISC-V for Internet of Things), ΡΠΈΡΠ° ΡΠ΅Π» Π΅ Π΄Π° Π³ΠΈ Π±Π»ΠΎΠΊΠΈΡΠ° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΎ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΠΎΡ ΠΊΠΎΠ΄ Π²ΠΎ C ΠΈ C++. CHERIOT Π½ΡΠ΄ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ Π·Π°ΡΡΠΈΡΠΈΡΠ΅ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ C/C++ Π±Π΅Π· ΠΏΠΎΡΡΠ΅Π±Π° ΠΎΠ΄ Π½ΠΈΠ²Π½Π° ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ°. ΠΠ°ΡΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π° ΠΏΡΠ΅ΠΊΡ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅Ρ ΠΊΠΎΡ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π΅Π½ ΠΏΡΠΎΡΠΈΡΠ΅Π½ ΡΠ΅Ρ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡ (ISA), ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ΠΈ ΠΎΠ΄ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΈ Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΎ Π½ΠΈΠ²ΠΎ Π³ΠΎ ΡΠ»Π΅Π΄ΠΈ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈΡΠ΅ ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ΄Π½ΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ.
ΠΡΠΎΠ΅ΠΊΡΠΎΡ Π΅ ΡΠΎΠ·Π΄Π°Π΄Π΅Π½ ΡΠΎ ΠΎΠ³Π»Π΅Π΄ Π½Π° ΡΠ°ΠΊΡΠΎΡ Π΄Π΅ΠΊΠ° ΠΏΡΠΈΡΠΎΠ΄Π°ΡΠ° Π½Π° Π½ΠΈΡΠΊΠΎΡΠΎ Π½ΠΈΠ²ΠΎ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ C ΡΡΠ°Π½ΡΠ²Π° ΠΈΠ·Π²ΠΎΡ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, ΡΡΠΎ Π΄ΠΎΠ²Π΅Π΄ΡΠ²Π° Π΄ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π»Π΅Π²Π°ΡΠ΅ Π½Π° Π±Π°ΡΠ΅ΡΠΎΡ, ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π²Π΅ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°, Π΄Π΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΠΈ Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΎΡ ΠΈΠ»ΠΈ Π΄Π²ΠΎΡΠ½ΠΎ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ . ΠΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° Π΄Π΅ΠΊΠ° Π΄ΡΡΠΈ ΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ Google ΠΈ Microsoft, ΠΊΠΎΠΈ ΠΈΠΌΠ°Π°Ρ ΡΡΡΠΎΠ³Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π·Π²ΠΎΡΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΠΈ Π°Π»Π°ΡΠΊΠΈ Π·Π° ΡΡΠ°ΡΠΈΡΠΊΠ° Π°Π½Π°Π»ΠΈΠ·Π°, Π½Π΅ ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π°Ρ ΠΎΡΡΡΡΡΠ²ΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΊΠΎΠ»Ρ 70% ΠΎΠ΄ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ Π²ΠΎ Microsoft ΠΈ Google ΡΠ΅ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΈ ΠΎΠ΄ Π½Π΅Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ ΡΠ°ΠΊΡΠ²Π°ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°).
ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈ ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈ ΡΠ°Π·ΠΈΡΠΈ ΠΊΠΎΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π°Ρ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅ ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΠΈΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΠ΅ ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π°ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΠΈΡΠ½ΠΈ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ ΠΊΠ°ΠΊΠΎ MiraclePtr (raw_ptr), ΠΊΠΎΡ Π²ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ΠΈΡΠ΅ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΠΎ, ΡΠ°ΠΊΠ²ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΡΠ΅ ΠΏΠΎΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈ Π·Π° Π½ΠΎΠ² ΠΊΠΎΠ΄, Π° ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈ C/C++ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π΅ Π΄ΠΎΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½Π°, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π°ΠΊΠΎ ΡΠΈΠ΅ ΡΠ΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠ°Ρ Π²ΠΎ ΡΡΠ΅Π΄ΠΈΠ½ΠΈ ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΡΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ ΡΡΠ΅Π΄ΠΈ Π·Π° ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ Π½Π° Π½Π΅ΡΡΠ°ΡΠ°.
Π₯Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° CHERIoT ΡΠ΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΠΊΠΎ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Ρ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° RISC-V, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΡΠΈ ΡΠ° Π·Π°ΡΡΠΈΡΠ΅Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ CHERI (Capability Hardware Extension to RISC-V), ΠΊΠΎΡΠ° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° βΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡβ (ΡΠ΅ΠΊΠΎΠ΅ ΡΠΈΡΠ°ΡΠ΅ ΠΈ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°ΡΠ° Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π΅ ΠΎΠ²Π»Π°ΡΡΠ΅Π½Π°) . ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (ISA) ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½Π° Π²ΠΎ CHERIOT, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π΅ ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» ΠΊΠΎΡ Π³Π°ΡΠ°Π½ΡΠΈΡΠ° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΏΠΎΠ΅Π΄ΠΈΠ½Π΅ΡΠ½ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ, ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π²Π΅ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½Π°ΡΠ° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π»Π΅ΡΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡΠ° Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°. . ΠΠ°Π²Π΅Π΄Π΅Π½ΠΈΠΎΡ ΠΌΠΎΠ΄Π΅Π» Π·Π° Π·Π°ΡΡΠΈΡΠ° Π½Π° ΡΠΎΡΡΠ²Π΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ΅ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡΠ° Π²ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ C/C++, ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π·Π°ΡΡΠΈΡΠ° Π½Π° ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ (ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠ΅ΠΊΠΎΠΌΠΏΠ°ΡΠ»ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΎΠΏΡΠ΅ΠΌΠ° ΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ISA CHERIOT).
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° Π³ΠΈ Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ ΡΡΠΎ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΡΠ²Π°Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π° ΠΎΠ΄ΠΈ ΠΏΠΎΠ΄Π°Π»Π΅ΠΊΡ ΠΎΠ΄ Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, Π½Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π°ΠΌΠ΅Π½Π° Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΎΡ (ΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ ΠΌΠΎΡΠ° Π΄Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π°Ρ ΠΎΠ΄ ΠΏΠΎΡΡΠΎΠ΅ΡΠΊΠΈΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ) ΠΈ Π³ΠΎ ΡΠ»Π΅Π΄ΠΈ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΏΠΎ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡΠ²Π°ΡΠ΅ΡΠΎ (Π±ΠΈΠ»ΠΎ ΠΊΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π½Π΅ΡΠΎΡΠ½ΠΈ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°Ρ ΡΡΠΎ ΡΠΏΠ°ΡΡΠ²Π° Π½Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ΅Π·ΡΠ»ΡΠΈΡΠ° ΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΎΠΊ). ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ΡΠΎ Π½Π° CHERIOT Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΡΠ΅ Π½Π° Π³ΡΠ°Π½ΠΈΡΠΈΡΠ΅, ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π½Π° ΠΆΠΈΠ²ΠΎΡΠ½ΠΈΠΎΡ Π²Π΅ΠΊ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° ΠΈ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠΎΡ Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΎΡ Π²ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΡΡΠΎ ΡΠ°ΠΊΡΠ²Π°Π°Ρ ΡΠΎ Π½Π΅Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π±Π΅Π· Π΄Π° Π±Π°ΡΠ°Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ΄ΠΎΡ.
ΠΡΠΎΠ΅ΠΊΡΠΎΡ Π²ΠΊΠ»ΡΡΡΠ²Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠΈΡΠ΅Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΊΠΈ ΡΠ΅Ρ CHERIOT, ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° 32-Π±ΠΈΡΠ΅Π½ RISC-V ΠΏΡΠΎΡΠ΅ΡΠΎΡ ΠΊΠΎΡ Π³ΠΎ ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° CHERIOT ISA ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½ LLVM ΠΏΠ°ΠΊΠ΅Ρ ΡΠΎ Π°Π»Π°ΡΠΊΠΈ. ΠΠΈΡΠ°Π³ΡΠ°ΠΌΠΈΡΠ΅ Π·Π° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ²ΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΈ ΠΎΠΏΠΈΡΠΈΡΠ΅ Π½Π° Ρ Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈΡΠ΅ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Π²ΠΎ Verilog ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° Apache 2.0. ΠΠ°Π΄ΡΠΎΡΠΎ Ibex ΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡ lowRISC Π±Π΅ΡΠ΅ ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΎ ΠΊΠ°ΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π° Π·Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΠΎΠ΄Π΅Π»ΠΎΡ Π½Π° ΠΊΠΎΠ΄ΠΎΡ CHERIOT ISA Π΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ Π½Π° ΡΠ°Π·ΠΈΠΊΠΎΡ Sail ΠΈ Π΅ Π»ΠΈΡΠ΅Π½ΡΠΈΡΠ°Π½ ΡΠΏΠΎΡΠ΅Π΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° BSD.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ CHERIOT RTOS Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠ΅Π³ΡΠ°Π΄ΠΈ Π΄ΡΡΠΈ ΠΈ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ 256 MB RAM. ΠΠΎΠ΄ΠΎΡ CHERIOT RTOS Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π²ΠΎ C++ ΠΈ ΡΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° MIT. ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° ΠΠ‘, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄ΠΈΠ³Π°ΡΠΎΡ, ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°ΡΠΎΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΡΠ° Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ°, ΡΠ΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° ΠΏΡΠ΅Π³ΡΠ°Π΄ΠΈ.
ΠΠ΄Π΄Π΅Π»ΠΎΡ Π²ΠΎ CHERIOT RTOS Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΠ° Π½Π° ΠΊΠΎΠ΄ ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ ΡΡΠΎ Π½Π°Π»ΠΈΠΊΡΠ²Π° Π½Π° Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, Π½ΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ Π²ΡΠΎΡΠ°ΡΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΠ²ΠΎΡΠ°ΡΠ° ΡΠΎΡΡΠΎΡΠ±Π° (ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°) ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π΅Π½ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ΅Π½ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. ΠΠΈΡΡ Π΅Π΄Π½Π° ΡΠΈΡΡΠ° ΠΎΠ΄Π½Π°Π΄Π²ΠΎΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ° ΠΏΡΠ΅Π½Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΡΠΎΠ»Π°ΡΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΡ Π²ΠΎ ΠΎΠ΄Π΄Π΅Π»ΠΎΡ ΠΈ Π΄Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΈ Π΄ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ, ΠΎΡΠ²Π΅Π½ ΡΠΎ ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π²Π»Π΅Π·Π½ΠΈ ΡΠΎΡΠΊΠΈ ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π°ΡΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠΈ ΠΊΠΎΠΈ Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°Π°Ρ ΠΏΡΠΈ ΠΏΠΎΠ²ΠΈΠΊΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΡΡΠ³ ΠΎΠ΄Π΄Π΅Π». ΠΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠΎΡ ΠΈ Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡΠ° ΡΠ΅ Π·Π°Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΈ Π·Π° ΠΊΠΎΠ΄ΠΎΡ ΠΈ Π³Π»ΠΎΠ±Π°Π»Π½ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ Π²ΠΎ ΠΎΠ΄Π΄Π΅Π»ΠΎΡ.
ΠΠ·Π²ΠΎΡ: opennet.ru