ื“ื™ ืจื’ืข ืึทื“ื™ืฉืึทืŸ ืคื•ืŸ ืคึผืึทื˜ืฉืึทื– ืคึฟืึทืจ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืžื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืจื•ืกื˜ ืฉืคึผืจืึทืš

Miguel Ojeda, ืžื—ื‘ืจ ืคื•ืŸ ื“ื™ Rust-for-Linux ืคึผืจื•ื™ืขืงื˜, ืคืืจื’ืขืœื™ื™ื’ื˜ ืึท ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืžื™ื˜ืœ ื“ืจื™ื•ื•ืขืจืก ืื™ืŸ ื“ื™ Rust ืฉืคึผืจืึทืš ืคึฟืึทืจ ื‘ืึทื˜ืจืึทื›ื˜ื•ื ื’ ื“ื•ืจืš ืœื™ื ื•ืงืก ืงืขืจืŸ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก. ื–ืฉืึทื•ื•ืขืจ ืฉื˜ื™ืฆืŸ ืื™ื– ื’ืขืจืขื›ื ื˜ ื•ื•ื™ ื™ืงืกืคึผืขืจืžืขื ืึทืœ, ืึธื‘ืขืจ ืขืก ืื™ื– ืฉื•ื™ืŸ ืžืกื›ื™ื ืคึฟืึทืจ ื™ื ืงืœื•ื–ืฉืึทืŸ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก-ื•ื•ื™ื™ึทื˜ืขืจ ืฆื•ื•ื™ื™ึทื’. ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ื™ืœื™ืžืึทื ื™ื™ืฅ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ื’ืขืžืื›ื˜ ื‘ืขืฉืึทืก ื“ื™ ื“ื™ืกืงื•ืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ืขืจ ืขืจืฉื˜ืขืจ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคึผืึทื˜ืฉืึทื–. Linus Torvalds ื”ืื˜ ืฉื•ื™ืŸ ื–ื™ืš ืื™ื™ื ื’ืขืฉืจื™ื‘ืŸ ื“ื™ ื“ื™ืกืงื•ืกื™ืข ืื•ืŸ ืคืืจื’ืขืœื™ื™ื’ื˜ ื˜ืฉืึทื ื’ื™ื ื’ ื“ื™ ืœืึธื’ื™ืง ืคึฟืึทืจ ืคึผืจืึทืกืขืกื™ื ื’ ืขื˜ืœืขื›ืข ื‘ื™ืกืœ ืึทืคึผืขืจื™ื™ืฉืึทื ื–.

ืฆื•ืจื™ืงืจื•ืคืŸ ืึทื– ื“ื™ ืคืืจื’ืขืœื™ื™ื’ื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ ืžืึทื›ืŸ ืขืก ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ Rust ื•ื•ื™ ืึท ืฆื•ื•ื™ื™ื˜ ืฉืคึผืจืึทืš ืคึฟืึทืจ ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ื“ืจื™ื•ื•ืขืจืก ืื•ืŸ ืงืขืจืŸ ืžืึทื“ื–ืฉื•ืœื–. ื–ืฉืึทื•ื•ืขืจ ืฉื˜ื™ืฆืŸ ืื™ื– ื“ืขืจืœืื ื’ื˜ ื•ื•ื™ ืึทืŸ ืึธืคึผืฆื™ืข ื•ื•ืึธืก ืื™ื– ื ื™ืฉื˜ ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืื•ืŸ ื˜ื•ื˜ ื ื™ืฉื˜ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ื–ืฉืึทื•ื•ืขืจ ื™ื ืงืœื•ื“ืขื“ ื•ื•ื™ ืึท ืคืืจืœืื ื’ื˜ ื‘ื•ื™ืขืŸ ื“ืขืคึผืขื ื“ืขื ืกื™ ืคึฟืึทืจ ื“ื™ ืงืขืจืŸ. ื ื™ืฆืŸ ืจื•ืกื˜ ืคึฟืึทืจ ืฉืึธืคืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ื•ื•ืขื˜ ืœืึธื–ืŸ ืื™ืจ ืฆื• ืฉืึทืคึฟืŸ ืกืึทืคืขืจ ืื•ืŸ ื‘ืขืกืขืจ ื“ืจื™ื•ื•ืขืจืก ืžื™ื˜ ืžื™ื ื™ืžืึทืœ ืžื™, ืคืจื™ื™ ืคื•ืŸ ืคึผืจืึธื‘ืœืขืžืก ืึทื–ืึท ื•ื•ื™ ื–ื›ึผืจื•ืŸ ืึทืงืกืขืก ื ืึธืš ืคืจื™ื™, ื ืึทืœ ื˜ื™ื™ึทื˜ืœ ื“ื™ืคืขืจืึทื ืกื™ื– ืื•ืŸ ื‘ืึทืคืขืจ ืึธื•ื•ื•ืขืจืจืึทื ื–.

ื–ืฉืึทื•ื•ืขืจ ืขื ืคืึธืจืกื™ื– ื–ื™ืงืึธืจืŸ ื–ื™ื›ืขืจืงื™ื™ึทื˜ ืื™ืŸ ื“ื™ ืงืึทืžืคึผื™ื™ืœื™ื ื’ ืฆื™ื™ื˜ ื“ื•ืจืš ืจืขืคึฟืขืจืขื ืฅ ืงืึธื ื˜ืจืึธืœื™ืจื•ื ื’, ืึธื‘ื“ื–ืฉืขืงื˜ ืึธื•ื ืขืจืฉื™ืคึผ ืื•ืŸ ืึทื‘ื“ื–ืฉืขืงืฅ ืœืขื‘ืŸ ื˜ืจืึทืงื™ื ื’ (ืกืงืึธืคึผืขืก), ืื•ืŸ ื“ื•ืจืš ื™ื•ื•ืึทืœื™ื•ื™ื™ื˜ื™ื ื’ ื“ื™ ืจื™ื›ื˜ื™ืง ื–ื™ืงืึธืจืŸ ืึทืงืกืขืก ืื™ืŸ ืจื•ื ื˜ื™ืžืข. ื–ืฉืึทื•ื•ืขืจ ืื•ื™ืš ืคึผืจืึธื•ื•ื™ื“ืขืก ืฉื•ืฅ ืงืขื’ืŸ ื™ื ื˜ืึทื“ื–ืฉืขืจ ืึธื•ื•ื•ืขืจืคืœืึธื•ื–, ืจื™ืงื•ื•ื™ื™ืขืจื– ืึทื– ื“ื™ ื•ื•ืขืจื™ืึทื‘ืึทืœ ื•ื•ืึทืœื•ืขืก ื–ืขื ืขืŸ ื™ื ื™ื˜ื™ืึทืœื™ื™ื–ื“ ืื™ื™ื“ืขืจ ื ื•ืฆืŸ, ื”ืื˜ ื‘ืขืกืขืจ ื˜ืขื•ืช ื”ืึทื ื“ืœื™ื ื’ ืื™ืŸ ื“ืขืจ ื ืึธืจืžืึทืœ ื‘ื™ื‘ืœื™ืึธื˜ืขืง, ื ื™ืฆื˜ ื“ืขื ื‘ืึทื’ืจื™ืฃ ืคื•ืŸ ื™ืžืคึผื™ื•ืึทื˜ืึทื‘ืึทืœ ื‘ืึทื•ื•ื™ื™ึทื–ืŸ ืื•ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ืื•ืŸ ืึธืคืคืขืจืก ืฉื˜ืึทืจืง ืกื˜ืึทื˜ื™ืง ื˜ื™ื™ืคึผื™ื ื’ ืฆื• ืžื™ื ืึทืžื™ื™ื– ืœืึทื“ื–ืฉื™ืงืึทืœ ืขืจืจืึธืจืก.

ื“ื™ ืžืขืจืกื˜ ื‘ืืžืขืจืงื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคึผืึทื˜ืฉืึทื–:

  • ื“ืขืจ ื–ื›ึผืจื•ืŸ ืึทืœืึทืงื™ื™ืฉืึทืŸ ืงืึธื“ ืื™ื– ื‘ืืคืจื™ื™ื˜ ืคื•ืŸ ืคึผืึทื˜ืขื ื˜ืฉืึทืœื™ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืึท "ืคึผืึทื ื™ืง" ืฉื˜ืึทื˜ ื•ื•ืขืŸ ืขืจืจืึธืจืก ืึทื–ืึท ื•ื•ื™ ืึธืŸ ื–ื›ึผืจื•ืŸ ืคืึทืœืŸ. ื ื•ื•ืึทืจื™ืึทื ื˜ ืคื•ืŸ ื“ื™ Rust alloc ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ื™ื ืงืœื•ื“ืขื“, ื•ื•ืึธืก ืจื™ื•ื•ืขืจืงืก ื“ื™ ืงืึธื“ ืฆื• ืฉืขืคึผืŸ ืคื™ื™ืœื™ืขืจื–, ืึธื‘ืขืจ ื“ื™ ืœืขืฆื˜ ืฆื™ืœ ืื™ื– ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืึทืœืข ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– ื“ืืจืฃ ืคึฟืึทืจ ื“ื™ ืงืขืจืŸ ืฆื• ื“ื™ ื”ื•ื™ืคึผื˜ ืึทื“ื™ืฉืึทืŸ ืคื•ืŸ ืึทืœืึทืง (ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ื–ืขื ืขืŸ ืฉื•ื™ืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืื•ืŸ ื˜ืจืึทื ืกืคืขืจื“ ืฆื• ื“ื™ ื ืึธืจืžืึทืœ. ืจื•ืกื˜ ื‘ื™ื‘ืœื™ืึธื˜ืขืง).
  • ืึทื ืฉื˜ืึธื˜ ื ื™ื™ื˜ืœื™ ื‘ื•ื™ืขืŸ, ืื™ืจ ืงืขื ืขืŸ ืื™ืฆื˜ ื ื•ืฆืŸ ื‘ื™ืชื ืจื™ืœื™ืกื™ื– ืื•ืŸ ืกื˜ืึทื‘ื™ืœ ืจื™ืœื™ืกื™ื– ืคื•ืŸ ื“ื™ Rustc ืงืึทืžืคึผื™ื™ืœืขืจ ืฆื• ืฆื•ื ื•ื™ืคื ืขืžืขืŸ ืึท ืงืขืจืŸ ืžื™ื˜ Rust ืฉื˜ื™ืฆืŸ. ื“ืขืจื•ื•ื™ื™ึทืœ, rustc 1.54-beta1 ืื™ื– ื’ืขื ื™ืฆื˜ ื•ื•ื™ ื“ืขืจ ืจืขืคึฟืขืจืขื ืฅ ืงืึทืžืคึผื™ื™ืœืขืจ, ืึธื‘ืขืจ ื ืึธืš ื“ื™ 1.54 ืžืขืœื“ื•ื ื’ ืื™ื– ื‘ืืคืจื™ื™ื˜ ืื™ืŸ ื“ื™ ืกื•ืฃ ืคื•ืŸ ื“ื™ ื—ื•ื“ืฉ, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืฉื˜ื™ืฆื˜ ื•ื•ื™ ื“ืขืจ ืจืขืคึฟืขืจืขื ืฅ ืงืึทืžืคึผื™ื™ืœืขืจ.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืฉืจื™ื™ื‘ืŸ ื˜ืขืกืฅ ื ื™ืฆืŸ ื“ื™ ื ืึธืจืžืึทืœ "#[ื˜ืขืกื˜]" ืึทื˜ืจื™ื‘ื™ื•ื˜ ืคึฟืึทืจ ืจื•ืกื˜ ืื•ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื ื•ืฆืŸ ื“ืึธืงื˜ื™ืกืฅ ืฆื• ื“ืึธืงื•ืžืขื ื˜ ื˜ืขืกืฅ.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ARM32 ืื•ืŸ RISCV ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจื– ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืคืจื™ืขืจ ื’ืขืฉื˜ื™ืฆื˜ x86_64 ืื•ืŸ ARM64.
  • ื™ืžืคึผืจื•ื•ื•ื“ ื™ืžืคึผืœืึทืžืึทื ืฅ ืคื•ืŸ GCC Rust (GCC ืคืจืึธื ื˜ืขื ื“ ืคึฟืึทืจ Rust) ืื•ืŸ rustc_codegen_gcc (ืจื•ืกืง ื‘ืึทืงืขื ื“ ืคึฟืึทืจ GCC), ื•ื•ืึธืก ืื™ืฆื˜ ืคึผืึทืกื™ื– ืึทืœืข ื™ืงืขืจื“ื™ืง ื˜ืขืกืฅ.
  • ื ื ื™ื™ึทืข ืžื“ืจื’ื” ืคื•ืŸ ืึทื‘ืกื˜ืจืึทืงืฆื™ืข ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืคึฟืึทืจ ื ื•ืฆืŸ ืื™ืŸ ืจื•ืกื˜ ืžื’ื™ืœื” ืคื•ืŸ ืงืขืจืŸ ืžืขืงืึทื ื™ื–ืึทืžื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C, ืึทื–ืึท ื•ื•ื™ ืจื•ื™ื˜-ืฉื•ื•ืึทืจืฅ ื‘ื™ื™ืžืขืจ, ืจืขืคึฟืขืจืขื ืฅ-ื’ืขืจืขื›ื ื˜ ืึทื‘ื“ื–ืฉืขืงืฅ, ืฉืึทืคื•ื ื’ ืคื•ืŸ ื˜ืขืงืข ื“ื™ืกืงืจื™ืคึผื˜ืึธืจ, ื˜ืึทืกืงืก, ื˜ืขืงืขืก ืื•ืŸ ื™ / ืึธ ื•ื•ืขืงื˜ืึธืจืก.
  • ื“ืจื™ื™ื•ื•ืขืจ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ื”ืึธื‘ืŸ ื™ืžืคึผืจื•ื•ื•ื“ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ื˜ืขืงืข_ืึธืคึผืขืจืึทื˜ื™ืึธื ืก ืžืึธื“ื•ืœืข, ื“ื™ ืžืึธื“ื•ืœืข! ืžืึทืงืจืึธื•, ืžืึทืงืจืึธื• ืจืขื’ื™ืกื˜ืจืึทืฆื™ืข ืื•ืŸ ืจื•ื“ืึทืžืขื ื˜ืขืจื™ ื“ืจื™ื•ื•ืขืจืก (ื–ืึธื ื“ ืื•ืŸ ืึทืจืึธืคึผื ืขืžืขืŸ).
  • ื‘ื™ื ื“ืขืจ ืื™ืฆื˜ ืฉื˜ื™ืฆื˜ ืคืึธืจืŸ ื˜ืขืงืข ื“ื™ืกืงืจื™ืคึผื˜ืึธืจืก ืื•ืŸ LSM ื›ื•ืงืก.
  • ื ืžืขืจ ืคืึทื ื’ืงืฉืึทื ืึทืœ ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ืึท ื–ืฉืึทื•ื•ืขืจ ืฉืึธืคืขืจ ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ - bcm2835-rng ืคึฟืึทืจ ื“ื™ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ื˜ืจืึทืค ื ื•ืžืขืจ ื’ืขื ืขืจืึทื˜ืึธืจ ืคื•ืŸ Raspberry Pi ื‘ืึธืจื“ื–.

ืึทื“ื“ื™ื˜ื™ืึธื ืึทืœืœื™, ืขื˜ืœืขื›ืข ืงืึธืžืคึผืึทื ื™ืขืก 'ืคึผืจืึทื“ื–ืฉืขืงืก ืฉื™ื™ึทื›ื•ืช ืฆื• ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืจื•ืกื˜ ืื™ืŸ ื“ื™ ืงืขืจืŸ ื–ืขื ืขืŸ ื“ืขืจืžืื ื˜:

  • ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื”ืึธื˜ ืื•ื™ืกื’ืขื“ืจื™ืงื˜ ืื™ื ื˜ืขืจืขืก ืื™ืŸ ืึธื ื˜ื™ื™ืœ ื ืขืžืขืŸ ืื™ืŸ ื“ืขืจ ืึทืจื‘ืขื˜ ืฆื• ื•ื™ืกืฉื˜ื™ืžืขืŸ ืจืึทืกื˜ ืฉื˜ื™ืฆืŸ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืื•ืŸ ืื™ื– ื’ืจื™ื™ื˜ ืฆื• ืฆื•ืฉื˜ืขืœืŸ ื“ืจื™ื™ื•ื•ืขืจ ื™ืžืคึผืœืึทืžืึทื ืฅ ืคึฟืึทืจ Hyper-V ืื•ื™ืฃ Rust ืื™ืŸ ื“ื™ ืงื•ืžืขื ื“ื™ืงืข ื—ื“ืฉื™ื.
  • ARM ืื™ื– ืืจื‘ืขื˜ืŸ ืฆื• ืคึฟืึทืจื‘ืขืกืขืจืŸ ืจื•ืกื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ARM-ื‘ืื–ื™ืจื˜ ืกื™ืกื˜ืขืžืขืŸ. ื“ื™ ืจื•ืกื˜ ืคึผืจื•ื™ืขืงื˜ ื”ืื˜ ืฉื•ื™ืŸ ืคืืจื’ืขืœื™ื™ื’ื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ ื•ื•ืึธืก ื•ื•ืึธืœื˜ ืžืึทื›ืŸ 64-ื‘ื™ืกืœ ARM ืกื™ืกื˜ืขืžืขืŸ ืึท ื˜ื™ืจ 1 ืคึผืœืึทื˜ืคืึธืจืžืข.
  • ื’ื•ื’ืœ ื’ืœื™ื™ืš ื’ื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ Rust for Linux ืคึผืจื•ื™ืขืงื˜, ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืึท ื ื™ื™ึทืข ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ื‘ื™ื ื“ืขืจ ื™ื ื˜ืขืจืคึผืจืึธืกืขืกืก ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืžืขืงืึทื ื™ื–ืึทื ืื™ืŸ Rust, ืื•ืŸ ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื“ื™ ืžืขื’ืœืขื›ืงื™ื™ื˜ ืคื•ืŸ ืจื™ื•ื•ืขืจืงื™ื ื’ ืคืึทืจืฉื™ื“ืŸ ื“ืจื™ื•ื•ืขืจืก ืื™ืŸ Rust. ื“ื•ืจืš ISRG (ืื™ื ื˜ืขืจื ืขื˜ ืกืขืงื•ืจื™ื˜ื™ ืคึฟืึธืจืฉ ื’ืจื•ืคืข), Google ืฆื•ื’ืขืฉื˜ืขืœื˜ ืคืึทื ื“ื™ื ื’ ืคึฟืึทืจ ืึทืจื‘ืขื˜ ืฆื• ื•ื™ืกืฉื˜ื™ืžืขืŸ ืจืึทืกื˜ ืฉื˜ื™ืฆืŸ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ.
  • ื™ื‘ื ื”ืื˜ ื™ืžืคึผืœืึทืžืขื ืึทื“ ืงืขืจืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ Rust for PowerPC ืกื™ืกื˜ืขืžืขืŸ.
  • ื“ื™ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™ืข ืœืกืข (ืกื™ืกื˜ืขืžืก ืคืึธืจืฉื•ื ื’ ืœืึทื‘ืึธืจืึทื˜ืึธืจื™) ื”ืื˜ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืึท SPI ืฉืึธืคืขืจ ืื™ืŸ ืจื•ืกื˜.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’