ΠœΠ°Ρ˜ΠΊΡ€ΠΎΡΠΎΡ„Ρ‚ Π³ΠΎ ΠΎΡ‚Π²ΠΎΡ€Π° CHERIOT, хардвСрско Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° бСзбСдноста Π½Π° C ΠΊΠΎΠ΄ΠΎΡ‚

ΠœΠ°Ρ˜ΠΊΡ€ΠΎΡΠΎΡ„Ρ‚ ΠΎΡ‚ΠΊΡ€ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° настани ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ 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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€