Π€ΠΎΠ½Π΄Π°ΡΠΈΡΠ°ΡΠ° RISC-V ΠΏΡΠΈΡΠ°Π²Π΅Π½ΠΈ Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ seL4 Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠΎ RISC-V Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΊΠΈ ΡΠ΅Ρ. ΠΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅ ΡΠ²Π΅Π΄ΡΠ²Π° Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠΊΠΈ Π΄ΠΎΠΊΠ°Π· Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° sel4, ΡΡΠΎ ΡΠΊΠ°ΠΆΡΠ²Π° Π½Π° ΡΠ΅Π»ΠΎΡΠ½Π° ΡΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΎΡΡ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈ Π²ΠΎ ΡΠΎΡΠΌΠ°Π»Π½ΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ. ΠΠΎΠΊΠ°Π· Π·Π° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ seL4 Π²ΠΎ ΠΌΠΈΡΠΈΡΠ°ΡΠ°-ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ RISC-V RV64 ΠΊΠΎΠΈ Π±Π°ΡΠ°Π°Ρ Π·Π³ΠΎΠ»Π΅ΠΌΠ΅Π½ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π°Ρ ΠΎΡΡΡΡΡΠ²ΠΎ Π½Π° Π΄Π΅ΡΠ΅ΠΊΡΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΡΠ²Π΅Ρ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ seL4 ΠΌΠΎΠΆΠ°Ρ Π΄Π° Π±ΠΈΠ΄Π°Ρ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΡΠ²Π΅ΡΠ΅Π½ΠΈ Π΄Π΅ΠΊΠ° Π°ΠΊΠΎ ΠΈΠΌΠ° Π΄Π΅ΡΠ΅ΠΊΡ Π²ΠΎ Π΅Π΄Π΅Π½ Π΄Π΅Π» ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠΎΡ, ΠΎΠ²ΠΎΡ Π½Π΅ΡΡΠΏΠ΅Ρ
Π½Π΅ΠΌΠ° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠΈ Π½Π° ΠΎΡΡΠ°ΡΠΎΠΊΠΎΡ ΠΎΠ΄ ΡΠΈΡΡΠ΅ΠΌΠΎΡ ΠΈ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ, Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ.
ΠΠΈΠΊΡΠΎΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ seL4 ΠΏΡΠ²ΠΈΡΠ½ΠΎ Π±Π΅ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ΄Π΅Π½ Π·Π° 32-Π±ΠΈΡΠ½ΠΈ ARM ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π° ΠΏΠΎΠ΄ΠΎΡΠ½Π° ΠΈ Π·Π° 64-Π±ΠΈΡΠ½ΠΈ x86 ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ. ΠΠ°Π±Π΅Π»Π΅ΠΆΠ°Π½ΠΎ Π΅ Π΄Π΅ΠΊΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½Π°ΡΠ° Ρ
Π°ΡΠ΄Π²Π΅ΡΡΠΊΠ° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° RISC-V ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΠΎΡ ΠΌΠΈΠΊΡΠΎΠΊΠ΅ΡΠ½Π΅Π» seL4 ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π½ΠΎΠ²ΠΎ Π½ΠΈΠ²ΠΎ Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ, Π±ΠΈΠ΄Π΅ΡΡΠΈ Ρ
Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠ°Ρ Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°, ΡΡΠΎ Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π·Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΡΠΊΠΈ Ρ
Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΈ.
ΠΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° seL4, ΡΠ΅ ΠΏΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π° Π΄Π΅ΠΊΠ° ΠΎΠΏΡΠ΅ΠΌΠ°ΡΠ° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ ΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° ΡΠ΅Π»ΠΎΡΠ½ΠΎ Π³ΠΎ ΠΎΠΏΠΈΡΡΠ²Π° ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ, Π½ΠΎ Π²ΠΎ ΡΠ΅Π°Π»Π½ΠΎΡΡΠ° ΠΎΠΏΡΠ΅ΠΌΠ°ΡΠ° Π½Π΅ Π΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄Π΅Π½Π° ΠΎΠ΄ Π³ΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ ΡΠ°ΡΠ½ΠΎ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡΠ²Π° ΡΠΎ ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ ΠΏΠΎΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π²ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΡ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΡΠ²ΠΎΡΠ΅Π½ΠΈΡΠ΅ Ρ
Π°ΡΠ΄Π²Π΅ΡΡΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π³ΠΎ ΠΎΠ»Π΅ΡΠ½ΡΠ²Π°Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° - Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π±Π»ΠΎΠΊΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΠΊΡΠ²Π°ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠ°Π½Π°Π»ΠΈ, ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³Ρ ΠΏΠΎΠ΅ΡΠΈΠΊΠ°ΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΠΈΡΠ΅ ΠΎΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π²ΠΎ Ρ
Π°ΡΠ΄Π²Π΅ΡΠΎΡ ΠΎΡΠΊΠΎΠ»ΠΊΡ Π΄Π° ΡΠ΅ ΠΎΠ±ΠΈΠ΄Π΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ½Π°ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡΠ° Π²ΠΎ ΡΠΎΡΡΠ²Π΅ΡΠΎΡ.
ΠΠΎΡΡΠ΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° seL4 ΠΈΠ·Π²ΠΎΠ½ΡΠ΅Π΄Π΅Π½ ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΈ Π΄Π΅Π»ΠΎΠ²ΠΈ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΡΠ°Π΄ΡΠΎΡΠΎ Π²ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΠΎΡ ΠΏΡΠΎΡΡΠΎΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π° Π½Π° ΠΈΡΡΠΈΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π·Π° ΡΠ°ΠΊΠ²ΠΈ ΡΠ΅ΡΡΡΡΠΈ ΠΊΠ°ΠΊΠΎ ΠΈ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΡΡΡΠΈ. ΠΠΈΠΊΡΠΎΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π½Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° Π³ΠΎΡΠΎΠ²ΠΈ Π°ΠΏΡΡΡΠ°ΠΊΡΠΈΠΈ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π·Π° ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΡΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΌΡΠ΅ΠΆΠ½ΠΈ Π²ΡΡΠΊΠΈ ΠΈ ΡΠ»ΠΈΡΠ½ΠΎ; Π½Π°ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ°, ΡΠΎΡ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΡΠ°ΠΌΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΡΠΈΠ·ΠΈΡΠΊΠΈΠΎΡ Π°Π΄ΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΡΠΎΡ, ΠΏΡΠ΅ΠΊΠΈΠ½ΠΈΡΠ΅ ΠΈ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΠΏΡΡΡΠ°ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ ΠΈ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ Ρ
Π°ΡΠ΄Π²Π΅ΡΠΎΡ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΠ΅Π±Π½ΠΎ Π½Π° Π²ΡΠ²ΠΎΡ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π²ΠΎ ΡΠΎΡΠΌΠ° Π½Π° Π·Π°Π΄Π°ΡΠΈ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ. ΠΡΠΈΡΡΠ°ΠΏΠΎΡ Π΄ΠΎ ΡΠ°ΠΊΠ²ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π΄ΠΎ ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½ ΠΏΡΠ΅ΠΊΡ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°.
RISC-V ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΈ ΡΠ»Π΅ΠΊΡΠΈΠ±ΠΈΠ»Π΅Π½ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°ΡΠ° ΡΡΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Π΄Π° ΡΠ΅ Π³ΡΠ°Π΄Π°Ρ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Π±Π΅Π· Π΄Π° ΡΠ΅ Π±Π°ΡΠ°Π°Ρ Π°Π²ΡΠΎΡΡΠΊΠΈ ΠΏΡΠ°Π²Π° ΠΈΠ»ΠΈ ΡΡΡΠΈΠ½Π³ΠΎΠ²ΠΈ ΠΏΡΠΈΠΊΠ°ΡΠ΅Π½ΠΈ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π°. RISC-V Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ SoC ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ. ΠΠΎΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ°ΡΠ° RISC-V ΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈ Π·Π°Π΅Π΄Π½ΠΈΡΠΈ ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΈ Π»ΠΈΡΠ΅Π½ΡΠΈ (BSD, MIT, Apache 2.0) ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ Π²Π°ΡΠΈΡΠ°Π½ΡΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΠΎΡΡΠΊΠΈ ΡΠ°Π΄ΡΠ°, SoC ΠΈ Π²Π΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΊΠ°ΡΠ° Π·Π° RISC-V Π΅ ΠΏΡΠΈΡΡΡΠ½Π° ΡΡΡΠ΅ ΠΎΠ΄ ΠΈΠ·Π΄Π°Π½ΠΈΡΠ°ΡΠ° Π½Π° Glibc 2.27, binutils 2.30, gcc 7 ΠΈ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Linux 4.15.
ΠΠ·Π²ΠΎΡ: opennet.ru