Miguel Ojeda α’ααααα·αααααααααααα Rust-for-Linux ααΆαααααΎαααααΎααααΆαααΆαααΈααΈαααααΆααααΆαα’αα·αααααααααα·ααΈαααααΆα§ααααααα αααα»αααΆααΆ Rust αααααΆααα’αααα’αα·ααααααααΊαααααΈαα»α ααΎααααΈαα·α αΆαααΆα ααΆαβααΆααααβα ααααβααααΌαβααΆαβα αΆααβαα»αβααΆβααΆβααΆαβαα·ααα ααα»ααααβααααΌαβααΆαβαααβααααβαα½α βα αΎαβαααααΆααβααΆαβααΆααβαααα αΌαβαααα»αβααΈαα»α β-βααΆααΆβαααααΆααα ααΆαα’αα·αααααααααααααΌαααΆααααααααΌααα·αα·ααα Google αα·α ISRG (αααα»αααααΆαααααΆαααααα·αα»αα’ααΈαααΊαα·α) αααααΆααααΆααα·ααααααααα Let's Encrypt αα·αααααααααααΆα HTTPS αα·αααΆαα’αα·αααααααα αα αααα·ααααΆααΎααααΈαααααα’αα»ααααα·ααΆαα’ααΈαααΊαα·αα
ααΌαα αΆαααΆααΆαααααΆααααααΌααααααΆαααααΎα‘αΎαααααΎα±ααααΆα’αΆα ααααΎ Rust ααΆααΆααΆααΈααΈααααααΆαααααααΎααααααα·ααΈαααααΆ αα·ααααΌαα»αααΊαααα ααΆαααΆααααα ααααααααΌαααΆααααα αΆαααΆαααααΎαααααα·αααααΌαααΆαααΎαααΆαααααΆαααΎα α αΎααα·αααΆαααααααααα Rust ααααΌαααΆαααΆαααααα αΌαααΆααΆαααΉαααα’ααααΎααΆαααααΆαααΆαααααααΌαααΆααααααΆααααΊααααααααα ααΆαααααΎααααΆαα Rust αααααΆααααΆαα’αα·αααααααααααα·ααΈαααααΆααΉαα’αα»ααααΆαα±ααα’ααααααααΎααααααα·ααΈαααααΆαααααΆααα»ααααα·ααΆα αα·ααααααΎαααΆααα»α ααΆαα½αααΉαααΆααα·αααααααΉαααααααα·α αα½α αααα»α ααααα·αααΆααααα αΆααΌα ααΆααΆαα αΌαααααΎα’αααα αα αΆααααααΆααααΈααΆααααααα ααΆαααα·αααααααα·α ααααΆαααα αα·αααΆαααααΎαααΆαααΎαα ααα»αα
αα»ααααα·ααΆαααα’αααα αα αΆαααααΌαααΆααααααααΌααα αααα»α Rust αα αααα αααααααΆααααααΆααααα½ααα·αα·αααα―αααΆαααα ααΆααααααΆααΆαααααΆαααΆααα αΆααααααα» αα·αα’αΆαα»ααΆαααααααααα» (αα·ααΆαααΆα) ααααΌα ααΆααΆααααααΆαααΆααααααααΆαααααΉαααααΌαααααΆαα αΌαααααΎα’αααα αα αΆαα’αα‘α»ααααααααΎαααΆαααΌαα α αααααααααααααΆαααΆαααΆααααααΆααααΉαα ααα½ααααααΎαα ααα»α ααΆαααΆαααΆαα αΆααααααΎαα αΆαααΆα ααααααααα’ααααα»ααααααααΎ αααααααΆαααα α»αααΆααααααΎαααΆααα αααα»ααααααΆααααααααααΆα α’αα»ααααααααααα·αααααα ααααΈαααααααα·αα’αΆα ααααΆααααααΌαααΆα αα·αα’αααααΆαααααΆαααΎα αααααααΌαααΆαααΆαα’αααααα·αα·ααααααααΆαα ααΎααααΈααΆαααααααααα α»αα‘αΌααΈααα
ααααααααΈαααααααααααα»αααααΆααααΆαα’ααααΆαα·ααααΆααααααΆαααααΎα‘αΎααααα»αα’αα‘α»αααααα·ααΆααααΆααααααααααααΈαα½α αα·αααΈααΈαα ααΆαααααΆααααααΌααα½αα±ααααααααααΆαααααα»α:
- ααΆαααααΆααααααΌαααααΌαααΆαααααΎα‘αΎαα ααααααΆαααααΎααααΆααααΆαα ααααααΆααααααΆααααααααΆααα Rust 1.57 ααΆα’αααα αααααα―αααΆαααα αα·ααααααααΆαααα ααΆααααΆαααααα»ααααααααΆααααααααΆαααααΆααΆ Rust 2021 ααααΌαααΆααααααααΌαα ααΈαα»α ααααααααΌαααΆαα αααααΆαααα ααΉαααΆααΆααααΆαααα Rust α αΎαααΆαααααΎαααααααα·αααααΆααΆαα½αα ααα½αααα ααααΌαααΆαα αΆααααααΆααααΆαα·ααααα·ααααααα ααΆαααααΆααααααΌααα ααΆααααααΆαα Rust 2021 ααΆαα’αα»ααααΆαα±ααααΎααααα½α ααααΎαααΆαααΆαααΎααααΈαααααΆαααΆαααααΎααααΆαααα»αααΆααα·ααααα·αααααααααααααα αααα»αααααααΌα ααΆ const_fn_transmute, const_panic, const_unavailable_unchecked αα·α core_panic αα·α try_reserve α
- ααΆαα’αα·αααααααααααααααα αααααααααΆααα Rust ααααα½ααααα αΌααα αααα»αααααααΆααααα ααααααααΎααααΈααααΆαααα»αααΆααααα ααα’αααα αα αΆαααααααΆαααααα’αΆα ααΎαααΆαααααααΆαααΆα "αααααααααααα" αα ααααααααΆαααα α»αααΎαα‘αΎα ααΌα ααΆα’ααααΆαα αα αΆαα ααααααααΈα’αα»αααααααααΎα "no_rc" αα·α "no_sync" ααΎααααΈαα·ααα»αααΆαααααα·αααααΌαααΆαααααΎαα αααα»αααΌαααΊααα Rust αααααααΎα±αααααααΆαααααΆαααααααΌαα»αα ααΆαααΆαααααααΆαα½αα’αααα’αα·αααααααααα ααααααΆαα ααααααααααααααΆαααααΆααααααΌααααααααΌαααΆααααααΆααααΊααααα αααααΆαααααα αααααΎα βno_fp_fmt_parseβ ααααααααΌαα±αααααααΆαααααααΎαααΆααα ααααα·αααΊααα ααααΌαααΆαααααΆααααΈαα αααααΆαααααΌαααααΆα Rust (ααααΌα)α
- ααΌαααααΌαααΆααααα’αΆα ααΎααααΈαααα αΆααααΆααααααΆαα’αααΈα’αααα ααααααααα’αΆα ααΎαααΆα αα ααααααααΎαααΊααααα αααα»ααααα CONFIG_WERROR α αα ααααααααΎαααΌααα αααα»α Rust αααααα·αα·α ααααα’αααα ααααααααααα αα·αααΆααααααΆαα’αααΈαααααΆαα Clippy ααααΌαααΆαααΎαα
- Abstractions ααααΌαααΆαααααΎα‘αΎααααααΆααααααΎαααα»α Rust code αααααΆαα seqlocks (sequence locks), callback calls for power management, I/O Memory (readX/writeX), interrupt and thread handlers, GPIO, access to devices, drivers and credentials.
- α§ααααααααααΆααααΆαα’αα·αααααααααααα·ααΈαααααΆααααΌαααΆααααααΈαααΎααααΈαα½ααααα αΌα mutexes αααα’αΆα ααααΆααααααΌαααΈααΆααααΆα αααΈα iterators ααΆαα αααααα·α ααααΆαααα ααΆααααααα’ααΆααα·αα·α ααααααα α»α αα·αα αααααΆαα ααΆααααααααα―αααΆααααααααααααααα»ααα·ααααααα
- ααααΎα±αααααααΎαα‘αΎαααΌαααΆαααΆαααΆαα½ααααααααΆαααααααααΎαααααα Ref ααΆαααα αααααα’ααααΎαααααα·ααΈααΆαααααα refcount_t αααααααΎ kernel API αααααααααΌα ααααΆαααααΆααααΆαααΆααα―αααΆααααα ααΆαααΆαααααααααΆαααααααα Arc αα·α Rc αααααααααα αααα»ααααααΆααα alloc αααααααΆαααααΌαααΆαααα αα α αΎααα·αααΆααα αααα»αααΌααααααΆαααααα·ααααα·αα ααααα·αααΊααααα (αααααΎαααααΌαααΆααααα ααααααΆαααααααΆααααααα½αα―αααααα·αααααααααΆααααα)α
- αααααα½αααΆααααααααααααα·ααΈαααααΆ PL061 GPIO αααααααΌαααΆααααααα‘αΎααα·ααα αααα»α Rust α αααααααα·ααααααααααααα·ααΈαααααΆααΊααΆααΆαα’αα»ααααααααααΆααααΎααααα½ααααααΆαααααααα½ααααααΎα‘αΎααα·αααΌααααααα·ααΈαααααΆ GPIO αααααΆαααααΆαααα αααα»αααΆααΆ C α αααααΆααα’αααα’αα·αααααααααα ααααααΆααααΆααααααΎααααααα·ααΈαααααΆαα αααα»α Rust ααΆαααααααααααΆααααααΆαααα½αααααΌαααΆααααα ααααα’αα»ααααΆαα±αααα½ααααααααΆααΆαααΆααααααΆαα½ααα αααα»α Rust ααΌα C ααααΌαααΆαααααααα ααΆα
- ααΌαααααΆαααΌα Rust α ααααααΆαααα½ααα rustc_codegen_gcc αααααΆαααααα·ααΈααΆαααααα rustc αααααΆαα GCC αααα’αα»ααααααΆαα αααααααΆαα»α (AOT) αααααααΎαααααΆααα libgccjit α ααΆαα½αααΉαααΆαα’αα·ααααααααααΉαααααΌααααααααααΆαααααα ααΆααΉαα’αα»ααααΆαα±ααα’ααααααααΌαααΌα Rust αααααΆαααααααααΉαααΊααααααααααΎ GCC α
- ααααααααΈααΎ ARM, Google αα·α Microsoft, Red Hat ααΆααααα αΆαααΈα αααΆααα’αΆαααααααααα»αααΆαααααΎααααΆααααΆααΆ Rust αα αααα»αααΊαααααΈαα»α α α αΌαααΎαααααΉαααΆ Google αααααααΆαααΆαααααααααααΆαααααααΆαααααααα Rust for Linux αααα»ααααααΎαααΆαα’αα»ααααααααΈααααααααΆαααααΆααααααα’ααααααααΎαααΆα Binder αα αααα»α Rust α αΎααααα»ααα·α αΆαααΆααΈααααααΆαααααααΎαααΆαα‘αΎααα·αααΌααααααα·ααΈαααααΆαααααααα αααα»α Rust α αααα»αα αα»α Microsoft ααΆαα αΆααααααΎαα’αα»αααααααααα·ααΈαααααΆαααααΆαα Hyper-V αα αααα»α Rust α ARM αααα»αααααΎααΆαααΎααααΈαααααα’ααΆαααΆαααα Rust αααααΆαααααααααααααααΆαααΌαααααΆαααΎ ARM α IBM ααΆαα’αα»ααααααΆαααΆαααα Rust αα αααα»αααΊααααααααΆαααααααααα PowerPC α
ααααα: opennet.ru