Π’Ρ€Π΅Ρ‚ΠΎΡ‚ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ‡ΠΎΠ²Π΅ Π·Π° ядрото Π½Π° Linux с ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Π΅Π·ΠΈΠΊΠ° Rust

МигСл ΠžΡ…Π΅Π΄Π° (Miguel Ojeda), Π°Π²Ρ‚ΠΎΡ€ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Rust-for-Linux, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈ Π½Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° ядрото Linux Ρ‚Ρ€Π΅Ρ‚ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π·Π° устройства Π½Π° Π΅Π·ΠΈΠΊΠ° Rust. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Rust сС Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ СкспСримСнтална, Π½ΠΎ Π²Π΅Ρ‡Π΅ Π΅ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° Π·Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π² ΠΊΠ»ΠΎΠ½ linux-next. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° сС финансира ΠΎΡ‚ компанията Google ΠΈ организацията ISRG (Internet Security Research Group), която Π΅ основатСл Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Let’s Encrypt ΠΈ допринася Π·Π° популяризиранСто Π½Π° HTTPS ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° повишаванС Π½Π° сигурността Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

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

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

Π’ новия Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° ΠΏΠ°Ρ‚Ρ‡ΠΎΠ²Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΊΠΈΡ‚Π΅, ΠΈΠ·Ρ€Π°Π·Π΅Π½ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΎΠ±ΡΡŠΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡŠΡ€Π²Π°Ρ‚Π° ΠΈ Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° вСрсия Π½Π° ΠΏΠ°Ρ‚Ρ‡ΠΎΠ²Π΅Ρ‚Π΅. Най-Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ:

  • ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½ Π΅ ΠΏΡ€Π΅Ρ…ΠΎΠ΄ към ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° стабилната вСрсия Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° Rust 1.57 ΠΈ Π΅ осигурСна ΡΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚ с ΡƒΡ‚Π²ΡŠΡ€Π΄Π΅Π½Π°Ρ‚Π° вСрсия Π½Π° Π΅Π·ΠΈΠΊΠ° Rust 2021. По-Ρ€Π°Π½ΠΎ ΠΏΠ°Ρ‚Ρ‡ΠΎΠ²Π΅Ρ‚Π΅ бяха ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Π±Π΅Ρ‚Π°-вСрсия Π½Π° Rust ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π° някои Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ Π² катСгорията Π½Π° нСстабилнитС. ΠŸΡ€Π΅Ρ…ΠΎΠ΄ΡŠΡ‚ към спСцификацията Rust 2021 прСдостави Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ избягванС Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π² ΠΏΠ°Ρ‚Ρ‡ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Ρ‚Π°ΠΊΠΈΠ²Π° нСстабилни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°Ρ‚ΠΎ const_fn_transmute, const_panic, const_unreachable_unchecked ΠΈ core_panic ΠΈ try_reserve.
  • ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΏΠ°Ρ‚Ρ‡ΠΎΠ²Π΅Ρ‚Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° Rust-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° alloc, ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½Π° Π·Π° Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ ΠΏΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΎΡ‚ възмоТни гСнСрирания Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Β«panicΒ» ΠΏΡ€ΠΈ възникванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ нСдостиг Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚. Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия са Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Β«no_rcΒ» ΠΈ Β«no_syncΒ» Π·Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π΅ Π½Π° функционалността, Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π² Rust-ΠΊΠΎΠ΄Π° Π·Π° ядрото, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° ΠΏΠΎ-ΠΌΠΎΠ΄ΡƒΠ»Π½Π°. ΠŸΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° с основнитС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° alloc, насочСна към ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π·Π° ядрото измСнСния Π² основния ΡΡŠΡΡ‚Π°Π² Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π°. Π’ основната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Rust (core) Π΅ прСнСсСна опция Β«no_fp_fmt_parseΒ», Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π½Π° Π½ΠΈΠ²ΠΎ ядро.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΅ чистка Π½Π° ΠΊΠΎΠ΄Π°, Π·Π° Π΄Π° сС ΠΈΠ·Π±Π°Π²ΠΈΠΌ ΠΎΡ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΈΡ‚Π΅ прСдупрСТдСния Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ядрото Π² Ρ€Π΅ΠΆΠΈΠΌ CONFIG_WERROR. ΠŸΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Rust са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ диагностични Ρ€Π΅ΠΆΠΈΠΌΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€Π° ΠΈ прСдупрСТдСния Π½Π° Π»ΠΈΠ½Ρ‚Π΅Ρ€Π° Clippy.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ са абстракции Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² ΠΊΠΎΠ΄Π° Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π·Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ seqlock (послСдоватСлни Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ), callback повиквания Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ…Ρ€Π°Π½Π²Π°Π½Π΅Ρ‚ΠΎ, I/O ΠΏΠ°ΠΌΠ΅Ρ‚ (readX/writeX), ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ, GPIO, Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ устройства, Π΄Ρ€Π°ΠΉΠ²ΡŠΡ€ΠΈ ΠΈ удостовСрСния.
  • Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ са срСдствата Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Ρ€Π°ΠΉΠ²ΡŠΡ€ΠΈ с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° прСмСстващи ΠΌΡŽΡ‚Π΅ΠΊΡΠΈ, Π±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ, опростСни ΠΎΠ±Π²ΠΈΠ²ΠΊΠΈ Π½Π°Π΄ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° диагностика Π½Π° сривовС ΠΈ инфраструктура, нСзависима ΠΎΡ‚ шина Π΄Π°Π½Π½ΠΈ.
  • ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° със справки с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° опростСн Ρ‚ΠΈΠΏ Ref, основан Π½Π° backend refcount_t, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° идСнтичния API Π½Π° ядрото Π·Π° Π±Ρ€ΠΎΠ΅Π½Π΅ Π½Π° справки. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅Ρ‚Π΅ Arc ΠΈ Rc, прСдоставСни Π² стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° alloc, Π΅ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π° ΠΈ Π½Π΅ Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° Π² ΠΊΠΎΠ΄Π°, изпълняван Π½Π° Π½ΠΈΠ²ΠΎ ядро (Π·Π° самата Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° са ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π΅Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚ Ρ‚Π΅Π·ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅).
  • Π’ ΡΡŠΡΡ‚Π°Π²Π° Π½Π° ΠΏΠ°Ρ‡ΠΎΠ²Π΅Ρ‚Π΅ Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° PL061 GPIO, прСнаписан Π½Π° Rust. ΠžΡΠΎΠ±Π΅Π½ΠΎΡΡ‚ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π΅, Ρ‡Π΅ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° рСализация ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ€Π΅Π΄ ΠΏΠΎ Ρ€Π΅Π΄ повтаря ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ GPIO Π½Π° Π΅Π·ΠΈΠΊΠ° C. Π—Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, ΠΆΠ΅Π»Π°Π΅Ρ‰ΠΈ Π΄Π° сС запознаят със ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π½Π° Rust, Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΎ Ρ€Π΅Π΄ΠΎΠ²ΠΎ сравнСниС, позволяващо Π΄Π° сС Ρ€Π°Π·Π±Π΅Ρ€Π΅ Π² ΠΊΠ°ΠΊΠ²ΠΈ конструкции Π½Π° Rust Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½ ΠΊΠΎΠ΄ΡŠΡ‚ Π½Π° C.
  • Π’ основната ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° Π½Π° Rust Π΅ ΠΏΡ€ΠΈΠ΅Ρ‚ rustc_codegen_gcc, backend rustc Π·Π° GCC, Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Ρ‰ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½Π° (AOT) компилация с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° libgccjit. ΠŸΡ€ΠΈ подходящо Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π° backend-Π°, Ρ‚ΠΎΠΉ Ρ‰Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° използвания Π² ядрото Rust ΠΊΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° GCC.
  • ОсвСн ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡ‚Π΅ ARM, Google ΠΈ Microsoft, интСрСс към ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π² ядрото Π½Π° Linux Π΅ ΠΈΠ·Ρ€Π°Π·ΠΈΠ»Π° ΠΈ компанията Red Hat. ΠŸΡ€ΠΈΠΏΠΎΠΌΠ½ΡΠΌΠ΅, Ρ‡Π΅ Google пряко осигурява ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Rust for Linux, Ρ€Π°Π·Π²ΠΈΠ²Π° Π½ΠΎΠ²Π° рСализация Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° мСТдупроцСсно взаимодСйствиС Binder Π½Π° Rust ΠΈ Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° прСнаписванС Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π½Π° Rust. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° Microsoft Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π°Π»Π° рСализация Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π·Π° Hyper-V Π½Π° Rust. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° ARM Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΡŠΡ€Ρ…Ρƒ подобряванС Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Rust Π·Π° систСми, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ARM процСсори. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° IBM Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π»Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Rust Π² ядрото Π·Π° систСми PowerPC.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster