Linus Torvalds เป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust เปƒเบ™ Linux kernel

Linus Torvalds เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเบ™เบ—เบฐเบ™เบฒ เป‚เบญเบเบฒเบ” เป€เบžเบตเปˆเบกเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เบžเบฒเบชเบฒ Rust เบเบฑเบš Linux kernel. Josh Triplett เบˆเบฒเบ Intel, เป€เบฎเบฑเบ”เบงเบฝเบเบเปˆเบฝเบงเบเบฑเบš เป‚เบ„เบ‡เบเบฒเบ™ เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบฒเบชเบฒ Rust เบกเบตเบ„เบงเบฒเบกเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบšเบžเบฒเบชเบฒ C เปƒเบ™เบ‚เบปเบ‡เป€เบ‚เบ”เบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบฅเบฐเบšเบปเบš, เปเบ™เบฐเบ™เปเบฒ เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เปƒเบซเป‰เป€เบžเบตเปˆเบกเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบซเป‰เบเบฑเบš Kconfig เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Rust, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบšเปเปˆเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบฅเบงเบกเบ•เบปเบงเบเบฑเบ™เบ‚เบญเบ‡ Rust compiler เป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡เปƒเบ™เป‚เบซเบกเบ” "make allnoconfig" เปเบฅเบฐ "เป€เบฎเบฑเบ” allyesconfig" เปเบฅเบฐเบˆเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบŸเบฃเบตเบเบฑเบšเบฅเบฐเบซเบฑเบ” Rust. trick เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฑเบš เป€เบžเบตเปˆเบก เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบซเบผเบฑเบเบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบšเปƒเบ™ Clang เปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡ (LTO, Link Time Optimization), เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบก. เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ เบชเป‰เบฒเบ‡เบ”เป‰เบงเบเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบเบฐเบ—เบนเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ (CFI, Control-Flow Integrity).

Linus เบšเปเปˆเป€เบซเบฑเบ™เบ”เบตเปเบฅเบฐเบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบเบฑเบ‡เบงเบปเบ™เบงเปˆเบฒเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบš Rust เบˆเบฐเบšเปเปˆเบ–เบทเบเบ—เบปเบ”เบชเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปเบฅเบฐเบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ•เปเปˆเบเบฒเบ™เบ•เบดเบ”เบขเบนเปˆเปƒเบ™ swamp เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เปƒเบ™เบเบธเปˆเบกเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ—เบตเปˆเบชเบปเบ™เปƒเบˆเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบฅเบฐเบซเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเบžเบฒเบเปƒเบ•เป‰เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปเบฅเบฐเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบœเบดเบ”. เบชเบดเปˆเบ‡เบ•เปˆเบฒเบ‡เป†เบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเบกเบฑเบ™เบ–เบทเบเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เปเบฅเบฐเบšเปเปˆเบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™เป€เบกเบทเปˆเบญเบ—เบปเบ”เบชเบญเบš kernel เปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบญเบทเปˆเบ™เป†.

เบญเบตเบ‡เบ•เบฒเบก Linus, เบ„เบปเบ™เบ‚เบฑเบš Rust เบ—เปเบฒเบญเบดเบ”เบ„เบงเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเป€เบซเบ™เบตเปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบฅเบงเปเบกเปˆเบ™เป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เปเบฅเบฐเบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบเบงเบ”เบžเบปเบš. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ‡เปˆเบฒเบเบ”เบฒเบ, เบฅเบฒเบงเป„เบ”เป‰เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เป€เบฎเบฑเบ”เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบชเบฐเบšเบฑเบš C compiler เปเบฅเบฐเบ—เบธเบ‡เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ - เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบกเบต Rust compiler เปƒเบ™เบฅเบฐเบšเบปเบšเปเบฅเบฐเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ‚เบญเบ‡เบกเบฑเบ™เบ–เป‰เบฒเบกเบฑเบ™เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡.

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

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