เบชเบฐเบšเบฑเบšเบ—เบตเบชเบญเบ‡เบ‚เบญเบ‡ patches เบชเปเบฒเบฅเบฑเบš Linux kernel เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบžเบฒเบชเบฒ Rust

Miguel Ojeda, เบœเบนเป‰เบ‚เบฝเบ™เป‚เบ„เบ‡เบเบฒเบ™ Rust-for-Linux, เป„เบ”เป‰เบชเบฐเป€เบซเบ™เบตเบชเบฐเบšเบฑเบšเบ›เบฑเบšเบ›เบธเบ‡เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป€เบงเบตเบญเบธเบ›เบฐเบเบญเบ™เปƒเบ™เบžเบฒเบชเบฒ Rust เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒ Linux kernel. เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust เปเบกเปˆเบ™เบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡, เปเบ•เปˆเป„เบ”เป‰เบ–เบทเบเบ•เบปเบเบฅเบปเบ‡เปเบฅเป‰เบงเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบชเบฒเบ‚เบฒเบ•เปเปˆเป„เบ›เบ‚เบญเบ‡ linux. เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเป„เบ”เป‰เบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เปเบฒเบ„เบดเบ”เป€เบซเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบชเบฐเบšเบฑเบšเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡ patches. Linus Torvalds เป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเปเบฅเป‰เบงเปเบฅเบฐเป„เบ”เป‰เบชเบฐเป€เบซเบ™เบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบซเบ”เบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบšเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบ.

เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ Rust เป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบ—เบตเบชเบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป€เบงเบตเปเบฅเบฐเป‚เบกเบ”เบนเบ™ kernel. เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบšเปเปˆเป„เบ”เป‰เบชเบปเปˆเบ‡เบœเบปเบ™เปƒเบซเป‰ Rust เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบš kernel. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Rust เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เบปเบ™เบ‚เบฑเบšเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เป„เบ”เป€เบงเบตเบ—เบตเปˆเบ›เบญเบ”เป„เบžเปเบฅเบฐเบ”เบตเบเบงเปˆเบฒเบ”เป‰เบงเบเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”, เป‚เบ”เบเบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบง, เบเบฒเบ™เบ›เบฐเบ•เบดเป€เบชเบ”เบ•เบปเบงเบŠเบตเป‰ null, เปเบฅเบฐ buffer overruns.

Rust เบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปƒเบ™เป€เบงเบฅเบฒเบฅเบงเบšเบฅเบงเบกเป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡, เบเบฒเบ™เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธเปเบฅเบฐเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ (เบ‚เบญเบšเป€เบ‚เบ”), เปเบฅเบฐเป‚เบ”เบเบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปƒเบ™เป€เบงเบฅเบฒเปเบฅเปˆเบ™. Rust เบเบฑเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™ overflows integer, เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบ„เปˆเบฒเบ•เบปเบงเปเบ›เป„เบ”เป‰เบ–เบทเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰, เบกเบตเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เปƒเบŠเป‰เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡เบ—เบตเปˆเบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบฅเบฐเบ•เบปเบงเปเบ›เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เปเบฅเบฐเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบžเบดเบกเบ„เบปเบ‡เบ—เบตเปˆเบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบขเปˆเบฒเบ‡เบกเบตเป€เบซเบ”เบœเบปเบ™.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡ patches:

  • เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบซเบฅเบตเบเบฅเปˆเบฝเบ‡เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฐเบ–เบฒเบ™เบฐ "เบ•เบปเบเปƒเบˆ" เป€เบกเบทเปˆเบญเบกเบตเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เป€เบŠเบฑเปˆเบ™เบงเปˆเบฒเบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบšเปเปˆเบžเบฝเบ‡เบžเป. เบ•เบปเบงเปเบ›เบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” Rust alloc เป„เบ”เป‰เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒ, เป€เบŠเบดเปˆเบ‡ reworks เบฅเบฐเบซเบฑเบ”เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบง, เปเบ•เปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบเบฒเบ™เป‚เบญเบ™เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบš kernel เป„เบ›เบซเบฒเบชเบฐเบšเบฑเบšเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡ alloc (เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบกเปเบฅเบฐเป‚เบญเบ™เป„เบ›เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบซเปเบชเบฐเบซเบกเบธเบ” rust).
  • เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบ•เบญเบ™เบเบฒเบ‡เบ„เบทเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ›เปˆเบญเบเป€เบšเบ•เป‰เบฒเปเบฅเบฐเบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบงเบ—เบตเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบ‚เบญเบ‡ rustc compiler เป€เบžเบทเปˆเบญเบฅเบงเบšเบฅเบงเบก kernel เบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, rustc 1.54-beta1 เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ•เบปเบงเบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เปˆเบญเบ 1.54 เบญเบญเบเบกเบฒเปƒเบ™เบ—เป‰เบฒเบเป€เบ”เบทเบญเบ™, เบกเบฑเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเบฅเบงเบšเบฅเบงเบกเบ‚เปเป‰เบกเบนเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ”เบเปƒเบŠเป‰เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐ "#[test]" เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบš Rust เปเบฅเบฐเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ doctests เป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเป€เบญเบเบฐเบชเบฒเบ™.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบšเบชเบณเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ ARM32 เปเบฅเบฐ RISCV เบ™เบญเบเบˆเบฒเบ x86_64 เปเบฅเบฐ ARM64 เบ—เบตเปˆเบฎเบญเบ‡เบฎเบฑเบšเปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™.
  • เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ GCC Rust (GCC frontend เบชเปเบฒเบฅเบฑเบš Rust) เปเบฅเบฐ rustc_codegen_gcc (rustc backend เบชเปเบฒเบฅเบฑเบš GCC), เป€เบŠเบดเปˆเบ‡เบ›เบฐเบˆเบธเบšเบฑเบ™เบœเปˆเบฒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”.
  • เบฅเบฐเบ”เบฑเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡ abstraction เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™ Rust เบ‚เบญเบ‡เบเบปเบ™เป„เบ kernel เบฅเบฒเบเบฅเบฑเบเบญเบฑเบเบชเบญเบ™เปƒเบ™ C, เป€เบŠเบฑเปˆเบ™: เบ•เบปเป‰เบ™เป„เบกเป‰เบชเบตเปเบ”เบ‡, เบชเบตเบ”เปเบฒ, เบงเบฑเบ”เบ–เบธเบญเป‰เบฒเบ‡เบญเบตเบ‡เบเบฒเบ™เบ™เบฑเบš, เบเบฒเบ™เบชเป‰เบฒเบ‡ descriptor เป„เบŸเบฅเปŒ, เบงเบฝเบเบ‡เบฒเบ™, เป„เบŸเบฅเปŒ, เปเบฅเบฐ vectors I/O.
  • เบญเบปเบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบ‚เบฑเบšโ€‹เป„เบ”เป‰โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เป‚เบกโ€‹เบ”เบนเบ™ file_operationsโ€‹, เป‚เบกโ€‹เบ”เบนเบ™โ€‹! macroโ€‹, เบเบฒเบ™โ€‹เบˆเบปเบ”โ€‹เบ—เบฐโ€‹เบšเบฝเบ™โ€‹เบกเบฐโ€‹เบซเบฒโ€‹เบžเบฒเบโ€‹, เปเบฅเบฐโ€‹เบ•เบปเบงโ€‹เบ‚เบฑเบšโ€‹เบฅเบปเบ”โ€‹เบ‚เบฑเป‰เบ™โ€‹เบ•เบปเป‰เบ™ (เบเบฒเบ™โ€‹เบชเบทเบšโ€‹เบชเบงเบ™โ€‹เปเบฅเบฐโ€‹เป€เบญเบปเบฒโ€‹เบญเบญเบโ€‹)โ€‹.
  • เบ”เบฝเบงเบ™เบตเป‰ Binder เบฎเบญเบ‡เบฎเบฑเบšเบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒเบœเปˆเบฒเบ™ เปเบฅเบฐ hooks LSM.
  • เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเบ‚เบญเบ‡เบ•เบปเบงเบ‚เบฑเบš Rust เป„เบ”เป‰เบ–เบทเบเบชเบฐเป€เบซเบ™เบต - bcm2835-rng เบชเปเบฒเบฅเบฑเบšเบฎเบฒเบ”เปเบง random number generator เบ‚เบญเบ‡ Raspberry Pi boards .

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบšเบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Rust เปƒเบ™เปเบเปˆเบ™เป„เบ”เป‰เบ–เบทเบเบเปˆเบฒเบงเป€เบ–เบดเบ‡:

  • Microsoft เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบทเปˆเบญเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Linux kernel เปเบฅเบฐเบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป€เบงเบตเบชเปเบฒเบฅเบฑเบš Hyper-V on Rust เปƒเบ™เป€เบ”เบทเบญเบ™เบ‚เป‰เบฒเบ‡เบซเบ™เป‰เบฒ.
  • ARM เบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบ—เบตเปˆเปƒเบŠเป‰ ARM. เป‚เบ„เบ‡เบเบฒเบ™ Rust เป„เบ”เป‰เบชเบฐเป€เบซเบ™เบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบฅเบฐเบšเบปเบš ARM 64-bit เป€เบ›เบฑเบ™เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบŠเบฑเป‰เบ™ 1.
  • Google เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบเบเบปเบ‡เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™ Rust เบชเปเบฒเบฅเบฑเบš Linux, เบเปเบฒเบฅเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบซเบกเปˆเบ‚เบญเบ‡เบเบปเบ™เป„เบเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ Binder เปƒเบ™ Rust, เปเบฅเบฐเบเปเบฒเบฅเบฑเบ‡เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปƒเบซเบกเปˆเบ‚เบญเบ‡เป„เบ”เป€เบงเบตเบ•เปˆเบฒเบ‡เป†เปƒเบ™ Rust. เบœเปˆเบฒเบ™ ISRG (Internet Security Research Group), Google เบชเบฐเบซเบ™เบญเบ‡เบ—เบถเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบทเปˆเบญเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Linux kernel.
  • IBM เป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปเบเปˆเบ™เบชเปเบฒเบฅเบฑเบš Rust เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš PowerPC.
  • เบซเป‰เบญเบ‡เบ—เบปเบ”เบฅเบญเบ‡ LSE (Systems Research Laboratory) เป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบปเบงเบ‚เบฑเบš SPI เปƒเบ™ Rust.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™